2011-11-14 66 views
2

我正在使用snmp查詢和設置一些OID在IPv6模式下。我使用下面的snmp命令。我已檢查並配置它以聽取udp6:161。snmpset/get returns超時:沒有響應ipv6

snmpget -cpublic -v2c udp6:[2001:db8:3c4d::41a9:8e4e:a094:3840] .1.3.6.1.4.1.1429.5.1.1.2.5.6.0 

它給人的結果作爲

Timeout: No Response from udp6:[2001:db8:3c4d::41a9:8e4e:a094:3840] 

使用ping檢查時給出的IP地址還活着。將conf文件更改爲包含rwcommunity6和rocommunity6。我究竟做錯了什麼?

+0

設置它當您在被查詢的計算機上嗅探界面時,wireshark會告訴您什麼?您確定SNMP Agent具有綁定到上述IPv6地址的偵聽器嗎? –

+0

wireshark有一個獲取/設置請求的行。沒有發現響應語句..沒有錯誤,例如端口不可達 – Sathya

+2

請確保您沒有防火牆阻止此流量。還請檢查lsof或netstat是否確實在收聽您的IPv6套接字。您可以將'r?community6'添加到配置中,但是如果您沒有將偵聽地址添加到snmpd命令(例如,udp6:161),那麼snmpd將不偵聽IPv6套接字。 – Cougar

回答

2

正如Cougar在評論中所說的,你必須告訴snmpd來監聽ipv6地址。默認情況下,snmpd只偵聽udp4 :.爲了讓它聽到多個傳輸,你應該指定每個:

snmpd udp: udp6: 

例如。另外,因爲如果傳入數據包被拒絕授權,代理將不會響應,您可以始終使用轉儲標誌(-d)運行snmpd以顯示它正在接收的流量。如果它沒有收到它,你會發現一個問題。但如果它沒有迴應,你就找到了另一個。確保你在前臺運行它(-f),並記錄到stderr(-Le):

snmpd -f -Le -d udp: udp6: 
+0

如何更改此程序 – anish

+0

在snmpd.conf文件中,您可以放置​​'agentaddress udp:udp6:'。或者你可以使用'snmpd_set_agent_address()'函數,如果你想在C中使用。 –

0

是它在爲這個命令?

snmpget -v 2c -c public localhost .1.3.6.1.2.1.1.1.0 

它應該給系統說明。如果是,那麼它已被正確設置。否則,您需要使用命令snmpconf -g basic_setup

+0

是的。問題是監聽端口。在conf文件中添加udp:161和rwcommunity6和rocommunity6後,它工作正常。多謝你們! – Sathya