很多使用OpenWrt设备自部署VPN的用户,经常会遇到VPN客户端接入后无法访问内网资源、部分局域网设备断流,甚至整个网络路由错乱的问题,这类故障大半都和地址段冲突相关。这份指南从普通用户的实际运维场景出发,跳过冗余的理论铺垫,一步步带你完成OpenWrt VPN地址冲突排查,避开绝大多数新手容易踩的配置坑。
配置前提:理清OpenWrt三层地址路由逻辑
在开始排查之前,你需要先确认自己的OpenWrt设备基础网络运行正常,WAN口和上游运营商网络、LAN口和本地内网的连通性没有其他故障,不要刚遇到VPN接入异常就直接修改配置,很多冲突的根源是部署VPN前根本没有梳理过全量网段的对应关系。
这里要明确核心逻辑:OpenWrt上不管是OpenVPN、WireGuard还是IPsec模式的VPN,服务端分配的虚拟网段,本身需要和WAN侧上游网段、LAN侧本地网段、其他虚拟服务网段完全隔离,只要任意两个网段的子网掩码覆盖范围出现重叠,就会触发地址冲突,导致路由转发逻辑出错。
第一步:分层扫描全量已占用网段
排查的第一个动作不要直接改动VPN配置,先登录OpenWrt管理后台,进入网络-接口页面,把所有已经配置的接口网段全部记录下来,包括WAN口获取的上游网关网段、LAN口的本地内网网段、之前配置过的旁路由网段、Docker容器的虚拟网段,还有其他已经部署的隧道服务的网段,不要漏掉任何自定义的虚拟接口。
接下来你可以用OpenWrt自带的arp-scan工具,分别扫描LAN侧和现有VPN虚拟接口侧的所有在线设备地址,确认有没有手动配置过静态IP的设备,刚好落在你VPN预设的虚拟网段里,很多家庭用户之前给NAS、监控摄像头设过静态IP,后来部署VPN的时候选了同一段地址,自己完全没有印象。
这里要注意一个常见误区,很多用户以为只要IP前三位不一样就不会冲突,实际上如果子网掩码不是默认的24位,比如你用了16位掩码的大网段,哪怕前两段相同后面地址完全不同,也会出现路由指向错误,排查的时候一定要把每个网段的子网掩码一起记录,不能只对比IP的前几位。
第二步:定位VPN服务端的冲突配置点
扫完所有已占用网段之后,进入你使用的VPN服务端配置页,比如WireGuard配置界面里的本地IPv4地址字段,还有客户端分配的IP地址池段,把这两个段和之前登记的所有网段做比对,如果出现重叠,就可以直接判定是VPN侧的地址冲突源。
还有一种隐蔽的隐性冲突场景,很多用户开了VPN客户端访问内网的转发规则,却没在防火墙里给VPN虚拟接口单独设置转发区域,系统默认把VPN网段的路由指向了LAN侧,这时候哪怕两个网段的IP数字完全不重叠,也可能出现路由表规则优先级错乱,触发隐性的地址冲突。
遇到这种情况你可以去OpenWrt的路由表页面查看所有生效的路由条目,看有没有两条目标网段覆盖范围重叠的规则,指向不同的出口网关,这类条目存在的话,系统会优先选择掩码更长的规则,很容易导致VPN客户端的数据包跑错链路,表现出来的故障和普通地址冲突几乎没有区别。
验证修复效果的正确流程
调整完冲突的VPN网段之后,不要立刻远程断开当前的管理连接,一定要先在本地内网找一台设备,尝试连接VPN服务端,测试能不能正常获取虚拟IP,能不能同时访问VPN对端的资源和本地内网的常规设备,确认双向连通正常之后,再用外网设备接入VPN做跨网测试。
这里要提醒大家避开一个高频坑,很多人排查完冲突之后,只测试外网能不能正常连接VPN,忘了检查内网原本的设备之间的互访有没有受影响,部分场景下调整VPN网段之后,之前做的端口转发、静态路由规则会出现适配问题,要逐一核对之前的自定义规则有没有指向旧的VPN网段。
日常运维的时候,你可以把OpenWrt下所有用到的网段统一整理成清单,后续新增任何隧道、容器、旁路由服务之前,先对照清单选择未被占用的网段,就能从根源上避免大部分VPN地址冲突问题,不用每次出问题再花大量时间逐行排查路由规则。

