我已经通过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'
Run Code Online (Sandbox Code Playgroud)
之后,我重新启动了 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
Run Code Online (Sandbox Code Playgroud)
用户“nos”正确;UDP 绑定不会在“netstat”下显示为“LISTEN”。相反,您将看到如下所示的一两行,表明“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
Run Code Online (Sandbox Code Playgroud)
“netstat”联机帮助页对“State”列有这样的说法:
套接字的状态。由于原始模式下没有状态,UDP 中通常也没有使用状态,因此该列可以留空。
因此,您不会期望在这里看到“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
Run Code Online (Sandbox Code Playgroud)
通常,设置“snmpd”的目的是让另一台机器可以监视它。要实现此目的,请确保注释掉第一行并启用第二行。
| 归档时间: |
|
| 查看次数: |
23709 次 |
| 最近记录: |