snmp 服务的默认侦听端口号为 161。如何修改它?
注意:类似地,对于每个服务,都会有一个服务绑定到的端口。
有一个常见的错误概念,即端口映射是通过 /etc/services 文件完成的。
这只是一个别名映射,供用户在跨网络连接时参考。
重新映射/etc/services 文件中的端口的协议并不意味着该端口被防火墙阻止或者解除阻止或者明确再次映射该服务。
可以按照如下所示的步骤进行更改。
保持文件 /etc/services 完整是一个很好的做法,因为它是一个很好的参考点。
- 确保使用 service 命令启动服务。
# service snmpd restart Stopping snmpd: [ OK ] Starting snmpd: [ OK ]
# service snmpd status snmpd (pid 14222) is running...
- 下面的命令有助于列出服务正在监听的当前端口
# netstat -npl | grep snmp tcp 0 0 127.0.0.1:199 0.0.0.0:* LISTEN 14222/snmpd udp 0 0 0.0.0.0:161 0.0.0.0:* 14222/snmpd
# lsof -Pnl +M -i4 | grep -i snmp snmpd 14222 0 9u IPv4 811629 0t0 TCP 127.0.0.1:199 (LISTEN) snmpd 14222 0 11u IPv4 811630 0t0 UDP *:161
这里,
-i4 用于 ipv4
-i6 用于 ipv6
- 在任何编辑器中打开以下文件并取消注释以“OPTIONS”开头的行并添加要监听的代理。
有关更多信息,请参阅 snmpd.conf 和 snmpd 上的手册页。
# vi /etc/sysconfig/snmpd.options
# cat /etc/sysconfig/snmpd.options # snmpd command line options OPTIONS="-Lsd -Lf /dev/null -p /var/run/snmpd.pid -a -x tcp:127.0.0.1:801 udp:127.0.0.1:802"
- 重新启动服务以使更改生效。
# service snmpd restart Stopping snmpd: [ OK ] Starting snmpd: [ OK ]
- 下面的输出显示了新的端口。
# netstat -npl | grep snmp tcp 0 0 127.0.0.1:801 0.0.0.0:* LISTEN 14255/snmpd tcp 0 0 127.0.0.1:199 0.0.0.0:* LISTEN 14255/snmpd udp 0 0 127.0.0.1:802 0.0.0.0:* 14255/snmpd
# lsof -Pnl +M -i4 | grep -i snmp snmpd 14255 0 9u IPv4 811826 0t0 TCP 127.0.0.1:801 (LISTEN) snmpd 14255 0 11u IPv4 811827 0t0 TCP 127.0.0.1:199 (LISTEN) snmpd 14255 0 12u IPv4 811828 0t0 UDP 127.0.0.1:802
注意:对于 CentOS/RHEL 6.x 版本,文件是 /etc/sysconfig/snmpd 和 /etc/sysconfig/snmptrapd。
日期:2020-09-17 00:12:35 来源:oir作者:oir