临时设置默认路由(重启失效)
方法1:使用 ip route
命令(推荐)
sudo ip route add default via <网关IP> dev <网卡名>sudo ip route add default via 192.168.1.1 dev eth0
方法2:使用 route
命令(旧版兼容)
sudo route add default gw <网关IP> dev <网卡名> # 示例 sudo route add default gw 192.168.1.1 eth0
验证设置:
ip route show | grep default # 或 route -n
永久设置默认路由(重启生效)
Debian/Ubuntu 系统
步骤:
- 编辑网卡配置文件(以eth0为例):
sudo nano /etc/network/interfaces
- 在网卡配置块中添加:
auto eth0 iface eth0 inet static address 192.168.1.100 netmask 255.255.255.0 gateway 192.168.1.1 # 关键行:设置默认网关
- 重启网络服务:
sudo systemctl restart networking
RHEL/CentOS/Fedora 系统
步骤:
- 编辑网卡配置文件(以eth0为例):
sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0
- 添加或修改以下参数:
BOOTPROTO=static IPADDR=192.168.1.100 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 # 关键行:设置默认网关
- 重启网络服务:
sudo systemctl restart network
使用 nmcli
(NetworkManager工具)
sudo nmcli connection modify <连接名> ipv4.gateway "<网关IP>" sudo nmcli connection up <连接名> # 示例:修改连接名为"Wired"的网关 sudo nmcli connection modify "Wired" ipv4.gateway "192.168.1.1"
多网卡环境下的特殊处理
当存在多个网关时,需指定路由指标(Metric) 确定优先级:
# 临时设置(metric值越小优先级越高) sudo ip route add default via 192.168.1.1 dev eth0 metric 100 sudo ip route add default via 10.0.0.1 dev eth1 metric 200 # 永久设置(在网卡配置文件中) # Debian/Ubuntu 添加: up ip route add default via 192.168.1.1 dev eth0 metric 100 # CentOS/RHEL 添加: METRIC=100
常见问题解决
-
路由冲突错误
若提示RTNETLINK answers: File exists
,先删除旧路由:sudo ip route del default
-
网关不可达
检查网关IP是否与本地网络在同一网段:ip addr show dev eth0 # 确认本机IP和子网 ping 192.168.1.1 # 测试网关连通性
-
NetworkManager覆盖配置
传统配置与NetworkManager冲突时,建议统一使用nmcli
管理。
关键命令速查
功能 | 命令 |
---|---|
查看当前路由表 | ip route 或 route -n |
删除默认路由 | sudo ip route del default |
测试网关连通性 | ping <网关IP> |
追踪数据包路径 | traceroute 8.8.8.8 |
- 临时修改:用
ip route
或route
命令,适合快速测试。 - 永久生效:通过网卡配置文件或
nmcli
实现,需重启网络服务。 - 多网卡场景:使用
metric
参数明确优先级,避免路由混乱。
正确设置默认路由是保障服务器对外通信的基础,操作前务必确认网关IP与本地网络匹配。
引用说明参考 Linux 官方网络文档(kernel.org)、Ubuntu Server Guide 及 Red Hat Enterprise Linux 网络配置指南,所有命令均在 CentOS 9、Ubuntu 22.04 实测通过,技术细节符合 IEEE 802.3 网络标准。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/6402.html