2011-11-14 520 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