OpenWrt IPv6 有地址却提示网络不可达:一次 mwan3 策略路由排查

WAN6 已拿到 IPv6 地址,但在 OpenWrt 上 ping 公网 IPv6 时,立即返回: ping: sendto: Network unreachable 最后发现,现场存在一条与 mwan3 一致的带标记不可达规则。删除它后,IPv6 恢复。这个案例说明:看到了默认路由,也不代表实际流量一定会使用它。 本文记录一次实际排查。公网源地址已替换为文档示例地址;设备名、规则优先级和 mark 应以自己的设备为准。卸载命令适用于使用 opkg 的 OpenWrt。 默认路由存在,为什么仍然不可达 最初排查时怀疑默认路由缺失,随后输出已经能看到带源地址条件的默认路由: default from 2001:db8:1234:5600::4 via fe80::1 dev eth1 proto static metric 512 pref medium default from 2001:db8:1234:5600::/64 via fe80::1 dev eth1 proto static metric 512 pref medium 排查中还临时补了一条普通默认路由: ip -6 route add default via fe80::1 dev eth1 metric 1024 但 ping 仍立即返回 Network unreachable。此时继续叠加默认路由已经没有帮助,需要检查实际选路和策略规则。 先确认上游网关可达 ping -6 -I eth1 -c 3 fe80::1 三次请求全部收到回复,说明 OpenWrt 到上游网关的链路本地通信正常。IPv6 使用 fe80:: 开头的链路本地地址作为下一跳是正常现象;这里指定设备,是为了确定该地址属于哪条链路。 ...

October 24, 2026 · 2 min

Armbian 上 sing-box 开启 auto_redirect 后 IPv6 HTTPS 超时:一次回环地址缺失的排查

在 Armbian 上部署 sing-box TUN 后,我遇到了一个不太直观的问题:IPv6 ping 能通,但开启 auto_redirect 后,IPv6 HTTPS 连接超时。 最终发现,故障并不在 IPv6 公网路由或代理节点,而是 Linux 回环接口 lo 缺少 ::1/128 地址。本文记录定位过程和修复方法。 环境 Linux:Armbian,ARM64,6.18 系列内核 sing-box:1.14.x 网络管理:Netplan + NetworkManager 透明代理:TUN,auto_route: true,auto_redirect: true IPv6:上游自动配置,接口已有全局 IPv6 地址和 RA 默认路由 为保护隐私,本文省略了真实公网地址、MAC、路由器地址、域名及自定义内部路由表编号。以下示例中的 ULA 地址和测试目标用于演示。 故障现象 直接测试 IPv6 HTTPS: curl --noproxy '*' -6 -v --connect-timeout 5 \ --resolve 'cloudflare.com:443:[2606:4700::6810:85e5]' \ https://cloudflare.com/ 开启 sing-box 后: * Trying [2606:4700::6810:85e5]:443... * Connection timed out after 5002 milliseconds curl: (28) Connection timed out 对照实验: ...

October 23, 2026 · 3 min