CentOS/RHEL如何修改snmp服务监听另一个端口

snmp 服务的默认侦听端口号为 161。如何修改它?

注意:类似地,对于每个服务,都会有一个服务绑定到的端口。

有一个常见的错误概念,即端口映射是通过 /etc/services 文件完成的。
这只是一个别名映射,供用户在跨网络连接时参考。
重新映射/etc/services 文件中的端口的协议并不意味着该端口被防火墙阻止或者解除阻止或者明确再次映射该服务。
可以按照如下所示的步骤进行更改。
保持文件 /etc/services 完整是一个很好的做法,因为它是一个很好的参考点。

  1. 确保使用 service 命令启动服务。
# service snmpd restart
Stopping snmpd:                                            [  OK  ]
Starting snmpd:                                            [  OK  ]
# service snmpd status 
snmpd (pid  14222) is running...
  1. 下面的命令有助于列出服务正在监听的当前端口
# 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

  1. 在任何编辑器中打开以下文件并取消注释以“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"
  1. 重新启动服务以使更改生效。
# service snmpd restart
Stopping snmpd:                                            [  OK  ]
Starting snmpd:                                            [  OK  ]
  1. 下面的输出显示了新的端口。
# 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