在CentOS系统中添加路由是网络管理中常见的操作,无论是临时配置还是永久生效,都需要掌握正确的方法,路由配置的正确性直接影响网络连通性,因此理解其原理和操作步骤至关重要,本文将详细介绍在CentOS系统中添加路由的多种方法,包括临时路由、永久路由的配置,以及不同场景下的路由管理技巧。

理解路由表的基本概念
路由表是Linux内核中用于决定数据包传输路径的规则集合,当系统需要发送数据包时,会查询路由表以确定下一跳地址或出口接口,路由表条目通常包括目标网络、子网掩码、网关、接口和跃点数等字段,在CentOS中,可以使用route命令或ip route命令查看当前路由表信息。ip route show命令会显示所有路由条目,包括默认路由、特定网络路由等,理解这些基本概念是配置路由的前提。
使用route命令添加临时路由
route命令是较早的Linux路由管理工具,适用于临时添加路由,其语法简单,适合快速测试或临时网络调整,要添加一条到达特定网络的路由,可以使用以下命令:
route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.1.1
这条命令表示所有 destined for 192.168.2.0/24 网络的数据包将通过网关 192.168.1.1 转发,需要注意的是,route命令添加的路由在系统重启后会失效,因此仅适用于临时场景。route命令不支持更复杂的路由策略,如基于源地址的路由。
使用ip命令添加临时路由
ip命令是iproute2工具包的一部分,功能更强大且推荐使用,与route命令相比,ip命令支持更丰富的路由配置选项,添加临时路由的命令如下:
ip route add 192.168.2.0/24 via 192.168.1.1
这条命令的效果与route命令相同,但语法更简洁。ip命令还支持添加路由时指定接口或跃点数,
ip route add 192.168.3.0/24 dev eth0
这条命令表示数据包通过eth0接口直接转发,无需经过网关,临时路由同样会在系统重启后丢失,适合测试或临时调整。
配置永久路由的方法
在生产环境中,通常需要路由配置在系统重启后依然生效,CentOS提供了多种方法实现永久路由配置,以下是两种常见方式。
通过/etc/sysconfig/network-scripts/目录配置
对于CentOS 7及更早版本,可以通过修改网络接口配置文件添加静态路由,为eth0接口添加路由,编辑/etc/sysconfig/network-scripts/route-eth0文件,添加以下内容:
ADDRESS0=192.168.2.0
NETMASK0=255.255.255.0
GATEWAY0=192.168.1.1
保存文件后,重启网络服务或重启系统即可使路由永久生效,这种方法适用于传统网络管理工具。

通过NetworkManager配置
CentOS 7及更高版本默认使用NetworkManager管理网络,可以通过nmcli命令行工具添加永久路由。
nmcli con mod eth0 +ipv4.routes "192.168.2.0/24 192.168.1.1"
这条命令会将路由添加到eth0连接的配置中,执行后,NetworkManager会自动应用配置,并在重启后保持生效,对于图形化界面用户,也可以通过nmtui工具配置路由。
管理多网关环境下的路由策略
在多网关环境中,可能需要根据不同的目标网络选择不同的网关,可以配置静态路由并指定跃点数(Metric),跃点数越小,路由优先级越高。
ip route add 10.0.0.0/24 via 192.168.1.1 metric 100
ip route add 10.0.0.0/24 via 192.168.1.2 metric 200
这样,系统会优先选择跃点数为100的路由,在永久配置中,同样可以在路由配置文件中指定METRIC参数。
验证和调试路由配置
配置完成后,需要验证路由是否正确生效,可以使用ping或traceroute命令测试网络连通性。ping 192.168.2.1可以测试是否能够通过配置的网关到达目标网络,如果无法连通,可以使用traceroute命令跟踪数据包路径,定位问题节点,检查/etc/resolv.conf文件确保DNS配置正确,避免因域名解析失败导致的连通性问题。
删除或修改路由配置
当需要删除或修改路由时,可以使用ip route del命令,删除之前添加的路由:
ip route del 192.168.2.0/24 via 192.168.1.1
对于永久路由,需要编辑相应的配置文件或使用nmcli命令修改配置。
nmcli con mod eth0 -ipv4.routes "192.168.2.0/24 192.168.1.1"
删除路由后,重启网络服务使配置生效。
常见问题及解决方案
在配置路由时,可能会遇到一些常见问题,路由添加后不生效,可能是由于网关不可达或接口未激活,检查网关地址是否正确,确认接口状态为UP,另一个常见问题是多路径路由配置错误,导致网络不稳定,需要仔细检查跃点数和网关优先级设置。

FAQs
问题1:如何在CentOS中查看当前路由表?
解答:可以使用ip route show或route -n命令查看当前路由表。ip route show显示更详细的路由信息,包括跃点数和接口,而route -n以数字形式显示,适合快速查看。
问题2:永久路由配置后重启系统不生效怎么办?
解答:首先检查路由配置文件是否保存在正确的目录,如/etc/sysconfig/network-scripts/route-eth0,对于NetworkManager管理的网络,确保使用nmcli命令添加路由并保存配置,如果问题依旧,可以尝试重启网络服务或检查系统日志中的错误信息。