家里或公司的局域网若与 VPN 下发的路由或节点内网使用同一私网段,发往打印机、网关或内网服务的包可能被送进隧道。2026 年判断这件事,要看路由表里谁的前缀更长,而不是只看默认路由是否指向 VPN;分应用分流是另一层决定,需要分开核对。
网段重叠时,包去了哪里
一个可独立引用的定义句:路由冲突是指同一目的地址同时命中两条或多条路由,系统必须从中选出一条实际转发路径。
另一个定义句:最长前缀匹配是指目的地址命中多条路由时,前缀更长、覆盖范围更小的那条优先。
截至 2026 年,私有地址仍主要落在 10.0.0.0/8、172.16.0.0/12 和 192.168.0.0/16(RFC 1918)。家里路由器常用其中的一个 /24,例如 192.168.1.0/24;公司局域网常用 10.0.0.0/8 里的一段。VPN 也可能把远端办公室的同样数字,或节点自己的地址池,写进你的路由表。数字相同,并不表示那是同一个局域网。
打印机 192.168.1.20 若命中「经物理网卡、在链路上的 192.168.1.0/24」,包留在本地。若一条等长或更长的前缀把接口改成虚拟网卡,包进入隧道,远端并没有这台打印机,访问就失败。网关(常见是该网段的 .1)也是这个网段里的地址,不是默认路由本身。
| 目的 | 本地已有 | VPN 写入 | 谁更具体 | 包通常去哪 |
|---|---|---|---|---|
| 192.168.1.20 打印机 | 192.168.1.0/24 物理网卡 | 无等长或更长前缀 | 本地 /24 | 留在局域网 |
| 192.168.1.20 | 192.168.1.0/24 物理网卡 | 同为 /24 且隧道条目被选中 | 等长,看度量 | 进隧道,打到错误网络或黑洞 |
| 10.1.2.10(家里是 192.168) | 无此私网 | 10.0.0.0/8 或更长前缀指向隧道 | VPN 那条 | 去远端内网(若这是预期) |
| 10.1.2.10(家里也是 10.1.2.0/24) | 10.1.2.0/24 物理网卡 | 仅 10.0.0.0/8 指向隧道 | 本地 /24 | 留在家里,远端同号段到不了 |
| 公网地址 | 0.0.0.0/0 | 0.0.0.0/1 与 128.0.0.0/1 | /1 比 /0 更长 | 公网进隧道,不自动覆盖 /24 |
默认路由为什么经常被误判
一个定义句:默认路由是前缀为 0.0.0.0/0(IPv4)或 ::/0(IPv6)的路由,只在没有更具体前缀命中时才被使用。
现代 VPN 技术架构里的全隧道,会把默认路由或一对更具体的 /1 指向虚拟网卡。/1 比 /0 长,所以公网流量进隧道;它仍比 192.168.1.0/24 短,因此只替换默认路由,通常抢不走已经存在的局域网前缀。
网关打不开,不能用「默认路由变了」解释完。更常见的是:
- VPN 推送了与本地等长或更长的前缀,例如整个 192.168.1.0/24,或某一台主机的 /32;
- 两条前缀等长,度量让隧道那条胜出,原来的直连路由还在表里,但没有被选中;
- 系统使用策略路由:主表看起来正常,特定进程查的是另一张表;
- TUN 全局代理把包收进虚拟网卡后,内部规则没有把私网重新直连,而是封装到节点。
有的客户端不删除原来的默认路由,而是写入 0.0.0.0/1 和 128.0.0.0/1。这两条合起来覆盖全部 IPv4,又比 /0 更具体。读表时要同时看到它们,不要只搜索一条 0.0.0.0/0。
前缀等长时还要看哪一列
前缀一样长时,最长前缀匹配不再区分胜负。此时对照下面几列:
| 列 | 在回答什么 | 重叠时怎么读 |
|---|---|---|
| 前缀与掩码 | 这条路由覆盖多大 | 掩码越长越优先 |
| 下一跳 | 包交给谁 | 空或 on-link 常表示本网段直连 |
| 接口 | 从哪张网卡离开 | 物理网卡,还是 tun、utun、Wintun 一类虚拟网卡 |
| 度量 | 等长时谁优先 | 数值含义因系统而异,以「当前选中的那条」为准 |
据 Windows 路由文档,有效度量更低者通常优先,该数字不要直接套到 Linux 或 macOS。Linux 上以 ip route get 打印的结果为最终选择。
重叠常见从哪来
同一组私网数字会在几个地方反复出现:
- 家庭局域网:许多路由器出厂使用 192.168.0.0/16 中的一个 /24,打印机和网关都在这段里。
- 公司局域网:大量办公网使用 10.0.0.0/8。VPN 若把整个 10/8 推到笔记本,所有 10 开头的目的地址都会按这条前缀比较;家里若也使用 10 段,更长的本地前缀仍可能留下,等长覆盖则会把家用设备送进隧道。
- 节点内网:隧道分配的地址池若与你正在访问的网段相同,回程可能落到地址池里的另一台主机,而不是你家的打印机。
- 远端办公室:推送路由的本意是访问公司内网。地址规划与家里重复时,同一条路由不能同时代表两个地点。
这与 VPN 是什么中的模型一致:隧道是一条逻辑通道,路由表才决定哪个 IP 进入这条通道。
怎么读路由表
读表要回答的只有一句:这个 IP 此刻匹配到哪一条,接口是不是物理网卡。
- 从系统或路由器页面记下本机地址与掩码。192.168.1.20/24 表示本地前缀是 192.168.1.0/24,网关常见是 192.168.1.1。
- 断开 VPN,查询该网关或打印机 IP,确认接口是 Wi-Fi 或以太网。
- 连上 VPN 后对同一 IP 再查一次。接口若变为虚拟网卡,且前缀没有变短,就是被等长路由或策略送进了隧道。
- 用 IP 访问,不要只用打印机名称,以免把 DNS 问题算进路由。
- 再查一个公网地址,确认默认路由或 /1 的结论与私网不是同一条。
2026 年各系统仍用不同命令查看「最终选中的路由」:
| 系统 | 查看单地址匹配 | 要看的字段 |
|---|---|---|
| Windows | route print,或 PowerShell 的 Get-NetRoute | DestinationPrefix、InterfaceAlias、RouteMetric |
| macOS | route -n get 192.168.1.1 | interface、destination、gateway |
| Linux | ip route get 192.168.1.1 | dev、via、src |
把示例 IP 换成你的打印机或网关。这些命令只查询路由决策,不修改网络。
对照记录示例:2026 年 9 月,家庭宽带或公司办公网,Windows 11 或 macOS,客户端处于全局模式。连接前、连接后各保存一次到打印机 IP 的匹配行。无法确认是否还有策略路由时,写「据本次路由查询」,不要写成所有产品的固定行为。
IPv6 另有默认路由 ::/0。双栈机器上只核对 IPv4,可能漏掉一条更具体的 IPv6 前缀。打印机若同时有 IPv6 地址,两条都要看。
和分应用分流是两层决定
分流回答「哪些进程、域名或网段进入隧道」;路由表回答「这个 IP 当前从哪张网卡离开」。两层可以不一致。
- 只改了分应用:未进入 VPN 的程序仍查主路由表。主表里的局域网前缀若仍指向物理网卡,这些程序通常还能访问打印机。被送进 VPN 接口的程序,可能根本不查这条本地前缀。
- 只加了路由例外:操作系统把 192.168.0.0/16 指向物理网卡,客户端仍按进程把打印服务送进隧道。路由看起来已直连,那个进程依然失败。
- TUN 全局加内部规则:系统路由往往只显示默认路径指向虚拟网卡。私网是否直连,发生在客户端读出 IP 包之后。规则没有覆盖 10.0.0.0/8、172.16.0.0/12、192.168.0.0/16 时,节点一侧没有你的打印机。
| 你改了什么 | 路由表常见变化 | 打印机仍失败时再看 |
|---|---|---|
| 把打印相关进程移出 VPN | 主表可能不变 | 该进程是否真的不在列表中 |
| 为局域网前缀加直连例外 | 该前缀接口回到物理网卡 | 是否还有更长的 /32 指向隧道 |
| 从全局改为按需 | 默认路由离开虚拟网卡 | 公司内网前缀是否仍被推送 |
| 只改默认路由 | /24 可能完全没变 | 不要用这一项解释网关故障 |
分流不会自动生成一条正确的局域网路由。网段数字重叠时,要显式决定这个前缀代表家里,还是代表远端。
先和 MTU、DNS、NAT 分开
「已经连上,但有的地址打不开」不一定是路由冲突。
| 现象 | 更像网段重叠 | 更像其他层 |
|---|---|---|
| 只有打印机、网关、NAS 等私网地址失败,公网正常 | 是 | — |
| 同一 IP 在连接后,接口从物理网卡变为虚拟网卡 | 是 | — |
| 小页面正常、大页面卡住 | 否 | MTU 与路径黑洞 |
| 换成 IP 就通、用名称不通 | 否 | DNS |
| 两端都在运营商 NAT 后,点对点直连失败 | 否 | NAT 穿越 |
| 全部地址都不通 | 较少 | 默认路由或隧道尚未建立 |
没有连接前后的对照时,不要把「网关打不开」直接写成网段重叠。
常见误解
误解 1:默认路由指向 VPN,局域网就一定全部中断。
更具体的前缀仍然优先。先看打印机所在前缀的接口,再判断默认路由。
误解 2:公司推送了 10.0.0.0/8,家里所有设备都会被带走。
只有目的地址落在被选中的那条前缀里才会。家里若是 192.168.1.0/24,且没有更优先的覆盖,这段仍留在本地。
误解 3:分应用放行了浏览器,打印机就会恢复。
访问打印机的可能是系统服务或另一个进程。路由前缀和进程列表要各查一次。
误解 4:把家里改成少见网段后就不会再重叠。
更换网段能降低与常见 10.0.0.0/8、192.168.0.0/16 撞车的机会。公司若仍推送你的新前缀,或设备写死了旧地址,访问会换成另一种失败。改地址前先确认打印机和网关是否依赖原网段。
建议按这个顺序核对
先写四行:打印机或网关的 IP、它所属前缀、连接 VPN 前的接口、连接后的接口。接口从物理网卡变成虚拟网卡,且前缀没有变短,就按重叠处理。
这段前缀若应留在本地,为它保留一条经物理网卡的直连,或让不需要进隧道的进程离开 VPN 接口。这段前缀若是公司要求经隧道访问的内网,就不要改成直连。一次只改一项,然后复测三件事:该私网 IP、网关页面、一条公网地址。私网恢复的同时,确认仍需要的远端内网没有被同一条例外一起排除。
把日期、系统和客户端模式记在旁边。2026 年 9 月之后若客户端升级或路由器改过网段,用同一张表再读一次。