ipv6 general-prefix DELEGATED_PREFIX 6rd Tunnel0
这一行定义了DELEGATED_PREFIX
. 它会根据Tunnel0
接口的第 6 项设置自动计算 IPv6 前缀。
ipv6 address DELEGATED_PREFIX ::/128 anycast (on int Tunnel 0)
此行Tunnel0
使用DELEGATED_PREFIX
之前定义的接口在接口上设置 IPv6 地址。它告诉路由器采用前缀,将其他位保留为零 ( ::
) 并将其配置为单个任播地址。该anycast
标志告诉路由器该地址可以同时在多个设备上使用。因此,它不会执行任何重复地址检测(与隧道接口并不真正相关),并且不会使用该地址作为源地址(因为返回流量可能会在其他任播节点之一结束)。
ipv6 address DELEGATED_PREFIX ::/64 eui-64 (on int Ethernet 0)
这对Ethernet0
接口也是如此。它使用DELEGATED_PREFIX
为接口提供地址。一个问题是您在隧道接口上使用相同的子网。您应该为不同的接口使用不同的子网。该eui-64
标志告诉路由器根据其 MAC 地址生成接口地址的最后 64 位。
一个(希望)让事情更清楚的例子:
让我们从示例中获取第 6 个设置:
- 第 6 个 IPv4 前缀:10.0.0.0/8
- 第 6 个 IPv6 前缀:2001:db80::/28
然后,如果您的路由器具有 IPv4 地址,10.0.0.10
您将获得 IPv6 前缀2001:db80:0:a000::/52
。的/8
在IPv4地址前缀意味着第一8个比特是固定的。因此,在构建 IPv6 前缀时,它将仅使用 IPv4 地址的最后 24 (32 - 8) 位。这些具有二进制值0000 0000 0000 0000 0000 1010
。当以十六进制编写时,即00 00 0a
. 这被附加到/28
IPv6 前缀,给出/52
(28 + 24)。
所以DELEGATED_PREFIX
才会获得价值2001:db80:0:a000::/52
。因此Tunnel0
接口将获得地址2001:db80:0:a000::/128
,Ethernet0
接口将获得类似2001:db80:0:a000:1234:56ff:fe78:90ab/64
(假设 MAC 地址12.34.56.78.90.ab
)的信息。
最好为以太网接口提供来自不同子网的地址,例如:
ipv6 address DELEGATED_PREFIX 0:0:0:1::/64 eui-64
那将导致2001:db80:0:a001:1234:56ff:fe78:90ab/64
. 如果你不想让地址依赖于 MAC 地址,你也可以给它一个固定地址:
ipv6 address DELEGATED_PREFIX 0:0:0:1::1/64
那将导致2001:db80:0:a001::1/64
.