2023年12月3日发(作者:)

IPv6 6to4自动隧道 猎豹网校.

6to4自动隧道(作者:猎豹网校—吴志峰)

6to4隧道也被称为6-to-4隧道,用于通过IPv4网络将IPv6域连接起来,它是点到多点连接类型。边缘路由器使用其隧道接口的IPv6地址内嵌IPv4地址自动创建6to4通道。每台6to4边缘路由器都是双栈设备,有一个前缀为/48的IPv6地址,是由2002::/16和边缘路由器的IPv4地址组合而成。在RFC3056中定义的2002::/16的地址范围专用于6to4隧道的地址范围。边缘路由器自动使用嵌入在IPv6中的IPv4地址建立隧道。例如:如果边缘路由器的IPv4地址为192.168.99.1,则其IPv6地址为2002:c0a8:6301::/48,因为192.168.99.1的十六进制表示为c0a8:6301。下图说明了转换过程:

十进制

二进制

192 168 99 1

11000000 10101000 11100011 00000001

A8 63 01

十六进制

C0

通过使用6to4隧道,可在公司网络中快速部署IPv6的网络,而无需向ISP或注册机构申请公有IPv6地址。

例:

6 to 4 路由器IPV6网络2002:c0a8:6301::/486 to 4 路由器IPV6网络2002:c0a8:1e01::/48A192.168.99.1IPV4网络B192.168.30.12002/16内嵌的公有IPv4地址SLA(子网ID)/48/64接口 ID

在上图这个例子中:边缘6to4路由器A收到目标地址2002:c0a8:1e01::/48的数据包(注:2002:c0a8:1e01::/48地址位于2002::/16的IPv6分组内),路由器A根据它自己的路由表知道必须使用隧道来传输数据,所以路由器A从目标的IPv6地址中提取c0a8:1e01做为到达目标路由器的IPv4地址,也就是隧道的另一端6to4路由器B的IPv4地址。路由器A将IPv6的分组封装到IPv4分组中,并将提取的IPv4地址(路由器B的IPv4地址)用作目标地址,随后分组穿过IPv4的网络。路由器B收到IPv4的分组后,将其拆封以获得其中的IPv6分组,并将其转发到最终的目的地。

1 / 10

IPv6 6to4自动隧道 猎豹网校.

配置和验证6to4隧道。

2002:AC10:6501::/1282002:AC10:6601::/1286 TO 4自动隧道L101:172.16.101.1172.16.12.1/24172.16.12.2/24L102:172.16.102.1R113::1/64R224::2/64IPv4 RIP13::3/6424::4/64RIPng RIPoTUR3R4

地址表:

设备型号 名称

Cisco3700 R1

接口

Serial 1/0

IP地址

172.16.12.1/24

FastEthernet0/0 13::1/64

Loopback 101

Tunnel 12

Cisco3700 R2 Serial 1/0

172.16.101.1/24

2002:AC10:6501::/128

172.16.12.2/24

FastEthernet0/0 24::2/64

Loopback 102

Tunnel 12

Cisco3700 R3

Cisco3700 R4

172.16.102.1/24

2002:AC10:6601::/128

FastEthernet0/0 13::3/64

FastEthernet0/0 24::4/64

一、 R1路由器基本配置

R1>enable #进入特权模式

R1#configure terminal #进入全局配置模式

R1(config)#ipv6 unicast-routing #开启IPv6的单播路由

R1(config)#interface serial 1/0 #进入R1路由器串口1/0

R1(config-if)#ip address 172.16.12.1 255.255.255.0 #增加IPv4的地址

2 / 10

IPv6 6to4自动隧道 猎豹网校.

R1(config-if)#no shutdown #打开串行端口

R1(config-if)#interface FastEthernet0/0 #切换到快速以太口0/0

R1(config-if)#ipv6 address 13::1/64 #给快速以太口增加IPv6地址

R1(config-if)#no shutdown #打开快速以太口

R1(config-if)#exit #退出端口配置模式

R1(config)#interface loopback 101 #设置一个虚拟环路端口编号为101

R1(config-if)#ip address 17.16.101.1 255.255.255.0 #给虚拟环路端口增加IPv4地址

R1(config-if)#exit #退出虚拟环路端口设置

R1(config)#

二、R2 路由器基本配置

R2>enable #进入特权模式

R2#configure terminal #进入全局配置模式

R2(config)#ipv6 Unicast-routing #开启IPv6的单播路由

R2(config)#interface serial 1/0 #进入R2路由器串口1/0

R2(config-if)#ip address 172.16.12.2 255.255.255.0 #增加IPv4的地址

R2(config-if)#no shutdown #打开串行端口

R2(config-if)#interface FastEthernet0/0 #切换到快速以太口0/0

R2(config-if)#ipv6 address 24::2/64 #给快速以太口增加IPv6地址

R2(config-if)#no shutdown #打开快速以太口

R2(config-if)#exit #退出端口配置模式

R2(config)#interface loopback 102 #设置一个虚拟环路端口编号为102

R2(config-if)#ip address 172.16.102.1 255.255.255.0 #给虚拟环路端口增加IPv4地址

R2(config-if)#exit #退出虚拟环路端口设置

R2(config)#

三、R3 路由器基本配置

R3>enable #进行特权模式

R3#configure terminal #进入全局配置模式

R3(config)#ipv6 unicast-routing #开启IPv6的单播路由

R3(config)#interface fastethernet0/0 #进入快速以太口

R3(config-if)#ipv6 address 13::3/64 #给快速以太口配置IPv6地址

R3(config-if)#exit #退出端口配置模式

四、R4路由器基本配置

R4>enable #进行特权模式

R4#configure terminal #进入全局配置模式

R4(config)#ipv6 unicast-routing #开启IPv6的单播路由

R4(config)#interface fastethernet0/0 #进入快速以太口

R4(config-if)#ipv6 address 24::4/64 #给快速以太口配置IPv6地址

R4(config-if)#exit #退出端口配置模式

3 / 10

IPv6 6to4自动隧道 猎豹网校.

五、R1路由器启用RIPv2协议

R1(config)#router rip #启动rip设置协议

R1(config-router)#version 2 #设置Rip协议版本

R1(config-router)#network 172.16.12.1 #宣告R1路由器上现有的IPv4网络

R1(config-router)#network 172.16.101.1 #宣告R1路由器上现有的IPv4网络

R1(config-router)#exit #退出Rip设置协议

R1(config)#end #退到特权模式

R1#

六、R2路由器启用RIPv2协议

R2(config)#router rip #启动rip设置协议

R2(config-router)#version 2 #设置Rip协议版本

R2(config-router)#network 172.16.12.2 #宣告R2路由器上现有的IPv4网络

R2(config-router)#network 172.16.102.1 #宣告R2路由器上现有的IPv4网络

R2(config-router)#exit #退出Rip设置协议

R2(config)#end #退到特权模式

R2#

七、查看R1路由表

R1#show ip route

如下图:

八、查看R2路由表

R1#show ip route

4 / 10

IPv6 6to4自动隧道 猎豹网校.

如下图

九、配置手工隧道

在路由器R1和R2之间创建一条手工隧道,并将R1和R2的环回接口用作隧道源接口。

R1>enable #进入特权模式

R1#configure terminal #进入全局配置模式

R1(config)#interface tunnel 12 #创建一条隧道,编号为12

R1(config-if)#no ip address #由于隧道接口不需要IPv4地址,因此配置了no ip address 命令

R1(config-if)#ipv6 address 2002:AC10:6501::/128 #给隧道配置IPv6地址

R1(config-if)#tunnel source loopback 101 #设置隧道的源接口为前面步骤配置的IPv4环回端口

R1(config-if)#tunnel mode ipv6ip 6to4 #设置ipv6隧道封装数据包的模式为6to4。

注:这些配置与GRE隧道配置类似,差别在于没有指定隧道的目标地址,因为目标IPv4地址内嵌到IPv6地址中。

R1(config-if)#end #退出隧道配置模式

R1#

R2>enable #进入特权模式

R2#configure terminal #进入全局配置模式

R2(config)#interface tunnel 12 #创建一条隧道,编号为12

R2(config-if)#no ip address #由于隧道接口不需要IPv4地址,因此配置了no ip address 命令

R2(config-if)#ipv6 address 2002:AC10:6601::/128 #给隧道配置IPv6地址

R2(config-if)#tunnel source loopback 102 #设置隧道的源接口为前面步骤配置的IPv4环回端口

R2(config-if)#tunnel mode ipv6ip 6to4 #设置ipv6隧道封装数据包的模式为6to4。

注:这些配置与GRE隧道配置类似,差别在于没有指定隧道的目标地址,因为目标IPv4地址内嵌到IPv6地址中。

R2(config-if)#end #退出隧道配置模式

R2#

十、查看隧道运行情况

为了查看隧道运行情况,在R1上执行了命令debug ip packet detail和debu tunnel,并从R1 ping R2的隧道接口地址,调试输入指出没有找到路由。如下图所示:

5 / 10

IPv6 6to4自动隧道 猎豹网校.

为了查找原因,我们显R1的IPv6地址表。注意到R1的隧道地址(2002:AC10:6501::/128)出现在路由表中,但R2的隧道地址没有出现。如下图:

这是因为隧道两端的地址属于不同的子网(前缀长度为/128)如下图:

为了更好的证明两个隧道口不是同一个子网,我们将IPv4的环回接口地址转换为十六进制表示。

6 / 10

IPv6 6to4自动隧道 猎豹网校.

为了解决这种问题,在R1上配置一条前往R2的静态路由,并在R2上配置一条前往R1的静态路由,由于只有一条隧道,因此将静态路由的前缀长度指定为/16,这导致目标地址以2002打头的所有分组都将通过隧道传输。命令如下:

R1#configure terminal

R1(config)#ipv6 route 2002::/16 tunnel 12

R1(config)#

R2#configure terminal

R2(config)#ipv6 route 2002::/16 tunnel 12

R2(config)#

再次执行debug ipv6 packet detail 和debug tunnel 以及ping命令,这次找到了路由,它经由隧道接口,调试输出还显示了用于创建隧道的IPv4地址,它们是从IPv6地址中提取的。如下图:

使用show 命令查看R1上的IPv6路由表结果显示已经发现两条路由。如下图

为了到达比隧道另一端更远的地方,必须添加其它静态路由,在R1和R2上分别执行以下命令。

R1#configure terminal #进入全局配置模式

R1(config)#ipv6 route 24::/64 2002:AC10:6601:: #重新配置一条范围更大的路由(24::/64)并指定下一跳的地址为R2上的隧道地址。

R1(config)#

R2#configure terminal #进入全局配置模式

7 / 10

IPv6 6to4自动隧道 猎豹网校.

R2(config)#ipv6 route 24::/64 2002:AC10:6501:: #重新配置一条范围更大的路由(24::/64)并指定下一跳的地址为R1上的隧道地址。

R2(config)#

在R1上使用show ipv6 route命令查看R1上的ipv6路由表,显示如下图:

在R1上执行Ping 命令显示如下图所示

在R2上使用show ipv6 route命令查看R2上的ipv6路由表,使用Ping命令检查与R1的连接情况。结果如下图:

也可以使用如下命令配置一条静态默认路由,用于前往所有目的地。(::/0)表示默认路由。

命令

R1#configure terminal #进入全局配置模式

R1(config)#no ipv6 route 24::/64 2002:AC10:6601:: #删除前面配置的静态路由。

R1(config)#ipv6 route ::/0 2002:AC10:6601:: #增加一条去往所有目的地的默认路由。

R1(config)#

R1#configure terminal #进入全局配置模式

R1(config)#no ipv6 route 12::/64 2002:AC10:6501:: #删除前面配置的静态路由。

R1(config)#ipv6 route ::/0 2002:AC10:6501:: #增加一条去往所有目的地的默认路由。

R1(config)#

8 / 10

IPv6 6to4自动隧道 猎豹网校.

十一、继续配置RIPng给R3和R4增加默认路由

在R3和R1之间,R2和R4之间以及R1和R2之间的6to4隧道上启用RIPng进程RIPtoTU与其它IPv6链路一样,隧道接口也可能与 路由选择,与前面一样,RIPng将运行在隧道上,而IPv4RIP运行在物理接口上,以便在环回接口的IPv4地址之间提供连接性。

R3>enable #进行特权模式

R3#configure terminal #进入全局配置模式

R3(config)#interface fastethernet0/0 #进入快速以太口

R3(config-if)#ipv6 rip RIPoTU enable #启动IPv6的RIPoTU模式

R3(config-if)#no shutdown #打开端口

R3(config-if)#exit #退出端口配置模式

R3(config)#ipv6 route ::/0 13::1 #给R3增加一条默认路由。

R4>enable #进行特权模式

R4#configure terminal #进入全局配置模式

R4(config)#interface fastethernet0/0 #进入快速以太口

R4(config-if)#ipv6 rip RIPoTU enable #启动IPv6的RIPoTU模式

R4(config-if)#no shutdown #打开端口

R4(config-if)#exit #退出端口配置模式

R4(config)#ipv6 route ::/0 24::2bb #给R4增加一条默认路由。

R1(config)#interface tunnel 12 #进行隧道链路

R1(config-if)#ipv6 rip RIPoTU enable #启动IPv6的RIPoTU模式

R1(config-if)#interface fastethernet0/0 #切换到快速以太口

R1(config-if)#ipv6 rip RIPoTU enable #启动IPv6的RIPoTU模式

R1(config-if)#end #退出端口配置模式

R1#

R2(config)#interface tunnel 12 #进行隧道链路

R2(config-if)#ipv6 rip RIPoTU enable #启动IPv6的RIPoTU模式

R2(config-if)#interface fastethernet0/0 #切换到快速以太口

9 / 10

IPv6 6to4自动隧道 猎豹网校.

R2(config-if)#ipv6 rip RIPoTU enable #启动IPv6的RIPoTU模式

R2(config-if)#end #退出端口配置模式

R2#

十二、验证联通性

配置结束

如需视频请联系网校客服。

作者猎豹网校:吴志峰

10 / 10