IPv6进阶:IPv6 过渡技术之 6to4 自动隧道
创始人
2024-02-27 18:04:27
0

实验拓扑

  • 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 2002:C801:0101::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地址空间“2002:C801:0101/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 2002:C802:0202::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地址空间就是2002:C801:0101::/48,前缀中的前16bits也就是2002是固定的,后面的32bits就是200.1.1.1这个地址对应的16进制数,组装后就得到/48比特的IPv6地址前缀,这样一来PC1所在ipv6网络就可以使用这个ipv6地址来组建网络:

当PC1要访问2002:C802:0202::/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] 2002:C801:101::FFFF
Tunnel0/0/0 up up
[IPv6 Address] FE80::C801:101
PC1>ping 2002:C802:0202::1
Ping 2002:c802:202::1: 32 data bytes, Press Ctrl_C to break
From 2002:c802:202::1: bytes=32 seq=1 hop limit=253 time=47 ms
From 2002:c802:202::1: bytes=32 seq=2 hop limit=253 time=31 ms
From 2002:c802:202::1: bytes=32 seq=3 hop limit=253 time=31 ms
From 2002:c802:202::1: bytes=32 seq=4 hop limit=253 time=31 ms
From 2002:c802:202::1: bytes=32 seq=5 hop limit=253 time=47 ms
--- 2002:c802:202::1 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 31/37/47 ms

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
有效的括号 一、题目 给定一个只包括 '(',')','{','}'...
【Ctfer训练计划】——(三... 作者名:Demo不是emo  主页面链接:主页传送门 创作初心ÿ...