Routing

使用 Sixxs 在 radvd 上配置 ipv6,路由不起作用

  • June 18, 2012

所以今天早上,我一直在嘗試使用我在http://ipv6friday.org/blog/2012/06/ipv6-enabling-training/上的 reddit(所有地方)上找到的指南在我的網路上配置 IPv6 。現在乍一看,這似乎是有效的,但是,我正在測試的機器雖然從該範圍內正確獲取地址,但並沒有按照我所期望的那樣路由 IPv6:

$$ server $$“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

$$ client $$“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

相關配置的副本如下。我已經部分匿名了使用的範圍:

$$ server $$/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;

   };
};

$$ client $$“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)

$$ client $$“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 的跟踪路由:

$$ server $$“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

並且從仍然通過 radvd 啟用 IPv6 的客戶端

$$ client $$“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  * * *

您是否真的請求了子網,而不僅僅是隧道?您需要另一個子網路由到您的隧道端點,您不能直接使用隧道子網:

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 服務,您將需要請求一個子網。

站點被定義為具有單一管理的網路。管理髮生變化的那一刻,一個在不同的站點。因此,如果您有 1 棟由管理組 X 運營的建築物和另一棟由管理員 Y 運營的建築物,那麼它們就是兩個站點。當然,當 X 組和 Y 組在管理上都屬於 A 組時,它們仍然可以被視為需要的單個站點。

引用自:https://serverfault.com/questions/399520