症状
IPv4 正常,IPv6 默认路由却在不同时段变化
若多个终端间歇出现 IPv6-only 访问失败、默认路由指向非预期设备、或断开某个小型路由器后现象消失,应把 Router Advertisement(RA)作为独立的二、三层问题处理。不要仅因 IPv4 网关稳定就排除它:IPv6 默认路由可由 RA 宣告,错误来源可能是误接入的路由器、测试设备、错误桥接的 VPN/容器网络,或未受控的无线回程。
RFC 6105 定义了 Router Advertisement Guard(RA-Guard)的考虑与限制。它不是“开关后万无一失”的承诺,而是提醒网络边界需要明确哪些端口和设备被允许发送 RA。
判断层级
按 RA 发送者 → 接入端口/VLAN → IPv6 默认路由 → 网桥或覆盖网络 → 接入层策略 排查;不要仅因 IPv4 正常就跳过二层边界。
只读诊断命令
以下命令只读取路由和报文元数据。抓包应仅在自有或已获授权的 LAN 使用,并避免把完整地址、设备名或业务载荷上传到工单、聊天或本站。
# Linux / OpenWrt:观察默认 IPv6 路由及其接口
ip -6 route show default
ip -6 route get 2606:4700:4700::1111
# 在授权的 LAN bridge 上短时观察 RA(ICMPv6 type 134)
tcpdump -ni br-lan 'icmp6 and ip6[40] == 134' -c 20
# 检查本机防火墙规则;不执行 flush 或 reload
nft list ruleset
在 macOS 可用 netstat -rn -f inet6 查看默认路由;在 Windows 可用 netsh interface ipv6 show route。对比问题出现前后,关注接口、路由 lifetime 与发送 RA 的链路位置,而不是把采集到的地址写入公开内容。
分层判断
- 仅一个 VLAN 受影响:优先检查该 VLAN 是否被错误桥接到路由器 LAN 口,或 AP/交换机的端口角色与设计不一致。
- 同一发送端在多个 VLAN 出现:检查允许发送 RA 的网关、桥接接口和 Wi-Fi 回程,不要先改客户端 DNS。
- 终端看到多个默认路由:记录它们的接口与优先级;先确认哪一个来自获授权网关,再处理非预期来源。
- 只在容器或 VPN 启动后出现:检查它是否把 IPv6 转发或桥接口暴露到 LAN。不要把容器网络的地址池和家庭 LAN 混为一谈。
RA-Guard 的实施边界
RA-Guard 通常在受管交换机或无线基础设施的接入端口上限制 RA,而上联到获授权 IPv6 路由器的端口需要被明确允许。具体命令属于厂商、交换芯片和固件版本相关配置;在没有设备当前官方文档、端口拓扑与回滚路径时,不应复制网路上的“通用封禁”命令。
一个可审计的实施顺序是:
确认授权 RA 发送者
-> 标记其上联/信任端口
-> 在不信任接入口启用与设备能力匹配的 RA-Guard
-> 用测试 VLAN 验证 IPv6 默认路由仍来自授权网关
-> 扩大范围并保留回滚窗口
这不是对本地 Wi-Fi 覆盖、网线损坏或上游 IPv6 中断的替代诊断;那些问题也能造成访问失败,但不会自动证明有异常 RA。
验证
在测试 VLAN 重新连接一台终端,确认其 IPv6 默认路由只来自预期网关;随后观察一小段时间,验证没有新的非预期 RA。若实施了接入层限制,再从授权端口确认合法 RA 仍可达。保留变更前后路由摘要与设备版本,避免存储完整拓扑或终端标识。
证据与边界
RFC 6105 是本页 RA-Guard 背景与限制的权威来源,Research Engine 已保存抓取哈希。它不替代交换机/无线厂商的当前实现文档,也不保证任一设备支持或正确实现 RA-Guard。