Debian Wheezy 不响应 ICMPv6 邻居请求

Debian Wheezy 不响应 ICMPv6 邻居请求

你好呀。

我管理一些 Wheezy 服务器,所有服务器都启用了 IPv6。它们都有一个全局 IPv6 /64 块,使用块中的第一个地址作为主地址,即:

root@Host /h/david# ifconfig
eth0      Link encap:Ethernet  HWaddr 4c:72:b9:56:03:6e  
          […]
          adr inet6: fe80::4e72:b9ff:fe56:36e/64 Scope:Lien
          adr inet6: 2001:1234:1234:1234::1/64 Scope:Global
          […]

我最近发现,即使在接口上配置了整个块,也只有块定义中的块(此处2001:1234:1234:1234::1)会响应 IPv6 请求。例如,如果我 ping2001:1234:1234:1234::2或,则不会得到任何响应。我已经检查了防火墙,它允许所有 ICMPv6 请求通过,包括 NDP 请求,但 NDP 对我来说仍然是个问题:Wheezy 不会响应邻居请求。以下是我在ing时收听时2001:1234:1234:1234::42得到的结果:tcpdumpping

root@Host /h/david# tcpdump icmp6
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode                                            
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes                                              
10:55:23.224447 IP6 fe80::264:40ff:fe3a:fac0 > ff02::1:ff00:55: ICMP6, neighbor solicitation, who has 2001:1234:1234:1234::55, length 32                                                                                                       
10:55:24.311669 IP6 fe80::264:40ff:fe3a:fac0 > ff02::1:ff00:55: ICMP6, neighbor solicitation, who has 2001:1234:1234:1234::55, length 32                                                                                                       
10:55:25.392511 IP6 fe80::264:40ff:fe3a:fac0 > ff02::1:ff00:55: ICMP6, neighbor solicitation, who has 2001:1234:1234:1234::55, length 32                                                                                                       
^C

如您所见,Wheezy 不会响应邻居请求。我考虑过内核参数,但我没有更改任何参数,我不明白为什么默认配置会忽略 NDP 数据包,而据我所知,这些数据包至关重要。此外,我尝试更改以下参数:

root@Host /h/david# sysctl -w net.ipv6.conf.all.accept_ra=1     
net.ipv6.conf.all.accept_ra = 1                                   
root@Host /h/david# sysctl -w net.ipv6.conf.default.accept_ra=1 
net.ipv6.conf.default.accept_ra = 1                               
root@Host /h/david# sysctl -w net.ipv6.conf.eth0.accept_ra=1    
net.ipv6.conf.eth0.accept_ra = 1                                  

这也不起作用。有人知道为什么 Wheezy 不回应邻居的请求吗?

希望了解问题出在哪里,

问候。

答案1

您没有在接口上配置整个地址块。在您的示例中,您仅配置了一个来自 /64 子网的地址。

例如,当您配置时192.168.1.1/24192.168.1.1/255.255.255.0采用预 CIDR 表示法),您会192.168.1.1在子网 ( 192.168.1.0/24) 中配置一个地址 ( )。IPv6 的工作方式完全相同。

Wheezy 在这里做了正确的事情。

相关内容