snmpd没有侦听Ubuntu服务器上的端口161

时间:2012-04-16 04:19:08

标签: linux ubuntu snmp

我已经通过 apt-get install snmpd snmp 在我的Ubuntu服务器上安装了snmpd。然后我更改了/ etc / default / snmpd

中的行
SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -g snmp -I -smux -p /var/run/snmpd.pid 0.0.0.0'

之后,我重新启动了snmpd服务器( /etc/init.d/snmpd restart )。但是,当我运行 netstat -an |时grep“LISTEN”,我没有看到snmpd正在侦听端口161.

我没有阻止该端口的防火墙。

$ sudo iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

2 个答案:

答案 0 :(得分:4)

用户" nos"是正确的; UDP绑定不会显示为" LISTEN"在" netstat"。相反,您将看到如下所示的一行或两行,显示" snmpd"确实准备好接收UDP端口161上的数据了:

Proto Recv-Q Send-Q Local Address  Foreign Address  State  PID/Program name
udp        0      0 0.0.0.0:161    0.0.0.0:*               1785/snmpd      
udp6       0      0 ::1:161        :::*                    1785/snmpd

" netstat" manpage有关于" State"柱:

  

套接字的状态。由于在原始模式下没有状态,并且UDP中通常没有使用状态,因此该列可以留空。

因此,你不会期望看到“#34; LISTEN"这里。


然而,从实际角度来看,我还有一件事需要注意。通常,默认的Net-SNMP" snmpd.conf"配置文件将传入连接限制为仅限本地进程。

默认/etc/snmp/snmpd.conf

#  Listen for connections from the local system only
agentAddress  udp:127.0.0.1:161
#  Listen for connections on all interfaces (both IPv4 *and* IPv6)
#agentAddress udp:161,udp6:[::1]:161,tcp:161,tcp6:[::1]:161

通常,设置" snmpd"是这样的另一台机器可以监控它。要完成此操作,请确保第一行已注释掉,第二行已启用。

答案 1 :(得分:1)

看起来 正在侦听161 / UDP。来自man page

  

默认情况下,snmpd在所有IPv4接口上侦听UDP端口161上的传入SNMP请求。但是,可以通过将一个或多个侦听地址指定为snmpd的参数来修改此行为。收听地址采用以下形式:[<transport-specifier>:]<transport-address>

阅读手册页了解更多详情