6to4 - IPv6 隧道地址

网络工程 思科 ipv4 ip ipv6 IP地址
2021-07-26 03:34:19

http://packetlife.net/blog/2010/mar/15/6to4-ipv6-tunneling/

要在 R2 路由器上配置 6to4 隧道,请执行以下命令:

R2(config)# interface tunnel0
R2(config-if)# tunnel mode ipv6ip 6to4
R2(config-if)# tunnel source 10.0.2.1
R2(config-if)# ipv6 address 2002:a00:201::/128

有谁知道我到底为什么要指定隧道的 IPv6 地址(最后一个命令)?我写的事实:

R2(config-if)# ipv6 address 2002:a00:201::/128

R2 在任何时候都不使用,我相信 - R2 不需要该信息。

当 R1 后面的 IPv6 主机向2001:db8:0:2::/64R2后面的 IPv6 主机发送数据包时,首先发生的事情是 R1 检查其路由表。我们按以下方式配置了 R1:

ipv6 route 2002::/16 tunnel0
ipv6 route 2001:db8:0:2::/64 2002:a00:201::

然后它将 IPv6 数据包放入 IPv4 数据包中,并将IPv4 目标地址设置为 10.0.2.1 - 它从该行中的第二个地址中提取目标地址,这在路由表中创建了一个条目:ipv6 route 2001:db8:0:2::/64 2002:a00:201::

所以如果我们没有在 R2 ( R2(config-if)# ipv6 address 2002:a00:201::/128)上设置 IPv6 隧道地址,我想它不会改变任何东西,因为无论如何数据包都会到达 R2。那我们为什么要这样做呢?

顺便说一句,10.0.2.1是私有IP地址,所以不应该用在6to4地址中(只允许使用公共IP)——我认为这篇文章在这方面是错误的。

1个回答

IPv6 地址是分配给隧道接口的网络地址。我不知道你是从哪里想到的,/128因为它用于诸如环回之类的东西。

指定分配给接口的 IPv6 网络并在接口上启用 IPv6 处理。

Cisco文档中的类似内容

示例:配置 6to4 隧道

以下示例在隔离的 IPv6 网络中的边界路由器上配置 6to4 隧道。IPv4 地址为 192.168.99.1,转换为 IPv6 前缀 2002:c0a8:6301::/48。IPv6 前缀被子网划分为 2002:c0a8:6301::/64 用于隧道接口:2002:c0a8:6301:1::/64 用于第一个 IPv6 网络,2002:c0a8:6301:2::/64 用于第二个 IPv6 网络。静态路由可确保 IPv6 前缀 2002::/16 的任何其他流量被定向到隧道接口 0 以进行自动隧道连接。

interface GigabitEthernet0/0/0
 description IPv4 uplink
 ip address 192.168.99.1 255.255.255.0
!
interface GigabitEthernet1/0/0
 description IPv6 local network 1
 ipv6 address 2002:c0a8:6301:1::1/64 
!
interface GigabitEthernet2/0/0
 description IPv6 local network 2
 ipv6 address 2002:c0a8:6301:2::1/64 
!
interface Tunnel0
 description IPv6 uplink
 no ip address
 ipv6 address 2002:c0a8:6301::1/64 
 tunnel source GigabitEthernet0/0/0
 tunnel mode ipv6ip 6to4
!
ipv6 route 2002::/16 tunnel 0