我已经通过 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
答案 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>
阅读手册页了解更多详情