IPv6 地址与连通性排查
IPv6 排查的核心是分清地址类型:fe80::/10 是链路本地地址,只在同一个二层链路上有效,使用时必须带接口索引;2001:、240e: 等前缀通常是公网地址。双栈环境里系统会优先尝试 IPv6,所以「v6 有问题、v4 正常」会表现为偶发的访问失败或时快时慢,这类问题比完全不通更难定位。
基本信息
| 适用平台 | Windows 客户端与服务器 |
|---|---|
| 查看地址 | Get-NetIPAddress -AddressFamily IPv6 |
| 传统方式 | netsh interface ipv6 show addresses |
| 连通测试 | ping -6 目标(链路本地需带 %接口索引) |
| 关键前缀 | fe80::/10 链路本地、2001:/240e: 等公网 |
典型使用场景
- 确认主机是否真的获得 IPv6 地址以及地址类型
- 排查双栈环境下偶发的访问失败与时快时慢
- 测试链路本地地址连通性,确认同链路邻居可达
- 核对地址来源是路由器通告、DHCPv6 还是手工配置
- 评估禁用 IPv6 的副作用,寻找更合适的修复方式
- 配合路由与防火墙排查 IPv6 方向的选择性问题
- 给新上线的服务做双栈可达性验证,避免只测了 IPv4
- 核对地址来源,确认是路由器通告、DHCPv6 还是手工配置
常用示例
常用示例
Get-NetIPAddress -AddressFamily IPv6 | Select-Object InterfaceAlias, IPAddress, PrefixOrigin, SuffixOrigin
netsh interface ipv6 show addresses
ping -6 fe80::1%12 -n 2 # 链路本地地址必须带接口索引
Test-NetConnection -ComputerName ipv6.google.com -InformationLevel Detailed
Get-NetIPInterface -AddressFamily IPv6 | Select-Object InterfaceAlias, Dhcp, ConnectionState常见前缀含义
| 前缀 | 类型 | 说明 |
|---|---|---|
| fe80::/10 | 链路本地 | 仅同一链路有效,需带接口索引 |
| 2001:/240e: 等 | 公网地址 | 可路由到互联网 |
| fd00::/8 | 唯一本地地址 | 组织内部使用 |
| ::1 | 环回地址 | 用于本机测试 |
fe80:: 开头的地址必须带上 %接口索引 才能 ping 通,因为同一个链路本地地址可能出现在多张网卡上,索引用来指明实际走哪张网卡,索引号可以用 Get-NetIPInterface 或 ipconfig 的输出核对;同一条链路上出现多个链路本地地址属于正常现象。
直接禁用 IPv6 往往带来副作用,例如影响部分依赖 IPv6 的组件与更新机制;更稳妥的做法是定位并修复具体的地址、路由或防火墙问题。排查双栈故障时,可以临时用 ping -4 强制走 IPv4 做对照,快速判断问题出在哪一侧。