ip route 是当前 linux 添加默认网关的标准命令,支持 ipv6、指定接口和优先级;需先确认网关与本机同网段并可达,用 add 或 replace 添加、del 删除,临时生效;永久配置需通过 netplan 等工具写入 yaml 文件。

用 ip route 添加默认网关是当前 Linux 系统的标准做法,命令即时生效、支持 IPv6、可指定接口和优先级,比老旧的 route 命令更可靠。
确认网络接口和网关连通性
添加前先确保目标网关与本机在同一个子网内:
- 运行
ip -br addr show,找状态为 UP 的接口(如eth0、ens33),记下它的 IP 和子网掩码(例如192.168.1.10/24) - 网关 IP 必须落在同一网段(比如
192.168.1.1),否则路由无法正常转发 - 可选:用
ping -c 3 192.168.1.1验证网关是否可达
临时添加或替换默认网关
这类操作不写入配置文件,重启后自动消失,适合调试:
- 添加新默认路由(不检查是否已存在):
sudo ip route add default via 192.168.1.1 dev eth0 - 更推荐用
replace,避免重复路由导致异常:sudo ip route replace default via 192.168.1.1 dev eth0 - 删掉当前默认路由:
sudo ip route del default - 验证是否成功:
ip route show | grep default,输出应只有一行,含via 192.168.1.1和dev eth0
永久保存默认网关(以 Netplan 为例)
Ubuntu 18.04+ 和新版 Debian 默认使用 Netplan,需编辑 YAML 配置:
- 找到配置文件:
/etc/netplan/*.yaml(常见如00-installer-config.yaml) - 在对应网口下添加网关信息,推荐用
routes块(比旧式gateway4更灵活):
routes:
- to: default
via: 192.168.1.1
on-link: true
metric: 100 - 保存后执行:
sudo netplan apply,无需重启服务或机器 - 若报错,加
--debug查看具体语法问题:sudo netplan --debug apply
注意事项
有些细节容易出错,务必留意:
-
route命令已废弃,不支持 IPv6、不能设metric、新版内核行为不稳定,新环境别用 - Netplan 不识别
/etc/network/interfaces或/etc/sysconfig/network-scripts/ifcfg-*中的GATEWAY设置 - YAML 对缩进极其敏感,多一个空格或混用 tab 都会导致
netplan apply失败 - 不要对同一接口同时配置多个
default路由,否则可能引发流量异常或丢包











