4. IPv6双栈协议栈部署
IPv6双栈部署的核心目标,是让同一台设备、同一条链路、同一套应用在过渡期内同时具备IPv4与IPv6转发和访问能力。它并不是把IPv4“替换”为IPv6,而是在接口、路由、DNS、应用四个层面建立并行通道,使终端在双栈环境下优先使用IPv6、必要时回退IPv4。理解双栈,关键要抓住“接口双地址、协议栈并行、解析与选路协同”这三条主线。
一、双栈接口配置:同一接口承载两套协议栈
在Comware设备上,双栈接口的本质是同一物理或逻辑接口同时启用IPv4与IPv6,并分别配置地址。以园区核心交换机与接入交换机之间的三层互联为例,可在VLAN接口上同时配置两族地址:
interface Vlan-interface 10
ip address 10.10.10.1 255.255.255.0
ipv6 address 2001:db8:10::1 64
ipv6 address auto link-local
undo ipv6 nd ra halt
其中ipv6 address auto link-local用于生成链路本地地址,undo ipv6 nd ra halt使接口能够发送RA(路由器通告),终端据此通过SLAAC自动生成全球单播地址。若采用DHCPv6方式,则需在接口下配置ipv6 dhcp select server并建立地址池。需要特别注意的是,双栈接口的IPv4与IPv6地址相互独立,但共享同一接口的物理转发能力;接口MTU、ACL、QoS策略需分别针对两族协议配置,不能默认继承。
对于终端接入的VLAN,建议同时开启IPv6 ND与IPv4 ARP,并确保RA的M/O标志与DHCPv6部署方式一致:M=1表示终端通过DHCPv6获取地址,O=1表示通过DHCPv6获取其他配置(如DNS)。若M/O标志与地址池配置矛盾,终端可能出现“有地址但无法解析”的典型故障。
二、IPv4/IPv6共存策略:路由与转发并行
双栈共存不是简单叠加,而是要在控制平面和数据平面同时保证两套路由体系独立收敛。控制平面上,IPv4使用OSPF/BGP,IPv6使用OSPFv3/BGP4+,两者可共用同一物理链路但需分别建立邻居。数据平面上,设备依据目的地址族选择对应转发表,IPv6报文不会走IPv4路由表,反之亦然。
园区网络中常见的共存策略有三种:一是“双栈优先”,即终端和服务器同时具备两族地址,DNS返回AAAA优先;二是“IPv6孤岛+隧道”,在未完全IPv6化的区域使用6to4或ISATAP过渡;三是“NAT64/DNS64”,用于IPv6-only终端访问IPv4资源。对于新建园区,推荐以双栈为主、NAT64为辅,避免过早引入复杂转换。
三、DNS双栈解析:AAAA与A记录的协同
DNS是双栈体验的“调度中心”。同一域名可同时配置A记录(IPv4)与AAAA记录(IPv6),终端解析时通常优先请求AAAA,若返回有效地址则优先使用IPv6;若AAAA查询失败或超时,再回退A记录。这一过程依赖终端操作系统的地址选择策略(RFC 6724),而非DNS服务器强制决定。
在Comware设备上,可配置DNS服务器地址并启用IPv6 DNS解析:
ip host www.example.com 2001:db8:100::80
ip host www.example.com 192.0.2.80
dns server 2001:db8:53::53
dns server 192.0.2.53
实际部署中,建议DNS服务器同时监听IPv4与IPv6,并确保AAAA记录与IPv6地址规划一致。若AAAA记录指向的地址未在路由表中可达,终端会经历“解析成功但连接超时”的体验劣化,因此DNS记录必须与路由可达性同步验证。
四、应用层双栈适配:监听与回退
应用层双栈适配的关键是“监听双栈、回退有序”。Web服务器、数据库、API网关等应同时监听IPv4与IPv6地址,或使用双栈套接字(如::监听并设置IPV6_V6ONLY=0)。对于自研应用,需检查代码中是否硬编码IPv4地址、是否使用gethostbyname等仅支持IPv4的解析函数,应替换为getaddrinfo以支持两族地址。
应用回退策略应遵循“先IPv6、后IPv4、快速失败”的原则。若IPv6连接在超时时间内未建立,应迅速回退IPv4,避免用户长时间等待。对于负载均衡设备,需同时配置IPv4与IPv6虚拟服务器,并确保健康检查覆盖两族地址。
五、典型配置案例:园区双栈接入与出口
以下为一个典型园区双栈配置片段,涵盖接入VLAN、核心互联与出口NAT:
# 接入交换机:VLAN 10双栈网关
interface Vlan-interface 10
ip address 10.10.10.1 255.255.255.0
ipv6 address 2001:db8:10::1 64
undo ipv6 nd ra halt
# 核心交换机:与出口路由器互联
interface Vlan-interface 100
ip address 10.10.100.1 255.255.255.0
ipv6 address 2001:db8:100::1 64
# 出口路由器:IPv4 NAT与IPv6默认路由
interface GigabitEthernet 0/1
ip address 203.0.113.2 255.255.255.0
ipv6 address 2001:db8:200::2 64
ipv6 route-static :: 0 2001:db8:200::1
nat outbound 3000
验证时,可在终端执行ping 2001:db8:10::1与ping 10.10.10.1,确认两族网关均可达;再通过tracert与tracert -6观察路径是否一致。若IPv6可达但DNS解析失败,应检查DNS服务器是否监听IPv6及AAAA记录是否正确。
双栈部署的最终检验标准,是终端在双栈环境下能够“优先IPv6、回退IPv4、全程可解析、应用可访问”。建议在割接前完成三项验证:一是接口双地址可达性测试,二是DNS AAAA/A记录解析一致性测试,三是应用层IPv6监听与回退测试。只有三层协同一致,双栈才真正具备工程可用性。