配置 2:IPv4 Internet 的不同子网上的节点之间的 IPv6 流量 (6to4)

6to4 是一种通过现有 IPv4 Internet 基础结构连接 IPv6 主机或站点的方法。 它使用唯一的地址前缀为独立 IPv6 站点提供自己的 IPv6 地址空间。 6to4 类似于提供 IPv6 连接的“伪 ISP”。 可以使用 6to4 直接与其他 6to4 站点通信。 6to4 不需要使用 IPv6 路由器,其 IPv6 流量使用 IPv4 标头封装。

下图显示了使用 6to4 在不同子网上使用 6to4 在 IPv4 路由器之间通信的两个节点的配置。

使用 6to4 跨 ipv4 路由器进行通信的节点。

使用 6to4 main要求是站点的一个全局可路由 IPv4 地址。 假设站点包含一组 IPv6 计算机, (一些运行 Microsoft IPv6 协议,另一些运行其他 IPv6 实现) 。 还假定所有 IPv6 计算机都使用以太网或 6-over-4 直接连接。 必须将全局可路由的 IPv4 地址分配给运行 Microsoft IPv6 协议的计算机之一。 此计算机将是你的 6to4 网关。

如果 IPv4 地址是 10.0.0.0/8 (专用地址空间的一部分, 172.16.0.0/12 或 192.168.0.0/16) 或自动专用 IP 寻址 (APIPA) 地址空间 169.254.0.0/16 由 Windows 2000 使用,它不能全局路由。 否则,它可能是公共 IP 地址,可全局路由。 有关确定 ISP 连接是否支持 6to4 的更多帮助,请参阅本文档中的调试 6to4 配置主题。

6to4cfg.exe工具

6to4cfg.exe工具自动执行 6to4 配置,自动发现全局可路由的 IPv4 地址并创建 6to4 前缀。 它可以直接执行配置,也可以编写配置脚本,以便稍后检查和运行。

基本6to4cfg.exe命令语法如下所示。

6to4cfg [-r] [-s] [-u] [-R relay] [-b] [-S address] [filename]

[filename]

如果指定文件名,则将配置脚本写入文件。 配置脚本使用 Ipv6.exe。

可以为文件名指定 con,以便将配置脚本写入控制台输出,这对于了解6to4cfg.exe在测试方案中执行的操作非常有用。

如果未指定文件名,6to4cfg.exe直接更新计算机上的 IPv6 配置。

-R

成为本地网络的 6to4 网关路由器,在所有接口和分配的子网前缀上启用路由。

-s

在 6to4 站点中启用站点本地寻址。 仅当与 -r 结合使用时,此命令才有用。

-美国

指定撤消 6to4 配置。 因此,6to4cfg -u 反转 6to4cfg 的效果,6to4cfg -r -u 反转 6to4cfg -r 的效果,依此而过。

-R 中继

指定 6to4 中继路由器的名称或 IPv4 地址。 默认名称为 6to4.ipv6.microsoft.com,即 Internet 上的 6to4 中继路由器。

-B

指定6to4cfg.exe选择“最佳”中继地址,而不是第一个中继地址。

-S 地址

指定 6to4 前缀的本地 IPv4 地址。

手动 6to4 配置

在此示例中,6to4 网关的地址为 172.31.42.239。 需要使用自己的全局可路由 IPv4 地址才能使用 6to4。

注意

IP 地址 172.31.42.239 仅用于示例目的。 这是一个专用地址,不能在 Internet 上全局路由。

 

32 位全局可路由的 IPv4 地址与 16 位前缀 2002::/16 组合在一起,形成站点的 48 位 IPv6 地址前缀。 在此示例中,6to4 站点前缀为 2002:ac1f:2aef::/48。 请注意,ac1f:2aef 是 172.31.42.239 的十六进制编码,当然 (,你将根据自己的全局可路由 IPv4 地址) 使用不同的前缀。 使用 6to4 站点前缀,可以在站点内分配地址和子网前缀。

此示例假定使用子网 0 在 6to4 网关计算机上手动配置 6to4 地址,并使用子网 1 自动配置以太网网段上的地址。 但是,也可以选择其他选项。

  1. 使用 Ipv6.exe 在 6to4 网关计算机上启用 6to4:

    ipv6 rtu 2002::/16 2

    ipv6 rtu 命令执行路由表更新。 它可用于添加、删除或更新路由。 在这种情况下,它将启用 6to4。

    2002::/16 参数是路由的前缀,指定唯一的 6to4 前缀。

    2 参数指定此前缀的 on-link 接口。 接口 #2 是用于配置的隧道、自动隧道和 6to4 的“伪接口”。 当 IPv6 目标地址与 2002::/16 前缀匹配时,将提取目标地址中前缀后面的 32 位以形成 IPv4 目标地址。 数据包使用 IPv4 标头封装并发送到 IPv4 目标地址。

  2. 在 6to4 网关计算机上配置 6to4 地址:

    ipv6 adu 2/2002:ac1f:2aef::ac1f:2aef

    ipv6 adu 命令执行地址更新。 它可用于添加、删除或更新接口上的地址。 在此实例中,它将配置计算机的 6to4 地址。

    2/2002:ac1f:2aef::ac1f:2aef 参数指定接口和地址。 它要求在接口 #2 上配置地址 2002:ac1f:2aef::ac1f:2aef。 该地址使用站点前缀 2002:ac1f:2aef::/48、子网 0 来创建,以提供子网前缀 2002:ac1f:2aef::/64 和 64 位接口标识符。 演示的约定将计算机的 IPv4 地址用作分配给接口 #2 的地址的接口标识符。 为供你使用,ac1f:2aef 应替换为你自己的全局可路由 IPv4 地址的十六进制编码。

上述两个命令足以允许与其他 6to4 站点通信。 例如,可以尝试 ping Microsoft 6to4 站点:

ping6 2002:836b:9820::836b:9820

若要启用与 6bone 的通信,必须创建到 6to4 中继的默认配置隧道。 可以使用 Microsoft 6to4 中继路由器 131.107.152.32:

ipv6 rtu ::/0 2/::131.107.152.32 pub life 1800

ipv6 rtu 命令执行路由表更新,在此实例中,建立到 6to4 中继的默认路由。

::/0 参数是路由前缀。 零长度前缀指示它是默认路由。

2/::131.107.152.32 参数指定此前缀的下一跃点邻居。 它要求使用接口 #2 将匹配前缀的数据包转发到地址 ::131.107.152.32。 将数据包转发到接口 #2 上的 ::131.107.152.32 会导致该数据包使用 v4 标头封装并发送到 131.107.152.32。

pub 参数使此路由成为已发布的路由。 由于这仅与路由器相关,因此在启用路由之前,它不起作用。 同样,仅当启用了路由时,30 分钟的生存期才相关。

你应该能够访问 6bone 站点和 6to4 个站点。 可以使用以下命令对此进行测试:

ping6 3ffe:1cff:0:f5::1

最后一步是在 6to4 网关上启用路由。 此示例假定网关计算机上的接口 #3 是以太网接口,接口 #4 是 6-over-4。 计算机可能以不同的方式编号其接口。 以下两个命令将子网前缀分配给两个链接。 子网前缀派生自站点的 6to4 前缀 2002:ac1f:2aef::/48:

ipv6 rtu 2002:ac1f:2aef:1::/64 3 pub life 1800

ipv6 rtu 2002:ac1f:2aef:2::/64 4 pub life 1800

ipv6 rtu 命令指定前缀 2002:ac1f:2aef:1::/64 已连接到接口 #3。 它正在以太网接口上配置第一个子网前缀。 该路由以 30 分钟的生存期发布。

同样,2002:ac1f:2aef:2::/64 前缀是在 6-over-4 接口上配置的。

接下来的三个命令使 6to4 网关计算机能够充当路由器:

ipv6 ifc 2 forw

ipv6 ifc 3 forw adv

ipv6 ifc 4 forw adv

ipv6 ifc 命令控制接口的属性。 路由器转发数据包并发送路由器播发。 在 Microsoft IPv6 实现中,这些每个接口的属性单独控制。

播发不需要接口 #2,因为它是伪接口。

如果计算机具有其他接口,则还应将其配置为转发和播发。

运行这些命令后,Microsoft IPv6 协议将使用相应的子网前缀在接口 #3 和 #4 上自动配置地址,两个接口将开始以大约 3 到 10 分钟的间隔发送路由器播发。

接收这些路由器播发的主机将自动使用从其链接的子网前缀派生的默认路由和 6to4 地址来配置自身。 他们将通过网关计算机与其他 6to4 站点和 6bone 通信。

调试 6to4 配置

调试 6to4 配置

  1. 检查与 6to4 中继路由器的 IPv4 连接:

    ping 6to4.ipv6.microsoft.com

    如果此操作失败,则你没有全局 Internet 连接。

  2. 使用自动隧道检查 IPv6 封装:

    ping6 ::131.107.152.32

    如果此操作失败,则可能在计算机和 Internet 之间 (NAT) 防火墙或网络地址转换器。 如果成功,则 Internet 连接可以支持 6to4。

  3. 检查 ipv6 rt 命令的显示。 应看到 2002::/16 -> 2 路由。 检查 ipv6 if 2 命令的显示。 应会看到前缀为 2002::/16 的首选地址。

注意

Microsoft 6to4 中继路由器 131.107.152.32 的 IPv4 地址可能会更改。 如果上面的步骤 2 不起作用,检查步骤 1 中 ping 命令的输出,以验证 Microsoft 6to4 中继路由器的 IPv4 地址。

 

IPv6 的建议配置

具有链接本地地址的单个子网

在两个本地链接主机之间使用 IPsec