第117篇:IPv6 过渡技术——双栈、隧道、NAT64

关键词

IPv6 过渡、双栈、6to4 隧道、ISATAP、NAT64、DNS64、IPv4/IPv6 共存


一、为什么需要过渡技术?

IPv4 向 IPv6 的迁移不会一蹴而就——现有网络中有大量 IPv4-only 设备和应用。因此需要过渡技术来解决 IPv4 和 IPv6 网络的互通问题。

三种主要过渡技术:

方式 核心思路 适用场景
双栈(Dual Stack) 同时运行 IPv4 和 IPv6 基础设施升级期
隧道(Tunneling) IPv6 包封装在 IPv4 中传输 IPv6 孤岛互联
翻译(Translation) IPv6 与 IPv4 地址/协议转换 IPv6-only 访问 IPv4 资源

二、双栈(Dual Stack)

2.1 原理

双栈是最简单的过渡方式——设备同时配置 IPv4 和 IPv6 地址,运行两套协议栈。

双栈主机/路由器 ┌─────┐ ┌─────┐ IPv4 栈 IPv6 栈
┌───────┴───────┐
│ │
IPv4 网络 IPv6 网络

2.2 配置

# 双栈接口配置
interface GigabitEthernet0/0/1
 ip address 192.168.1.1 255.255.255.0      # IPv4 地址
 ipv6 enable
 ipv6 address 2001:DB8:1::1/64              # IPv6 地址

2.3 DNS 解析

双栈主机通过 DNS 决定使用 IPv4 还是 IPv6:

查询 example.com:
  A 记录(IPv4):192.0.2.1
  AAAA 记录(IPv6):2001:DB8::1

客户端偏好:
  Windows/Linux 默认优先 IPv6
  Happy Eyeballs(RFC 8305):尝试 IPv6,如果慢则切 IPv4

2.4 优缺点

优点 缺点
简单,无需新协议 IPv4 地址仍需维护
无性能损失 双倍配置工作量
兼容性最好 运营商需要同时维护两张网

三、隧道技术

3.1 原理

隧道将 IPv6 报文封装在 IPv4 报文中,穿越 IPv4 网络。

IPv6 主机 ──── 隧道入口 ──── IPv4 网络 ──── 隧道出口 ──── IPv6 主机
               │                                      │
          IPv6 包 + IPv4 头                       剥离 IPv4 头

3.2 主要隧道类型

隧道类型 封装方式 配置方式 场景
手动隧道 IPv6 in IPv4 手工配置 站点间固定隧道
GRE 隧道 IPv6 over GRE over IPv4 手工配置 通用隧道
6to4 隧道 IPv6 in IPv4(自动) 公网 IPv4 孤岛间自动互联
ISATAP IPv6 in IPv4(自动) 企业内网 双栈主机访问 IPv6
6PE IPv6 over MPLS 运营商 MPLS 骨干承载 IPv6

3.3 手动隧道配置

R1 ──── IPv4 网络 ──── R2
192.168.12.1        192.168.12.2
# R1
interface Tunnel0/0/0
 ipv6 enable
 ipv6 address 2001:DB8:12::1/64
 tunnel-protocol ipv6-ipv4          # IPv6 over IPv4 手动隧道
 source 192.168.12.1
 destination 192.168.12.2

# R2
interface Tunnel0/0/0
 ipv6 enable
 ipv6 address 2001:DB8:12::2/64
 tunnel-protocol ipv6-ipv4
 source 192.168.12.2
 destination 192.168.12.1

3.4 6to4 隧道(自动)

6to4 不需要逐对配置隧道——IPv6 地址中嵌入了 IPv4 地址:

6to4 前缀:2002::/16
6to4 IPv6 地址:2002:IPv4地址::/48

示例:IPv4 = 192.168.1.1 → 0xC0A8:0101
6to4 地址:2002:C0A8:0101::1/48
# 6to4 隧道配置
interface Tunnel0/0/0
 ipv6 enable
 ipv6 address 2002:C0A8:0101::1/64
 tunnel-protocol ipv6-ipv4 6to4
 source GigabitEthernet0/0/0

四、NAT64 / DNS64

4.1 原理

NAT64 实现 IPv6-only 客户端访问 IPv4-only 服务器。DNS64 合成 AAAA 记录,NAT64 做地址转换。

IPv6 主机 ──→ DNS64 ──→ 获取合成 AAAA 记录
                │
                └── 真实 IPv4 目标地址嵌入在 AAAA 记录中

IPv6 主机 ──→ NAT64 网关 ──→ IPv4 服务器
                │
           SYN 2001:DB8:64::192.0.2.1
                ↓
           SYN 192.0.2.1(转换为 IPv4)

4.2 NAT64 前缀

NAT64 使用一个固定前缀(通常是 64:FF9B::/96 或自定义前缀)来嵌入 IPv4 地址:

IPv6 地址:64:FF9B::192.0.2.1
                    └── 内嵌 IPv4 地址

4.3 配置

# NAT64 配置(华为)
nat64 enable

# 定义 NAT64 前缀
nat64 prefix 64:FF9B:: 96

# 接口启用 NAT64
interface GigabitEthernet0/0/1
 nat64 enable

# DNS64(在 DNS 服务器上配置)
dns64 64:FF9B:: 96

五、过渡技术对比

技术 优点 缺点 推荐场景
双栈 简单,兼容性好 需要 IPv4 地址 所有设备升级期
手动隧道 可控,安全 配置量大 站点间固定链路
6to4 自动配置 依赖公网 IPv4 临时 IPv6 互联
ISATAP 利用内网 IPv4 仅限单播 企业过渡
NAT64 IPv6-only 访问 IPv4 地址转换开销 移动网络过渡

六、实际部署策略

6.1 企业过渡路线

第一阶段:双栈(核心设备同时支持 IPv4/IPv6)
第二阶段:核心骨干 IPv6 化(隧道/双栈)
第三阶段:边缘 IPv6 化(NAT64 为 IPv6-only 分支提供访问)
第四阶段:全面 IPv6

6.2 运营商过渡路线

骨干:6PE 或双栈
接入:NAT44 + NAT64 双平面
核心:MPLS 6PE 承载 IPv6 VPN
终端:CPE 双栈

七、总结

技术 核心思路 关键配置
双栈 同时运行两套协议栈 接口配置 IPv4 + IPv6
手动隧道 IPv6 in IPv4 封装 tunnel-protocol + source/destination
6to4 IPv6 地址嵌入 IPv4 2002::/16 自动隧道
NAT64 IPv6 ↔ IPv4 转换 NAT64 前缀 + DNS64
推荐策略 双栈为主,隧道为辅,翻译兜底

八、思考

  1. 双栈中 DNS 解析时如何选择使用 IPv4 还是 IPv6?
  2. 手动隧道和 6to4 隧道的核心区别是什么?
  3. NAT64 为什么需要 DNS64 配合?
  4. 6to4 隧道如何自动获取 IPv6 地址?
  5. 一个 IPv6-only 的移动终端如何访问 IPv4-only 的网站?

下篇预告:第118篇《VRRP 虚拟路由冗余协议——主备切换》——讲解 VRRP 的基本原理、主备选举机制和配置方法,实现网关的高可用。