马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
一台机器插两张网卡、或者同时有有线 + 无线 + VPN 虚拟网卡时,常常出现"明明插了网线却上不了外网"——本质是多张网卡各写了一条默认路由,谁优先级高谁说了算。Windows 下最直接的干预手段就是 route 命令,下面把查看、添加、删除、跃点调整一条龙讲清楚,顺带给出 Linux 的对应做法。
一、为什么需要手动设置默认路由
默认路由(目的地 0.0.0.0/0)决定"去任何地方都先丢给哪个网关"。多网卡时系统会给每张能连通的网卡都加一条,最终由跃点(Metric)决定谁胜出。当你的实际诉求是"办公网走有线、另一个网段走无线/VPN"时,就必须能指定哪张网卡承担默认出口。
二、以管理员身份打开命令行
改路由表需要管理员权限。开始菜单搜索 cmd,右键命令提示符,选以管理员身份运行。route 在高权进程外执行会直接拒绝保存。
三、先看当前路由表
route print
# 只看 IPv4
route print -4
# 只看 IPv6
route print -6
输出里找"活动目的地"部分目标为 0.0.0.0 的那几行,注意它们的网关、接口列地址和 Metric 列数值。
四、添加默认路由
临时生效(重启后消失)
route add 0.0.0.0 mask 0.0.0.0 192.168.1.1
mask 0.0.0.0 其实可以省略(目标 0.0.0.0 本身就代表所有地址),写出来只是让命令更一目了然。不带 -p 的写法只写入内存路由表。
永久生效(重启后保留)
route -p add 0.0.0.0 mask 0.0.0.0 192.168.1.1
加 -p(persistent)才会写进注册表并长期保留。修改完再用 route print 确认一次。
指定出接口
网关不可达时可以直接指网卡:
route -p add 0.0.0.0 mask 0.0.0.0 0.0.0.0 if 12
其中 if 12 是接口的编号,用 route print 输出的接口列表里能看到对应数字。
五、删除默认路由
route delete 0.0.0.0
直接删默认路由会瞬间断网,除非你马上补一条新的上去。生产环境更稳妥的做法是先加后删。
六、用跃点(Metric)控制优先级
跃点数值越小优先级越高。两种控制方式:
- 命令行:
route -p add 0.0.0.0 mask 0.0.0.0 192.168.1.1 metric 10。
- 图形界面:控制面板 → 网络和共享中心 → 更改适配器设置 → 右键网卡 → 属性 → Internet 协议版本 4 (TCP/IPv4) → 高级 → 自动跃点,取消勾选后手动填一个数值。
日常运维里,给不希望承担出口的那张网卡填一个大 Metric(比如 50),让它只在其他线路故障时顶上,是最省心的做法。
七、让特定网段走指定网卡
比默认路由更精细的常见需求:默认走有线,但访问某内网段走 VPN 网卡。
route -p add 10.20.0.0 mask 255.255.0.0 10.8.0.5
这类特定主机/网段路由与默认路由并不冲突,系统会优先匹配更具体的目标。
八、Linux 上的对应操作
# 查看
ip addr
ip route
# 临时添加默认路由
sudo ip route add default via 192.168.1.1 dev eth0
# 永久(写入配置文件)
# Ubuntu/Debian: /etc/netplan/*.yaml 里 gateway4
# RHEL/CentOS: /etc/sysconfig/network-scripts/ifcfg-eth0 里 GATEWAY=
老脚本里偶尔还能见到 sudo route add default gw 192.168.1.1 dev eth0 这种写法,ip route 是当前更推荐的语法。
九、注意事项
- 动手前先确认每张网卡的网关地址与网段,记下原值便于回滚。
- 远程运维场景下改错网关会直接切断连接,务必保留一个可用的回滚命令。
- 先在生产测试环境验证,再上生产。
- 如果改完
route print 看不出变化,检查是否漏了管理员权限,或者 -p 写成了 -p 之外的小写变体。
qidao123.com企服评测-应用市场 编辑提示:本文为多网卡默认路由配置的命令整理,操作路由表前请记录原有条目以便回滚。 |