所以今天早上,我一直在尝试使用我在 reddit 上找到的指南在我的网络上配置 IPv6http://ipv6friday.org/blog/2012/06/ipv6-enabling-training/。现在乍一看,这似乎是可行的,但是,我正在测试的机器虽然正确地从范围内获取了一个地址,但却没有按照我期望的方式路由 IPv6,正如演示中所示:
[服务器]“ping6 -c 3 www.facebook.com”的输出
PING www.facebook.com(www6-slb-10-03-frc1.facebook.com) 56 data bytes
64 bytes from www6-slb-10-03-frc1.facebook.com: icmp_seq=1 ttl=47 time=133 ms
64 bytes from www6-slb-10-03-frc1.facebook.com: icmp_seq=2 ttl=47 time=132 ms
64 bytes from www6-slb-10-03-frc1.facebook.com: icmp_seq=3 ttl=47 time=133 ms
--- www.facebook.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 132.464/133.152/133.669/0.506 ms
和
[客户端]“ping6 -c 3 www.facebook.com”的输出
PING www.facebook.com(www6-slb-10-03-frc1.facebook.com) 56 data bytes
--- www.facebook.com ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 2016ms
相关配置的副本如下。我已将使用的范围部分匿名化:
[服务器] /etc/radvd.conf
interface eth0 {
AdvSendAdvert on;
MinRtrAdvInterval 3;
MaxRtrAdvInterval 10;
AdvHomeAgentFlag off;
prefix 2a01:348:6:XXX::/64 {
AdvOnLink on;
AdvAutonomous on;
AdvRouterAddr off;
};
RDNSS 2a01:348:6:XXX::2 {
AdvRDNSSLifetime 30;
};
};
[客户端]“sudo ifconfig”的输出
wlan0 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:dd
inet addr:192.168.1.31 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: 2a01:348:6:XXX:XXX:feff:fe81:70dd/64 Scope:Global
inet6 addr: fe80::c617:XXX:XXX:70dd/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:99921 errors:0 dropped:0 overruns:0 frame:0
TX packets:74457 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:103144730 (103.1 MB) TX bytes:10523791 (10.5 MB)
[客户端]“ip -6 route show dev wlan0”的输出
2a01:348:6:XXX::/64 proto kernel metric 256 expires 86405sec
fe80::/64 proto kernel metric 256
default via fe80::202:XXX:XXX:7345 proto kernel metric 1024 hoplimit 64
现在我的想法是,默认情况下,这是尝试通过环回路由 IPv6,而不是使用通过 2a01 的其他路由。我的问题是,这里发生了什么,我如何更改默认路由?
提前致谢!
编辑
根据要求,从服务器到 Facebook 的跟踪路由:
[服务器]“traceroute -6 www.facebook.com”的输出
matthew@192:~$ traceroute -6 www.facebook.com
traceroute to www.facebook.com (2a03:2880:2110:3f03:face:b00c::), 30 hops max, 80 byte packets
1 gw-1459.lon-02.gb.sixxs.net (2a01:348:6:5b2::1) 80.071 ms 81.407 ms 81.361 ms
2 gblon02.sixxs.net (2a01:348:0:4:0:3:1:1) 81.271 ms 95.160 ms 109.436 ms
3 ge-0-0-5-20.cs0.thw.uk.goscomb.net (2a01:348:0:4:0:3:0:1) 109.430 ms 109.065 ms 109.004 ms
4 xe-0-1-1.cs0.the.uk.goscomb.net (2a01:348::36:1:1) 108.915 ms 108.905 ms 108.815 ms
5 xe-0-1-0.cs0.gs2.uk.goscomb.net (2a01:348::24:1:1) 110.143 ms 110.089 ms 110.033 ms
6 xe-0-1-0-0.cs1.gs2.uk.goscomb.net (2a01:348::40:1:1) 109.943 ms 46.947 ms 47.509 ms
7 xe-0-1-0.cs0.sov.uk.goscomb.net (2a01:348::41:1:1) 53.724 ms 53.645 ms 54.847 ms
8 ge-1-1-5.rt0.sov.uk.goscomb.net (2a01:348::17:0:1) 56.107 ms 58.176 ms 59.559 ms
9 lonap.he.net (2001:7f8:17::1b1b:1) 63.359 ms 63.270 ms 65.433 ms
10 2001:7f8:4::80a6:1 (2001:7f8:4::80a6:1) 175.217 ms 142.380 ms 174.992 ms
11 xe-3-3-0.bb02.iad2.tfbnw.net (2620:0:1cff:dead:beef::24d) 146.202 ms 148.312 ms 149.878 ms
12 ae9.bb02.frc1.tfbnw.net (2620:0:1cff:dead:beef::d6) 126.861 ms 127.347 ms 128.946 ms
13 ae2.dr01.frc1.tfbnw.net (2620:0:1cff:dead:beef::97) 129.830 ms ae2.dr02.frc1.tfbnw.net (2620:0:1cff:dead:beef::9b) 130.823 ms 132.602 ms
14 2620:0:1cff:dead:beee::163 (2620:0:1cff:dead:beee::163) 134.811 ms 2620:0:1cff:dead:beee::15d (2620:0:1cff:dead:beee::15d) 137.022 ms 2620:0:1cff:dead:beee::153 (2620:0:1cff:dead:beee::153) 139.157 ms
并从仍启用 IPv6 的客户端通过 radvd
[客户端]“traceroute -6 www.facebook.com”的输出
matthew@matthew-laptop:~$ traceroute -6 www.facebook.com
traceroute to www.facebook.com (2a03:2880:2110:3f01:face:b00c::), 30 hops max, 80 byte packets
1 * * *
2 * * *
3 * * *
4 * * *
5 * * *
6 * * *
7 * * *
8 * * *
9 * * *
10 * * *
11 * * *
12 * * *
13 * * *
14 * * *
15 * * *
16 * * *
答案1
您实际上请求的是子网,而不仅仅是隧道吗?您需要将另一个子网路由到隧道端点,您不能直接使用隧道子网:
https://www.sixxs.net/faq/connectivity/?faq=usingsubnet
https://www.sixxs.net/home/requestsubnet/
如何与子网上的其他主机建立连接?
使用子网的最简单方法是为每个网络分配一个 /64,然后设置路由器广告服务器。由于 SixXS 为每个隧道提供 /48(所谓的站点前缀)作为子网,因此您可以在站点内拥有 65535 个 /64,从而拥有子网。/48 是终端站点,因此不应委托给其他管理员。
在 Linux 下,此路由器通告 (RA) 服务器称为 radvd,*BSD (KAME 堆栈) 将其称为 rtadvd。然后可以使用 RFC 2462(又称“IPv6 无状态地址自动配置”)配置客户端。
请注意,在 /64 的隧道中,只有 ::1(PoP)和 ::2(您的端点)可供使用,因为其余部分未被路由。
但是,“默认路由 /64”是一个路由子网,它被路由到隧道的端点,因此可以直接用于连接隧道后面单独链路上的主机。但是,如果您需要在端点后面提供多个 /64,则需要请求一个子网。
站点被定义为具有单一管理的网络。一旦管理发生变化,站点就会发生变化。因此,如果您有一栋建筑由管理组 X 管理,另一栋建筑由管理组 Y 管理,那么它们就是两个站点。当然,当管理组 X 和 Y 都属于 A 组时,它们仍然可以被视为一个站点。