實驗拓撲
R1-R3-R2之間的網絡為IPv4公網;
PC1及PC2處于IPv6孤島。
實驗需求
R1及R2為IPv6/IPv4雙棧設備;
在R1及R2上部署6to4自動隧道使得PC1及PC2能夠互相訪問。
實驗步驟及配置
Internet Router的配置如下
?
[R3]?interface?GigabitEthernet0/0/0 [R3-GigabitEthernet0/0/0]?ip?address?200.1.1.2?24 [R3]?interface?GigabitEthernet0/0/1 [R3-GigabitEthernet0/0/1]?ip?address?200.2.2.1?24
?
R1的配置如下:
?
#完成IPv4接口部分的配置: [R1]?interface?GigabitEthernet0/0/0 [R1-GigabitEthernet0/0/0]?ip?address?200.1.1.1?24 [R1]?ip?route-static?0.0.0.0?0?200.1.1.2
#完成IPv6接口部分的配置: [R1]?ipv6 [R1]?interface?GigabitEthernet0/0/1 [R1-GigabitEthernet0/0/1]?ipv6?enable [R1-GigabitEthernet0/0/1]?ipv6?address?20020101::FFFF?64?#配置IPv6全局單播地址 [R1-GigabitEthernet0/0/1]?undo?ipv6?nd?ra?halt??#(可選)取消ra消息的抑制,使得下聯的PC能夠通過無狀態自動配置的方式獲取地址
#配置6to4?Tunnel: [R1]?Interface?tunnel?0/0/0 [R1-Tunnel0/0/0]?tunnel-protocol?ipv6-ipv4?6to4 [R1-Tunnel0/0/0]?ipv6?enable [R1-Tunnel0/0/0]?source?200.1.1.1 [R1-Tunnel0/0/0]?ipv6?address?auto?link-local?#注意如果不為tunnel口配置全局單播地址則必須為接口配置linklocal地址,否則接口的ipv6協議狀態為down,如果配置了全局單播地址則系統將自動配置linklocal地址,因此無需再配置這條命令。 [R1]?Ipv6?route-static?2002::?16?tunnel?0/0/0
?
R1的GE0/0/0接口連接Internet,地址為200.1.1.1/24,這個地址是公網IP地址,是全局可路由的。當我們不熟6to4自動隧道時,使用該公網IPv4地址進行映射得到對應的6to4 IPv6地址空間“20020101/48”,其中“C801:0101”換算成十進制就是200.1.1.1。我們將這個地址空間的一個/64子網用于R1的GE0/0/1接口和PC1所在的網絡。關于這個知識點在下文有詳細的描述。
R2的配置如下:
?
#完成IPv4接口部分的配置: [R2]?interface?GigabitEthernet0/0/0 [R2-GigabitEthernet0/0/1]?ip?address?200.2.2.2?24 [R2]?ip?route-static?0.0.0.0?0?200.2.2.1
#完成IPv6接口部分的配置 [R2]?ipv6 [R2]?interface?GigabitEthernet0/0/1 [R2-GigabitEthernet0/0/1]?ipv6?enable [R2-GigabitEthernet0/0/1]?ipv6?address?20020202::FFFF?64 [R2-GigabitEthernet0/0/1]?undo?ipv6?nd?ra?halt?
#配置6to4?Tunnel: [R2]?Interface?tunnel?0/0/0 [R2-Tunnel0/0/0]?tunnel-protocol?ipv6-ipv4?6to4 [R2-Tunnel0/0/0]?ipv6?enable [R2-Tunnel0/0/0]?source?200.2.2.2 [R2-Tunnel0/0/0]?ipv6?address?auto?link-local [R2]?Ipv6?route-static?2002::?16?tunnel?0/0/0
?
在6to4 自動隧道的解決方案中,我們利用了2002::/16的6to4地址空間。
首先R1及R2都已經有了200.1.1.1及200.2.2.2這類公網的IPv4地址。拿R1來說,我們可以通過R1的公網地址200.1.1.1映射得到該IP對應的2002::/16前綴的6to4公網IPv6地址,如上圖所示,對于R1所在的站點,得到的6to4 IP6地址空間就是20020101::/48,前綴中的前16bits也就是2002是固定的,后面的32bits就是200.1.1.1這個地址對應的16進制數,組裝后就得到/48比特的IPv6地址前綴,這樣一來PC1所在ipv6網絡就可以使用這個ipv6地址來組建網絡:
當PC1要訪問20020202::/48網絡時:
數據包到達R1后,R1發現目的地址是IPv6地址,而且是2002開頭的地址,這是個6to4的IPv6地址,于是從該地址中抽離出C802:0202,得到200.2.2.2這個IPv4地址。然后:
R1在原始IPv6報文的基礎上加裝IPv4頭部,IPv4頭部的源地址為6to4tunnel的源地址,而目的地址為200.2.2.2。數據包被路由到R2后,R2將外層的IPv4頭部剝除,將里頭的IPv6報文轉發給PC2。
?
[R1]?display?ipv6?interface?brief *down:?administratively?down (l):?loopback (s):?spoofing Interface?Physical?Protocol GigabitEthernet0/0/1?up?up [IPv6?Address]?2002101::FFFF Tunnel0/0/0?up?up [IPv6?Address]?FE80:101
PC1>ping?20020202::1 Ping?2002202:?32?data?bytes,?Press?Ctrl_C?to?break From?2002202:?bytes=32?seq=1?hop?limit=253?time=47?ms From?2002202:?bytes=32?seq=2?hop?limit=253?time=31?ms From?2002202:?bytes=32?seq=3?hop?limit=253?time=31?ms From?2002202:?bytes=32?seq=4?hop?limit=253?time=31?ms From?2002202:?bytes=32?seq=5?hop?limit=253?time=47?ms ---?2002202::1?ping?statistics?--- 5?packet(s)?transmitted 5?packet(s)?received 0.00%?packet?loss round-trip?min/avg/max?=?31/37/47?ms
?
審核編輯:湯梓紅
評論
查看更多