CentOS 中的 SNMP 关闭状态

CentOS 中的 SNMP 关闭状态

我在这里遇到了一个问题,我已将以下内容添加到我的 IPtables 规则中:

-A INPUT -p tcp -m state --state NEW -m tcp --dport 161 -j ACCEPT
-A INPUT -p udp -m state --state NEW -m udp --dport 161 -j ACCEPT

但是当我使用 nmap 或任何其他工具扫描时,它显示以下内容:

Not shown: 998 filtered ports
PORT    STATE  SERVICE
22/tcp  open   ssh
161/tcp closed snmp

当我这样做时:

netstat -apn | grep snmpd
tcp        0      0 127.0.0.1:199               0.0.0.0:*                   LISTEN      3669/snmpd<br>
udp        0      0 0.0.0.0:161                 0.0.0.0:*                               3669/snmpd<br>
unix  2      [ ]         DGRAM                    226186 3669/snmpd

还:

service iptables status

Table: filter
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination
1    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
2    ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0
3    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
4    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:161
5    ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           state NEW udp dpt:161
6    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22
7    REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT)
num  target     prot opt source               destination
1    REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination

知道发生了什么吗?没有处于关闭/打开状态的 UDP。我该怎么办?

答案1

默认情况下,snmpd在所有接口上监听 UDP 端口 161。如果您想使用 TCP,则必须在snmpd.conf或 中进行配置/etc/default/snmpd

事实上,nmap将端口 161 视为“已关闭”而不是“已过滤”,这意味着RST当它尝试连接 TCP 端口 161 时,它会收到一个数据包,而不是什么都没有收到。这意味着您的 IPTables 规则运行正常。

相关内容