IPv6进阶:IPv6过渡技术之6to4自动隧道

通信网络

633人已加入

描述

实验拓扑

网络

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

 

  审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分