知乎上,有人在問我,他配置了ipv6 over ipv4隧道,結果不通?
可能ipv6 over ipv4隧道的配置,對大部分人來說,很簡單。不過,今天龍哥還是親自做個實驗吧!會的同學看看就好了,飄過就好了,勿噴哈~ 權當複習就好了。不會的同學,可以學習一下,然後自己再手動做一遍就更棒了。
學新東西,一定要多問:為什麼?只有多問,你才能更新深刻地掌握新東西。
為什麼會有“ipv6 over ipv4隧道技術”
那是因為IPv4地址已經使用完了,地址不夠了,就有了IPv6地址,但是IPv6和IPv4互相不兼容,可是現網大部分都是IPv4地址,突然一下子全部更換成IPv6地址,這不現實,意味著很多業務需要中斷一下。所以就造成了IPv6形成“孤島”。那怎麼讓IPv6這個“孤島”和IPv4 連通起來呢?這時各種技術就應運而生了,如本期提到的“ipv6 over ipv4隧道技術”,原理大致是:邊界路由收到ipv6報文時,它發現下一跳出接口是tunnel接口,就再封裝IPv4報頭,把IPv6報文當做IPv4的數據部分。這樣到了對端設備,會進行解封裝,把IPv4報頭去掉,得到IPv6報文,然後進行相應的轉發。
一
實驗拓撲
二
配置思路
1、配置各個路由器IP地址。
2、配置IPv4路由,把IPv4網絡打通,本次實驗我就使用靜態路由。
3、配置tunnel隧道,協議使用ipv6-toipv4
4、AR1和AR3各配了環回口lo 0,用來模擬電腦PC,使用IPv6.
5、配置IPv6默認路由。
三
實驗配置
1、AR1#
#
interface GigabitEthernet0/0/0
ip address 12.1.1.1 255.255.255.0
#
#
ip route-static 0.0.0.0 0.0.0.0 12.1.1.2
#
ipv6
#
interface Tunnel0/0/1
ipv6 enable
ipv6 address 2020::1/64
tunnel-protocol ipv6-ipv4
source GigabitEthernet0/0/0
destination 23.1.1.3
#
#
interface LoopBack0
ipv6 enable
ipv6 address 2021::10/64
#
ipv6 route-static 2022:: 64 Tunnel0/0/1
2、AR2#
#
interface GigabitEthernet0/0/0
ip address 12.1.1.2 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 23.1.1.2 255.255.255.0
#
3、AR3#
#
interface GigabitEthernet0/0/0
ip address 23.1.1.3 255.255.255.0
#
#
ip route-static 0.0.0.0 0.0.0.0 23.1.1.2
#
ipv6
#
#
interface Tunnel0/0/1
ipv6 enable
ipv6 address 2020::2/64
tunnel-protocol ipv6-ipv4
source GigabitEthernet0/0/0
destination 12.1.1.1
#
#
interface LoopBack0
ipv6 enable
ipv6 address 2022::30/64
#
#
ipv6 route-static 2021:: 64 Tunnel0/0/1
#
四
驗證
1、在AR1驗證IPv4網絡的連通性:
2、驗證tunnel接口IPv6的連通性:
3、驗證AR1的lo 0 訪問AR3 的lo 0 IPv6網絡的連通性:
註釋:
-a,表示指定源ip地址;
這樣就可以把lo 0當作一臺PC,且為IPv6的地址,去訪問AR3的lo 0.
結論:
我猜知乎這位哥們,要麼全局沒有啟用IPv6,要麼就是沒有配IPv6的路由。
老規矩,我們還是抓個包,看看吧。
在AR3入口抓包,AR1帶源地址ping看看。
從上圖,我們看到隧道源地址和隧道目地址,哪你們為啥是這個地址嗎?
原因是我們配tunnel的時候,是不是已經指定地址了嘛~
怎麼樣?通過抓包,是不是你學到不少東西啦?
比如,你掌握了原來IPv4用協議號41,來表示後面數據部分為IPv6數據包。
你還知道哪些協議號???可以留言評論哈~