我有一台 Debian Jessie 驱动的服务器,它充当我们家庭网络的路由器。我已成功使用 TunnelBroker 设置 IPv6 隧道,并且traceroute
命令成功返回。
以下是我的路线表和输出ip -6 addr
~$ ip -6 route
::/96 dev sit0 proto kernel metric 256
2001:470:1f14:904::1 dev he-ipv6 metric 1024
2001:470:1f14:904::2 dev sit1 proto kernel metric 256
2001:470:1f14:904::/64 dev he-ipv6 proto kernel metric 256
fe80::/64 dev eth0 proto kernel metric 256
fe80::/64 dev eth1 proto kernel metric 256
fe80::/64 dev he-ipv6 proto kernel metric 256
default via 2001:470:1f14:904::1 dev he-ipv6 metric 1024
~$ ip -6 addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
inet6 fe80::5a6d:8fff:febf:1147/64 scope link
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
inet6 fe80::218:71ff:feea:f57b/64 scope link
valid_lft forever preferred_lft forever
4: sit0: <NOARP,UP,LOWER_UP> mtu 1480
inet6 ::192.168.10.1/96 scope global
valid_lft forever preferred_lft forever
inet6 ::188.142.102.214/96 scope global
valid_lft forever preferred_lft forever
inet6 ::127.0.0.1/96 scope host
valid_lft forever preferred_lft forever
5: he-ipv6: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1480
inet6 2001:470:1f14:904::2/64 scope global
valid_lft forever preferred_lft forever
inet6 fe80::bc8e:66d6/64 scope link
valid_lft forever preferred_lft forever
6: sit1: <POINTOPOINT,NOARP> mtu 1480
inet6 2001:470:1f14:904::2/128 scope global
valid_lft forever preferred_lft forever
一个简单的traceroute
命令返回以下内容:
~$ traceroute ipv6.google.com
traceroute to ipv6.google.com (2a00:1450:4013:c00::65), 30 hops max, 80 byte packets
1 roelof-1.tunnel.tserv11.ams1.ipv6.he.net (2001:470:1f14:904::1) 7.770 ms 10.780 ms 7.698 ms
2 v213.core1.ams1.he.net (2001:470:0:7d::1) 10.738 ms 20.527 ms 20.511 ms
3 amsix-router.google.com (2001:7f8:1::a501:5169:1) 11.302 ms 11.284 ms 11.257 ms
4 2001:4860::1:0:8 (2001:4860::1:0:8) 11.487 ms 20.417 ms 11.447 ms
5 2001:4860::8:0:519f (2001:4860::8:0:519f) 11.194 ms 2001:4860::8:0:51a0 (2001:4860::8:0:51a0) 11.178 ms 2001:4860::8:0:519f (2001:4860::8:0:519f) 11.163 ms
6 2001:4860::8:0:519e (2001:4860::8:0:519e) 14.235 ms 2001:4860::8:0:517a (2001:4860::8:0:517a) 12.216 ms 2001:4860::8:0:519e (2001:4860::8:0:519e) 12.179 ms
7 2001:4860::2:0:66f (2001:4860::2:0:66f) 10.875 ms 2001:4860::2:0:66e (2001:4860::2:0:66e) 10.566 ms 13.118 ms
8 * * *
9 ee-in-x65.1e100.net (2a00:1450:4013:c00::65) 12.799 ms 13.025 ms 12.635 ms
我似乎已成功配置为分发 IPv6 地址,如我的 Windows 8.1 Pro 桌面的响应radvd
所示:ipconfig
Ethernet adapter Ethernet:
Connection-specific DNS Suffix . : example.com
IPv6 Address. . . . . . . . . . . : 2001:470:1f14:904:a05b:6fd2:b36b:f9af
Temporary IPv6 Address. . . . . . : 2001:470:1f14:904:d40d:78ad:a2db:30cc
Link-local IPv6 Address . . . . . : fe80::a05b:6fd2:b36b:f9af%2
IPv4 Address. . . . . . . . . . . : 192.168.10.6
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : fe80::218:71ff:feea:f57b%2
192.168.10.1
但是,当我尝试对 ipv6.google.com 执行操作时tracert
,请求超时;
C:\>tracert -6 -h 10 ipv6.google.com
Tracing route to ipv6.l.google.com [2a00:1450:4013:c00::64]
over a maximum of 10 hops:
1 * * * Request timed out.
2 * * * Request timed out.
3 * * * Request timed out.
4 * * * Request timed out.
5 * * * Request timed out.
6 * * * Request timed out.
7 * * * Request timed out.
8 * * * Request timed out.
9 * * * Request timed out.
10 * * * Request timed out.
现在的问题是:如何让我的 LAN 客户端使用 Linux 路由器上的隧道?
我已经做了一些挖掘,但可能就是找不到正确的搜索词来解决我的问题。
编辑:添加radvd
配置
interface eth1
{
AdvSendAdvert on;
MinRtrAdvInterval 5;
MaxRtrAdvInterval 15;
prefix 2001:470:1f14:904::2/64
{
AdvOnLink on;
AdvAutonomous on;
};
};
答案1
一些想法:
- 您是否已启用 ipv6 路由(sysctl -w net.ipv6.conf.all.forwarding=1);可能需要为每个 intf 执行此操作
- 您的 he-net 隧道是否会转发/接受您提供给客户端的 IPv6 地址?如果没有,您将需要 NAT。