必须手动配置路由表实现内外网分流:先删除所有冲突的0.0.0.0默认路由,再用route -p add添加永久外网默认路由、内网静态路由及外网业务网段路由,并指定正确接口索引,最后通过route print验证三条路由共存。

电脑插双网线后,系统默认只允许一个网关生效,另一张网卡填的网关会被忽略或触发“多个默认网关”警告,导致内网或外网其中一路不通——必须通过手动干预路由表,让不同目标流量走对应网卡的网关。
先禁用冲突的默认网关
打开命令提示符(Win+R → 输入cmd → 回车),执行:
route print
查看输出中所有以“0.0.0.0”开头的行,通常有两条:一条来自外网卡,一条来自内网卡。Windows只会实际使用跃点数(Metric)更小的那条,默认优先级由系统自动分配,不可靠。
逐条删除这些冲突的默认路由:
route delete 0.0.0.0 mask 0.0.0.0 192.168.1.1
route delete 0.0.0.0 mask 0.0.0.0 10.10.10.1
(把IP替换成你两块网卡各自配置的网关地址)
【必须全部删完,否则后续添加的静态路由不会生效】
为每个网段单独添加精确路由
方法一:按目标网段加路由(推荐)
假设外网网关是10.10.10.1,外网服务集中在10.10.0.0/16网段:
route -p add 10.10.0.0 mask 255.255.0.0 10.10.10.1 if 12
其中if 12是外网网卡的接口索引号,需先用route print最上方“接口列表”查出对应网卡的编号。
方法二:为内网加全网段路由(适合内网范围明确)
若内网是192.168.1.0/24,内网网关为192.168.1.254:
route -p add 192.168.1.0 mask 255.255.255.0 192.168.1.254
这一步不指定if参数也能生效,因为目标网段唯一匹配,系统会自动选对网卡出口。
补上互联网默认出口
第一步删光了所有0.0.0.0路由,现在必须显式指定哪条网关负责上网:
route -p add 0.0.0.0 mask 0.0.0.0 10.10.10.1 if 12
(此处用外网网关,且务必带正确的if值)
注意:这条命令只负责发往非内网地址的流量,比如访问百度、微信服务器等。它和前面的内网路由互不干扰,系统会按最长前缀匹配原则自动分流。
执行完后再次route print,确认三条关键路由都存在:一条0.0.0.0默认路由(外网)、一条内网网段路由、一条外网业务网段路由。
















