根本原因是路由表存在两条0.0.0.0默认路由导致出口冲突;需通过route print确认,再用清空内网网关+添加静态路由、手动重建路由表或调整跃点数等方法解决。

电脑同时连内网和外网时打不开网页、ping不通服务器、访问时通时断,根本原因是系统路由表里出现了两条0.0.0.0的默认路由,让数据包不知道该走哪张网卡出门。
先确认是否真有双网关冲突
以管理员身份打开命令提示符,输入:route print → 找到“网络目标”列为 0.0.0.0 的行 → 查看是否有两条以上,且“网关”列指向不同地址(比如一个指向192.168.1.1,另一个指向10.10.10.1)。
只要看到两条0.0.0.0,就坐实了双网关冲突。这时候别急着删,先记下这两条路由对应的“接口”IP和“跃点数”,后面要用。
方法一:只留一个默认网关 + 静态路由补内网
这是最稳妥、兼容性最强的做法,适用于所有Windows版本(Win7至Win11均有效)。
第一步:进网络设置,把内网网卡的默认网关清空(留空不填),仅保留外网网卡的默认网关。这一步能立刻消除0.0.0.0冲突,但会导致内网段无法访问。
第二步:用管理员CMD添加内网静态路由。假设内网网段是10.168.1.0/24,内网网关是10.168.1.1,对应网卡IP是10.168.1.122,则执行:route add -p 10.168.1.0 mask 255.255.255.0 10.168.1.1
注意:-p 参数必须加,否则重启后路由丢失;mask 后面的子网掩码要和内网实际一致,不能写错成255.0.0.0这种宽泛值,否则可能误导其他流量。
第三步:验证。再次运行 route print,确认新路由已出现在列表中,且没有新增的0.0.0.0条目。然后 ping 内网服务器IP(如10.168.1.251)和外网域名(如baidu.com)都应通。
方法二:手动清理并重建路由表(适合已混乱的系统)
当 route print 显示多条0.0.0.0、metric混乱、甚至出现重复网关时,建议彻底重置。
方法一失效或路由表杂乱时才启用此法。操作前务必记下两个网卡的IP、子网掩码、各自网关,否则可能断网。
① 删除全部默认路由:route delete 0.0.0.0
② 指定外网为唯一出口:route add -p 0.0.0.0 mask 0.0.0.0 [外网网关](例如route add -p 0.0.0.0 mask 0.0.0.0 192.168.100.1)
③ 为内网网段单独加路由:route add -p [内网网段] mask [子网掩码] [内网网关]
这三步做完,系统就只剩一条0.0.0.0路由(外网出口)+ 若干明细路由(内网路径),不再打架。
方法三:调跃点数自动优选(轻量级临时方案)
如果只是偶尔需要切网、不想动命令行,可尝试调整接口优先级。
打开“网络连接”→ 右键外网适配器 → “属性” → 双击“Internet 协议版本 4 (TCP/IPv4)” → 点“高级” → 取消勾选“自动跃点”,在“接口跃点数”框中填入10;
同样操作进内网适配器高级设置,把跃点数设为20。
数值越小优先级越高,系统会默认走跃点数低的网关。但此法不能解决跨网段访问失败问题——它只影响默认路由选择,对内网服务器这类非0.0.0.0目标无效,仍需配合静态路由。











