我正在 CentOS 6.4 64 位元上工作,以 root 身分運行。我正在嘗試設定係統 snmpd 代理,以便它偵聽 161 以外的端口,例如 8001 /etc/snmp/snmpd.conf
。
agentAddress udp:127.0.0.1:8001
並使用 重新啟動服務/etc/init.d/snmpd restart
。這很簡單。然而,我嘗試了一些方法,但在 CentOS 上沒能做到這一點,即 snmpd 將無法啟動。
當我嘗試使用 snmpd.conf 中的該行運行它時,這些是 /var/log/messages 中寫入的最後兩行:
Oct 13 15:47:40 localhost snmpd[4775]: Error opening specified endpoint "udp:127.0.0.1:8001"
Oct 13 15:47:40 localhost snmpd[4775]: Server Exiting with code 1
另一方面,如果我直接運行該程序,它將啟動並愉快地打開連接埠 8001:
/usr/sbin/snmpd udp:127.0.0.1:8001
或者:
/usr/sbin/snmpd udp:8001
兩種方法都有效。
我已經用谷歌搜尋並閱讀了相關內容/etc/sysconfig/snmpd
,但是在這個文件中添加一些選項也不起作用。有關信息,我禁用了 iptables ( ipdatables -F
)。
有人可以幫我解決這個問題嗎?
先謝,安東尼奧
答案1
如何在 CentOS 6.x 上讓 snmpd 偵聽 161 以外的連接埠:
如果尚未安裝,請安裝這些 snmp 軟體包:
sudo yum install net-snmp net-snmp-utils
選擇一個適合您的連接埠號不包含在/etc/services
。
假設我選擇了58001。
在 中新增以下行/etc/snmp/snmpd.conf
:
agentAddress udp:58001
啟動服務:
service snmpd start
和/或在系統啟動時啟用 snmpd 自動啟動:
sudo chkconfig --add snmpd
sudo chkconfig snmpd on