route命令已废弃,不推荐新系统使用;它仅支持IPv4、无法指定metric、行为不稳定,临时设置默认网关可用sudo route add default gw 192.168.1.1,但应优先使用ip route替代。

route 命令可以临时设置默认网关,但已废弃,不推荐在新系统中使用。它不支持 IPv6、无法指定 metric、在新版内核中行为不稳定,且不能保证路由正确生效。若你维护的是较老的系统(如 CentOS 6 或 RHEL 6),或仅需快速验证旧环境,可了解基本用法;否则应优先使用 ip route。
添加默认网关(临时)
执行命令前,确保网关 IP 与当前接口在同一子网。例如接口 IP 是 192.168.1.10/24,网关必须是 192.168.1.x 范围内的地址。
- 基础写法:
sudo route add default gw 192.168.1.1 - 指定出口网卡(更明确):
sudo route add default gw 192.168.1.1 eth0 - 带 metric 设置(控制优先级):
sudo route add default gw 192.168.1.1 eth0 metric 100
查看和删除默认网关
确认当前默认路由是否存在、是否唯一:
- 查看路由表(不解析主机名):
route -n | grep '^0.0.0.0\|default' - 删除指定网关的默认路由:
sudo route del default gw 192.168.1.1 - 清空所有网关条目(慎用):
sudo route -f
为什么不应依赖 route 命令做永久配置
route 添加的路由在重启、网络服务重载或接口 down/up 后会丢失。试图通过写入 /etc/rc.local 来“永久化”存在严重风险:
- systemd 可能跳过
/etc/rc.local执行 - 脚本运行时网络尚未就绪,命令静默失败
- 无法与 Netplan、NetworkManager 等现代网络管理器协同,易引发冲突
- 不支持 on-link 判断,对直连网关场景处理不可靠
替代方案:用 ip route 替代 route
这是当前标准做法,语义清晰、行为稳定、支持 IPv4/IPv6 统一管理:
- 安全替换(覆盖旧 default,不留残留):
sudo ip route replace default via 192.168.1.1 dev eth0 - 仅删除当前 default:
sudo ip route del default - 验证结果:
ip route show | grep default—— 输出应只有一行


















