Ipv6
Debian Wheezy 不響應 ICMPv6 鄰居請求
你好呀。
我管理一些啟用了 IPv6 的 Wheezy 伺服器。它們都有一個全域 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
或2001:1234:1234:1234::42
,我沒有得到任何答复。我已經檢查了防火牆,它允許所有 ICMPv6 請求通過,包括 NDP 請求,但 NDP 對我來說仍然是一個問題:Wheezy 不響應鄰居請求。以下是tcpdump
我邊聽邊聽的內容ping
: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 不回應鄰居的請求嗎?
希望了解問題出在哪裡
問候。
您無需在界面上配置整個地址塊。在您的範例中,您僅從 /64 子網配置了一個地址。
例如,當您配置時
192.168.1.1/24
(192.168.1.1/255.255.255.0
採用 pre-CIDR 表示法),您192.168.1.1
在子網 ( ) 中配置一個地址 (192.168.1.0/24
)。IPv6 的工作方式完全相同。Wheezy 在這裡做的是正確的事。