连接排障

VPNIPv6路由连接失败故障精准定位排查实用指南

VPNIPv6路由连接失败故障精准定位排查实用指南 | shadowrocket

很多企业和个人用户在部署支持IPv6的VPN隧道时,经常会遇到路由连通性异常、IPv6网段完全无法访问的问题,多数常规排查思路只覆盖IPv4场景,很容易漏掉IPv6专属的配置疏漏点。这份实用指南围绕VPN IPv6路由连接失败定位的全流程,从基础配置校验到逐段节点排查,给出可落地的操作步骤,帮使用者快速缩小故障范围,避免无意义的重复调试。

配置前提合规性前置校验

很多故障的根源在调试开始前就已经存在,首先要确认两端的VPN设备本身已经开启IPv6转发功能,不少默认出厂的网络设备会默认关闭IPv6单播转发,哪怕隧道配置里填了IPv6参数,内核层面也不会转发对应流量。不少新手管理员会跳过这一步,反复修改隧道参数却始终看不到IPv6报文被设备处理,白白耗费大量调试时间。

接下来要核对VPN隧道两端的IPv6地址前缀合法性,运营商分配的公网IPv6地址不能和内网预设的VPN IPv6虚拟网段产生冲突,部分用户习惯把IPv4的私有网段逻辑直接套用到IPv6上,误用公网已分配的IPv6前缀作为内网路由段,会直接导致流量被公网路由拐走,完全无法到达对端VPN节点。这类前缀冲突问题不会在设备配置页面弹出报错提示,很容易被当成隧道本身的故障处理。

隧道层面IPv6连通性初检

完成前置校验之后,首先要测试VPN隧道本身的IPv6封装是否正常,不要一开始就直接测试后端业务网段的连通性。可以先在VPN本端的虚拟接口上配置同段的测试IPv6地址,ping对端VPN节点的虚拟接口IPv6地址,确认隧道封装本身是否能正常传递IPv6报文。如果这一步都无法通,就不需要继续排查后端业务网段的路由配置,直接聚焦隧道本身的适配问题即可。

网络设备:VPN IPv6路由:连接失败

运维人员逐项校验VPN IPv6路由配置,快速缩小故障范围

这里很容易出现的误区是,不少用户看到IPv4的VPN隧道已经通了,就默认IPv6流量也能正常走隧道,shadowrocket下载实际上部分VPN协议的配置里,需要单独指定允许承载的地址族,哪怕物理隧道已经建立,没有开启IPv6地址族支持的话,所有IPv6报文都会被直接丢弃。这类场景下IPv4业务完全正常,只有IPv6路由不通,很容易把排查思路引向错误的方向。

路由发布规则逐项核对

确认隧道本身能传递IPv6报文之后,就进入VPN IPv6路由连接失败定位的核心环节,先检查两端的路由发布配置,无论是用静态路由还是动态路由协议,都要确认IPv6的路由条目已经正确注入到VPN实例的路由表中,而不是只配置到全局IPv6路由表。很多支持多VRF的VPN设备,shadowrocketIPv4和IPv6的路由注入是分开配置的,单独配置IPv4的绑定不会同步适配IPv6。

很多多实例VPN场景下,管理员只给IPv4配置了实例绑定,IPv6的路由条目被放到了全局公网路由表,访问内网IPv6网段的流量直接从公网接口转发,根本不会进入VPN隧道,这类问题用普通的traceroute IPv6工具就能快速看到流量的走向异常,不需要额外的专业工具就能定位问题根源。

中间节点与安全策略排查

如果路由条目显示正常但流量依然不通,就要排查沿途的安全策略是否拦截了IPv6报文,很多防火墙的规则默认只针对IPv4生效,管理员新增VPN相关放通规则的时候,很容易漏掉IPv6对应的规则条目,导致封装后的IPv6报文或者隧道内的IPv6报文被防火墙拦截。部分设备的IPv4和IPv6安全策略是分开两套配置的,只放通IPv4的对应规则完全不会对IPv6流量生效。

部分运营商的中间网络节点,还存在隐性的IPv6报文拦截规则,部分不支持IPv6的传输节点会直接丢弃协议号不对的封装报文,这时候可以通过逐段抓包的方式,在VPN本端内网口、隧道出接口、对端隧道入接口三个位置分别抓包,确认IPv6报文是在哪个节点开始消失的,快速定位故障出在本地侧、公网传输侧还是对端侧。

完成所有排查步骤之后,不要忘记验证连通性的同时检查反向路由的路径,很多管理员只排查从本端到对端的正向路由,忽略了对端返回的IPv6路由是否指向正确的VPN隧道接口,单向通的故障大多都是反向路由配置缺失导致的。完成全流程校验之后,就能覆盖绝大多数常见的VPN IPv6路由连接失败场景。

手机连接编辑组 | shadowrocket
手机连接编辑组
内容编辑

整理 Android 与 iOS 的连接权限、后台运行和网络切换注意事项。

查看更多文章
配置入门

从一个连接问题开始

遇到WireGuard对端端口变更相关问题,可从“同步批准的配置并检查相关网络规则”开始阅读。开放一个端口不等于认证与路由配置正确,需要结合具体环境判断。