我已经拥有一个运行良好的 IPv6 网络(由 HE-Tunnelbroker 提供)一段时间了。在我的 Android 手机上,一切仍然运行良好。
但是自从更新到 Ubuntu 15.04 后,我的 IPv6 连接就无法工作了。(由于 HL 超出而无法 ping 任何内容),但是 traceroute 可以工作。
经过一些数据包捕获使用 wireshark 我发现,几乎所有 IPv6 数据包都是以跳数限制 0 发送的。唯一的例外是 traceroute 工具,它手动指定 HL。
$ping6 2a00:eb0:100::1
PING 2a00:eb0:100::1(2a00:eb0:100::1) 56 data bytes
From 2001:470:2042:15:: icmp_seq=1 Time exceeded: Hop limit
From 2001:470:2042:15:: icmp_seq=2 Time exceeded: Hop limit
From 2001:470:2042:15:: icmp_seq=3 Time exceeded: Hop limit
^C
--- 2a00:eb0:100::1 ping statistics ---
3 packets transmitted, 0 received, +3 errors, 100% packet loss, time 2016ms
$traceroute6 2a00:eb0:100::1
traceroute to 2a00:eb0:100::1 (2a00:eb0:100::1) from 2001:470:2070:15:d513:6f03:bdaf:3d7b, 30 hops max, 24 byte packets
1 2001:470:2042:15:: 0.45 ms 0.347 ms 0.333 ms
2 2001:470:1f1a:4242::1 22.826 ms 22.893 ms 22.98 ms
3 2001:470:0:2ba::1 22.352 ms 22.407 ms 22.787 ms
4 2001:470:0:2b3::1 39.441 ms 28.973 ms 28.566 ms
5 2001:7f8:30:0:2:1:3:9912 56.771 ms 41.27 ms 42.054 ms
6 2a01:f8:666:70:81:94:57:76 41.417 ms 41.567 ms 40.937 ms
7 2a01:f8:1:2:1:1:11:2 50.385 ms 51.238 ms 51.297 ms
8 2a01:100:1027:77::2 50.967 ms 50.996 ms 50.967 ms
9 2a00:eb0:100:815::20 50.919 ms 50.928 ms 50.247 ms
10 2a00:eb0:100:1000::1 53.559 ms 51.84 ms 52.188 ms
$ifconfig eth0
eth0 Link encap:Ethernet Hardware Adresse 42:42:80:7a:62:94
inet Adresse:10.15.255.252 Bcast:10.15.255.255 Maske:255.255.0.0
inet6-Adresse: 2001:470:2042:15:4242:80ff:fe7a:6294/64 Gültigkeitsbereich:Global
inet6-Adresse: 2001:470:2042:15:d513:6f03:bdaf:3d7b/64 Gültigkeitsbereich:Global
inet6-Adresse: fe80::4242:80ff:fe7a:6294/64 Gültigkeitsbereich:Verbindung
UP BROADCAST RUNNING MULTICAST MTU:1500 Metrik:1
RX-Pakete:40876 Fehler:0 Verloren:0 Überläufe:0 Fenster:0
TX-Pakete:30562 Fehler:0 Verloren:0 Überläufe:0 Träger:0
Kollisionen:0 Sendewarteschlangenlänge:1000
RX-Bytes:45527753 (45.5 MB) TX-Bytes:3439757 (3.4 MB)
注:出于隐私原因,IPv6 地址被混淆
答案1
我想出了一个临时的解决方案,在您重新启动电脑之前它可以起作用。
#echo 64 > /proc/sys/net/ipv6/conf/eth0/hop_limit