2012-04-16 153 views
1

我已通過在我的Ubuntu服務器上安裝了snmpd apt-get install snmpd snmp。後來我改了行中的/ etc /默認/ SNMPDsnmpd未在Ubuntu服務器上的端口161上偵聽

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重啓)。但是,當我運行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

偏離主題;屬於[sf]。另外,你是否在尋找一個snmpd日誌文件? 「snmpd」進程是否正在運行?如果運行'netstat -nap | grep [pid-of-snmpd-process]',你會得到什麼? – 2012-04-16 05:03:55

+0

是,它的運行和進程ID是23592.須藤netstat的-nap | grep的23592 UDP 0 0 0.0.0.0:161 0.0.0.0:* 23592/SNMPD UNIX 2 [] DGRAM 2985974 23592/SNMPD – user612308 2012-04-16 06:10:52

+2

SNMP使用UDP,你不會在netstat中看到處於監聽狀態的任何TCP套接字..(UDP套接字永遠不會處於監聽狀態) – nos 2012-04-16 07:27:25

回答

1

看起來它監聽161/UDP。從man page

默認情況下,snmpd在所有IPv4接口上偵聽UDP端口161上的傳入SNMP請求。但是,可以通過將一個或多個偵聽地址指定爲snmpd的參數來修改此行爲。聽音地址採用以下形式:[<transport-specifier>:]<transport-address>

閱讀手冊頁瞭解更多細節

3

用戶「不」是正確的; 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 

的「netstat的」手冊頁有這麼一段關於「國家」列:

套接字的狀態。由於在原始模式下沒有狀態,並且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 

一般,設置 「SNMPD」 的點是,使得另一機可監視它。要做到這一點,請確保第一行被註釋掉,並且第二行被啓用。

+0

感謝您的第二個筆記。它拯救了我的一天。 +1 – ALH 2015-08-23 09:26:46

相關問題