Windows双网卡需手动配置路由实现内外网共存:先禁用内网卡“远程默认网关”,再用route -p add添加外网默认路由和内网静态路由,并指定接口IDX与metric值,最后通过ping和nslookup验证连通性与DNS解析。

Windows默认只保留一条默认路由,当两块网卡都配置了网关,后连接的网卡会覆盖前者的默认路由,导致内网或外网断连;必须手动清理冲突路由、区分内外网角色、添加精确指向的永久静态路由,并验证连通性。
确认两张网卡的基础信息
以管理员身份打开CMD,依次执行:
ipconfig /all——记下每张网卡的IPv4地址、子网掩码、默认网关;
netsh int ipv4 show interfaces——查出每张网卡对应的接口编号(IDX),后续添加路由必须指定这个编号;
【务必区分清楚哪张是内网卡(如连公司192.168.10.0/24)、哪张是外网卡(如连WiFi的192.168.1.0/24)】,混淆会导致所有流量走错路径。
禁用内网卡的远程默认网关
右键“此电脑”→“管理”→“设备管理器”→展开“网络适配器”,找到内网所用的有线网卡(如“Realtek PCIe GbE Family Controller”)→右键→“属性”→“网络”选项卡→双击“Internet 协议版本 4 (TCP/IPv4)”→点击“属性”→点右下角“高级”→在“IP设置”区域取消勾选“在远程网络上使用默认网关”→点“确定”逐级保存。
这一步不做,系统会在每次获取IP时自动生成一条0.0.0.0默认路由,和外网路由直接冲突。
清理并重建路由表
方法一:命令行手动清理+添加(推荐)
第一步:运行 route print -4,检查“IPv4 路由表”中是否有多条 Network Destination 为 0.0.0.0 的活动路由;
第二步:执行 route delete 0.0.0.0 mask 0.0.0.0 ——删除所有冲突的默认路由;
第三步:route -p add 0.0.0.0 mask 0.0.0.0 【外网网关IP】 metric 1 if 【外网网卡IDX】 ——添加永久外网默认路由;
第四步:route -p add 【内网网段】 mask 【内网子网掩码】 【内网网关IP】 metric 2 if 【内网网卡IDX】 ——添加永久内网路由,例如 route -p add 192.168.10.0 mask 255.255.255.0 192.168.10.1 metric 2 if 12;
方法二:PowerShell批量设置跃点数(适合Win10/Win11)
以管理员身份运行 PowerShell,执行:
Get-NetIPInterface -AddressFamily IPv4 | Format-Table ifIndex, InterfaceDescription, ConnectionMetric;
记下内网卡和外网卡的 ifIndex,然后分别执行:
Set-NetIPInterface -InterfaceIndex 【内网ifIndex】 -ConnectionMetric 10;
Set-NetIPInterface -InterfaceIndex 【外网ifIndex】 -ConnectionMetric 30;
该方式不修改路由表,而是让系统自动按跃点值生成最优路径,无需 route add,但要求内网网卡未启用“远程默认网关”。
验证连通性与DNS
执行 ping 【内网某台服务器IP】 ——应通;
执行 ping www.baidu.com ——应通;
执行 nslookup internal-server.company.local ——若失败,说明DNS未分发到内网卡;需进入内网卡IPv4属性→“高级”→“DNS”选项卡→勾选“在此连接的DNS后缀中附加这些DNS后缀”,填入内网域名(如 company.local);
外网卡DNS建议设为 8.8.8.8 或 114.114.114.114,避免内网DNS污染外网解析。


















