Linux如何永久删除路由?
- Linux
- 2025-07-05
- 2459
在Linux中永久删除路由需编辑网络配置文件(如/etc/network/interfaces或/etc/sysconfig/network-scripts/route-ethX),移除对应路由条目后重启网络服务(如systemctl restart networking),临时路由用
ip route del
命令删除,但重启后失效。
在Linux系统中,路由规则决定了数据包的传输路径,临时删除路由可通过ip route del
或route del
命令实现,但重启后路由会恢复。永久删除路由需修改系统配置文件或使用网络管理工具,确保变更在重启后依然生效,以下是详细方法:
确认当前路由信息
操作前务必查看现有路由,避免误删关键路由:
ip route show # 推荐使用 # 或 route -n
记录目标路由的详细信息(如目标网络、网关、网卡名称),
default via 192.168.1.1 dev eth0 10.0.0.0/24 via 192.168.2.1 dev eth1
永久删除路由的四种方法
根据系统类型选择合适方案:
方法1:通过网络配置文件(CentOS/RHEL/Fedora)
-
定位配置文件
在/etc/sysconfig/network-scripts/
目录下,找到网卡对应的路由文件,命名格式为:route-<网卡名>
(例:route-eth0
)- 若文件不存在,需手动创建。
-
编辑路由文件
删除目标路由条目,文件内容格式示例:# 永久路由格式(每行一条) 10.0.0.0/24 via 192.168.2.1 dev eth1
删除对应行后保存文件。
-
重启网络服务
systemctl restart network # CentOS 7 nmcli connection reload # CentOS 8+/Fedora
方法2:修改/etc/network/interfaces
(Debian/Ubuntu)
-
编辑主配置文件
sudo nano /etc/network/interfaces
-
删除路由指令
在对应网卡配置块中,移除up route add ...
或post-up ip route add ...
开头的行。auto eth0 iface eth0 inet static address 192.168.1.10 netmask 255.255.255.0 gateway 192.168.1.1 # 删除以下行以移除永久路由 up route add -net 10.0.0.0 netmask 255.255.255.0 gw 192.168.2.1 dev eth1
-
应用配置
systemctl restart networking # Debian/Ubuntu
方法3:使用NetworkManager(通用)
适用于带图形界面的桌面版或启用了NetworkManager的服务器:
-
命令行操作(推荐)
# 查看当前连接名称 nmcli connection show # 删除目标路由(以连接名"Wired"为例) nmcli connection modify "Wired" -ipv4.routes "10.0.0.0/24 192.168.2.1" # 清空某网卡所有自定义路由 nmcli connection modify "Wired" +ipv4.routes "" # 重启连接生效 nmcli connection down "Wired" && nmcli connection up "Wired"
-
图形界面操作
打开nmtui
→ 选择”Edit a connection” → 选中网卡 → 在”IPv4 Configuration”中移除”Routes”条目。
方法4:systemd-networkd(Ubuntu 18.04+/Debian 10+)
-
编辑网卡配置文件
配置文件路径:/etc/systemd/network/10-eth1.network
[Match] Name=eth1 [Network] Address=192.168.2.10/24 Gateway=192.168.2.1 # 删除以下路由配置行 Route=10.0.0.0/24 via 192.168.3.1
-
重启服务
systemctl restart systemd-networkd
验证与注意事项
- 验证删除结果
ip route show | grep "10.0.0.0" # 检查目标路由是否消失
- 关键注意事项
- 备份配置文件:操作前执行
cp /path/to/config /path/to/config.bak
。 - 默认路由谨慎操作:删除
default
路由可能导致断网。 - 生产环境测试:建议在非关键服务器测试后再上线。
- 一致性检查:确保所有相关配置文件(如
/etc/rc.local
)无残留路由添加命令。
- 备份配置文件:操作前执行
故障排查
- 路由未生效:检查服务状态
systemctl status networking/network/NetworkManager
。 - 配置文件语法错误:使用
networkctl verify
(systemd-networkd)或nmcli connection reload
。 - 路由残留:排查
/etc/rc.local
、cron
任务或第三方脚本(如云平台的cloud-init
)。
引用说明参考Linux官方文档(ip-route(8)、nmcli(1))及主流发行版网络配置指南(Red Hat、Debian Wiki),操作需管理员权限(
sudo
),不同系统版本可能存在差异。