第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 |
| 推荐策略 | 双栈为主,隧道为辅,翻译兜底 | — |
八、思考
- 双栈中 DNS 解析时如何选择使用 IPv4 还是 IPv6?
- 手动隧道和 6to4 隧道的核心区别是什么?
- NAT64 为什么需要 DNS64 配合?
- 6to4 隧道如何自动获取 IPv6 地址?
- 一个 IPv6-only 的移动终端如何访问 IPv4-only 的网站?
下篇预告:第118篇《VRRP 虚拟路由冗余协议——主备切换》——讲解 VRRP 的基本原理、主备选举机制和配置方法,实现网关的高可用。