在linux系统中,路由规则决定了数据包的转发路径,当默认路由无法满足特定网段的访问需求时,就需要手动添加路由。linux系统提供了多种添加路由的命令,不同命令的适用场景和持久化方式有所区别,下面逐一介绍具体的操作方法。

一、使用route命令添加路由
route是linux系统中传统的路由管理命令,大部分linux发行版默认都预装了该工具,适合快速添加临时路由。
1. 添加普通路由
添加指定网段的路由,需要指定目标网段、子网掩码和网关地址,命令格式如下:
# 添加192.168.2.0/24网段的路由,网关为192.168.1.1 route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.1.1
如果是添加单个主机的路由,可以使用-host参数:
# 添加访问192.168.2.10主机的路由,网关为192.168.1.1 route add -host 192.168.2.10 gw 192.168.1.1
2. 添加默认路由
默认路由用于转发所有未匹配到具体网段路由的数据包,添加命令如下:
# 添加默认路由,网关为192.168.1.1 route add default gw 192.168.1.1
3. 删除路由
如果需要删除已添加的路由,只需要把add替换为del即可:
# 删除192.168.2.0/24网段的路由 route del -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.1.1
二、使用ip route命令添加路由
ip route是较新的路由管理命令,属于iproute2工具集,功能比route命令更强大,也是目前主流linux发行版推荐使用的路由管理工具。
1. 添加普通路由
使用ip route添加网段路由的命令格式如下:
# 添加192.168.2.0/24网段的路由,网关为192.168.1.1 ip route add 192.168.2.0/24 via 192.168.1.1
添加单个主机路由的命令如下:
# 添加访问192.168.2.10主机的路由,网关为192.168.1.1 ip route add 192.168.2.10 via 192.168.1.1
2. 添加默认路由
ip route添加默认路由的命令如下:
# 添加默认路由,网关为192.168.1.1 ip route add default via 192.168.1.1
3. 删除路由
删除路由同样是将add替换为del:
# 删除192.168.2.0/24网段的路由 ip route del 192.168.2.0/24 via 192.168.1.1
三、配置永久路由
上述两种方式添加的路由都是临时的,系统重启后会自动失效,如果需要配置永久路由,需要根据不同的linux发行版修改对应的配置文件。
1. CentOS/RHEL系统
在CentOS系统中,永久路由配置在网卡对应的路由文件中,文件路径为/etc/sysconfig/network-scripts/route-网卡名,比如网卡名为eth0,文件路径就是/etc/sysconfig/network-scripts/route-eth0,文件内容格式如下:
# 添加192.168.2.0/24网段的永久路由 192.168.2.0/24 via 192.168.1.1 # 添加默认永久路由 default via 192.168.1.1
配置完成后重启网络服务即可生效:
systemctl restart network
2. Ubuntu/Debian系统
Ubuntu系统中永久路由配置在/etc/network/interfaces文件中,在对应网卡的配置段添加post-up命令即可:
auto eth0 iface eth0 inet static address 192.168.1.100 netmask 255.255.255.0 gateway 192.168.1.1 # 网卡启动后添加路由 post-up ip route add 192.168.2.0/24 via 192.168.1.1
修改完成后重启网络服务:
systemctl restart networking
四、路由验证
添加路由后,可以通过以下命令验证路由是否添加成功:
1. 使用route命令查看
route -n
输出结果中可以看到所有的路由规则,Destination列是目标网段,Gateway列是网关地址,Genmask列是子网掩码。
2. 使用ip route命令查看
ip route show
该命令会直接列出所有路由规则,格式更简洁,更容易查看网段和网关的对应关系。
3. 测试连通性
路由添加成功后,可以使用ping命令测试目标网段的连通性:
# 测试访问192.168.2.10主机 ping 192.168.2.10
如果能正常收到响应,说明路由配置生效。
五、注意事项
- 添加路由时,网关地址必须是当前主机可达的地址,否则路由添加会失败。
- 如果同时存在多条匹配同一目标网段的路由,系统会优先选择子网掩码更长的路由,也就是更精确的路由规则。
- 不同linux发行版的永久路由配置文件路径可能有差异,操作前可以先确认系统的发行版类型。
- 使用ip route命令时,网段后面的子网掩码可以直接用斜杠加掩码位数的方式表示,比如192.168.2.0/24,比route命令的netmask参数更简洁。
linuxroute命令ip_route命令路由配置修改时间:2026-07-17 04:09:29