WOLF-LAB沃尔夫网络实验室中国网络精英的发源地!
24小时咨询热线:173-1636-2402

技术文档

Technical documentation

您当前位置: 首页 > 技术文档 > 详情

EI CCNP培训学习笔记IPv6的前缀重编址,IPv4到IPv6的迁移,6to4隧道

发布日期:2023-06-09 浏览次数:871 来源:赵顺杰

EI CCNP培训学习笔记IPv6的前缀重编址,IPv4到IPv6的迁移,6to4隧道

WOLFLAB网络技术实验室1.jpg

WOLFLAB官方微信:17316362402,关注【WOLF-LAB】实验室,了解思科认证EI CCNP培训课程!

IPv6的前缀重编址

设备只要拥有一个ipv6全球单播地址,且开启了ipv6的单播路由功能便会自动地发送自己ipv6地址的前缀给FF02::1(也就是所有的设备),而作为主机当然可以根据这个前缀和EUI-64自动生成一个ipv6全球单播地址

图片1(30).png

可用生存周期和首选生存周期

首选生存周期:思科设备默认7天,首选生存时间到期了的话,IPv6地址将不能够主动发起链接请求

有效生存周期:思科设备默认30天,如果首选生存周期到期,IPv6地址将不能够主动发起链接请求,但是地址还是可以使用,只能够接收其它地址的连接请求.

EI CCNP培训课程-实验1:

R1(config)#ipv6 unicast-routing

R1(config)#interface g0/0

R1(config-if)#no shutdown

R1(config-if)#ipv6 address 2001:123::1/64

R1(config-if)#ipv6 nd prefix 2001:123::/64 200 100 //更改R1通告前缀的可以生存周期和首选生存周期

R3(config)#interface g0/0

R1(config-if)#no shutdown

R1(config-if)#ipv6 address autoconfig //思科路由器需要手动开启ipv6自动配置

R3#show ipv6 int g0/0 //查看ipv6通过EUI64生成的全球单播地址

观察此时R3的G0/0接口的ipv6地址,会发现可用生存周期和首选生存周期发生了变化.

IPv6的静态路由书写

图片1(31).png

EI CCNP培训课程-实验二:

在R1上面书写静态路由指向出接口G0/0并在R3上配置相同的回包路由,判断:

1. R1是否可以ping通2001:23::3

2. R1是否可以ping通2001:23::2

R1(config)#ipv6 route 2001:23::/64 g0/0

R3(config)#ipv6 route 2001:12::/64 g0/1

R1 ping 2001:23::3 不通

数据包封装 | Dmac:不知道 Smac:R1 G0/0 | Sip: 2001:12::1 Dip : 2001:23::3 |

由于没有R3的mac地址,ICMPv6数据包封装失败

发送NS消息给2001:23::3的被请求节点组播地址,请求其mac地址

数据包封装 | Dmac:3333:FF00:0003 Smac:R1| Sip: 2001:12::1 Dip : FF02::1:FF00:3 | 

R2从G0/0接口能够收到来自于R1发送过来的NS请求消息

由于R2的G0/0接口的ipv6地址是2001:12::2/64 那么R2只加入了一个被请求节点组播 FF02::1:FF00::2 

R2发现目的的被请求阶段组播地址自己根本就没有加入,因此整个数据包看都不看.

至此,通信失败

R1 ping 2001:23::2 不通

数据包封装 | Dmac:不知道 Smac:R1 G0/0 | Sip: 2001:12::1 Dip : 2001:23::2 |

由于没有R2的mac地址,ICMPv6数据包封装失败

发送NS消息给2001:23::2的被请求节点组播地址,请求其mac地址

数据包封装 | Dmac:3333:FF00:0002 Smac:R1| Sip: 2001:12::1 Dip : FF02::1:FF00:2 | 

R2从G0/0接口能够收到来自于R1发送过来的NS请求消息

由于R2的G0/0接口的ipv6地址是2001:12::2/64 那么R2加入了一个被请求节点组播 FF02::1:FF00::2 

因为R2的G0/0接口的ipv6地址和G0/1接口的ipv6地址都加入了相同的被请求节点组播组,因此会接收这个NS消息

但是R2拆开这个NS消息发现请求的是2001:23::2的Mac地址,而自己G0/0的接口是2001:12::2,找的不是它

因此R2不会做出回复

至此,通信失败

究其原因是因为在IPv6当中没有了广播,也就没有ARP,更没有proxy-ARP,没有了代理ARP,在IPv6当中根本就不会代替回复ARP

因此得出结论,在IPv6当中写静态路由尽可能跟下一跳地址..而不是跟出接口(例外:点到点链路,比如cisco的两端都是Serial接口,HDLC封装的点到点链路)

 

IPv6运行动态路由协议的方式

1. RIPNG 

  方法一:

ipv6 router rip xxxx //进程名,本地有效

  interface g0/0

  ipv6 rip xxx enable

  方法二:

interface g0/0

  ipv6 rip xxx enable //直接运行RIPNG,会自动起一个进程

2. EIGRP

ipv6 router eigrp xx

  eigrp router-id x.x.x.x

  interface g0/0

  ipv6 eigrp xx

3. OSPF

ipv6 router ospf 1

  router-id x.x.x.x

  interface g0/0

  ipv6 ospf 1 area 0

图片1(32).png


EI CCNP培训课程-实验三:

R1和R3背后都有一个IPv6站点,R1和R3之间模拟公网,使用的都是IPv4的公网地址.而我们需要利用6to4tunnel技术打通R1和R3背后的ipv6站点.

首先配置公网部分,简单运行一下EIGRP

R1(config)#router eigrp 90

R1(config-router)#no auto-summary

R1(config-router)#network 1.1.12.1 0.0.0.0

R2(config)#router eigrp 90

R2(config-router)#no auto-summary

R2(config-router)#network 1.1.12.2 0.0.0.0

R2(config-router)#network 1.1.23.2 0.0.0.0

R3(config)#router eigrp 90

R3(config-router)#no auto-summary

R3(config-router)#network 1.1.23.3 0.0.0.0

配置两者之间的6to4隧道

R1(config)#interface tunnel 0

R1(config-if)#tunnel mode ipv6ip 6to4 //tunnel模式改为6to4

R1(config-if)#tunnel source 1.1.12.1 //设置tunnel source,这里是公网地址

R1(config-if)#ipv6 enable //开启ipv6,会自动生成link-local地址

R3(config)#interface tunnel 0

R3(config-if)#tunnel mode ipv6ip 6to4

R3(config-if)#tunnel source 1.1.23.3

R3(config-if)#ipv6 enable

配置两者之后的站点地址

在这里需要注意的是,6to4隧道地址必须使用IANA已经预定分好的2002::/16的地址范围,而且并不是这么大的范围随便配

6to4背后的站点ipv6地址必须和6to4的tunnel source地址相同对应

对应的方式是:

将tunnel source 公网ipv4地址的32个bit位,分别对应着2002::/16 6to4预留ipv6地址的第17bit至48bit位

R1:

tunnel source 地址 1.1.12.1

换算成二进制 00000001.00000001.00001100.00000001

更换成16进制数为 0101:0C01

将它们放到6to4地址的对应位置 2002:0101:0C01

因此,R1背后的站点必须使用的IPv6地址范围为 2002:0101:0C01/48

在这里我们利用loopback 0 接口模拟R1背后的站点地址为 2002:0101:0C01::1/64

R1(config)#interface loopback 0

R1(config-if)#ipv6 address 2001:0101:0C01::1/64

R3:

tunnel source 地址 1.1.23.3

换算成二进制 00000001.00000001.00010111.00000011

更换成16进制数为 0101:1703

将它们放到6to4地址的对应位置 2002:0101:1703

因此,R3背后的站点必须使用的IPv6地址范围为 2002:0101:1703/48

在这里我们利用loopback 0 接口模拟R3背后的站点地址为 2002:0101:1703::3/64

R1(config)#interface loopback 0

R1(config-if)#ipv6 address 2002:0101:1703::3/64

但是两站点之间的互访需要路由,而在6to4 tunnel当中由于所有的站点都是用的是2002::/16的地址,可以使用静态路由

R1(config)#ipv6 unicast-routing //开启IPv6路由功能

R1(config)#ipv6 route 2002::/16 tunnel //设置静态路由,出接口为tunnel口

R3(config)#ipv6 unicast-routing //开启IPv6路由功能

R3(config)#ipv6 route 2002::/16 tunnel //设置静态路由,出接口为tunnel口


测试

R1#ping 2002:0101:1703::3

R3#ping 2002:0101:0C01::1

由于是6to4 tunnel,流量进入隧道的时候,会自动地去检测目的IPv6地址的第17bit位-第48bit位,将其换算成为IPv4地址作为了tunnel的destination,如此两者之间能够通过公网ipv4地址实现IPv6站点之间的互访.


https://www.wolf-lab.com/

WOLFLAB官方微信:17316362402

WOLFLAB官方QQ:2569790740

我们有CCNA|CCNP|EI CCIE;HCIA|HCIP|HCIE Datacom|VMware等培训

返回目录
在线咨询