Centos如何添加路由,什么时候需要加路由?临时路由和永久路由设置方法

作者:IT技术圈子 阅读:27    日期:2025年06月17日

在 CentOS 里加路由,就是告诉系统:“想去某个网段,得走哪个网关”。比如让服务器访问内网另一台机器,或者让流量走特定网络出口。

应用场景(什么时候需要加路由?)

  1. 访问另一个局域网比如:你的服务器在 192.168.1.0/24,想访问 10.0.0.0/24 的机器,但默认不通,需要手动加路由。
  2. 多网卡分流服务器有 2 个网卡(比如一个接内网,一个接外网),想让某些流量走特定网卡。
  3. VPN 或专线网络连上 VPN 后,需要手动加路由,才能访问 VPN 另一端的私有网络。

添加路由的方法(3种)

方法1:临时添加(重启失效)

ip route add 命令,适合测试:

# 语法:ip route add 目标网段 via 网关 dev 网卡名
ip route add 10.0.0.0/24 via 192.168.1.1 dev eth0

解释:

  • 10.0.0.0/24:你想访问的目标网络。
  • 192.168.1.1:去这个网络需要的网关(一般是路由器 IP)。
  • eth0:从哪个网卡出去(用 ip a 查网卡名)。

验证是否生效:

ip route show  # 查看当前路由表
ping 10.0.0.100  # 测试能否 ping 通目标网络

方法2:永久生效(写入配置文件)

编辑 /etc/sysconfig/network-scripts/route-网卡名(如 route-eth0):

echo "10.0.0.0/24 via 192.168.1.1 dev eth0" >> /etc/sysconfig/network-scripts/route-eth0

然后重启网络服务:

systemctl restart network

适用场景:服务器重启后仍需保留的路由规则。

方法3:用 nmcli(NetworkManager 用户)

如果系统用 NetworkManager 管理网络(比如桌面版 CentOS):

nmcli connection modify eth0 +ipv4.routes "10.0.0.0/24 192.168.1.1"
nmcli connection up eth0

常见问题(避坑指南)

Q:加了路由还是不生效?

  • 检查网关是否可达:ping 192.168.1.1(网关要能通)。
  • 检查防火墙:systemctl stop firewalld 临时关闭测试。

Q:如何删除路由?

ip route del 10.0.0.0/24  # 删除临时路由
rm /etc/sysconfig/network-scripts/route-eth0  # 删除永久路由

Q:路由优先级怎么定?

  • 系统默认优先匹配更精确的路由(比如 192.168.1.100/32 比 192.168.1.0/24 优先级高)。

实际案例(直接抄作业)

案例1:访问另一个局域网

# 临时添加
ip route add 172.16.0.0/16 via 192.168.1.254 dev eth0

# 永久生效
echo "172.16.0.0/16 via 192.168.1.254 dev eth0" >> /etc/sysconfig/network-scripts/route-eth0
systemctl restart network

案例2:强制流量走特定网卡

# 所有访问 8.8.8.8 的流量走 eth1 网卡
ip route add 8.8.8.8 via 192.168.2.1 dev eth1

五、总结

场景命令是否永久
临时测试ip route add ...重启失效
服务器长期用/etc/sysconfig/network-scripts/route-网卡名永久生效
桌面版 CentOSnmcli 修改永久生效

记住口诀:

  • 去哪(目标网络) → 走哪(网关) → 从哪出(网卡)。
  • 临时加路由用 ip route,永久生效写配置文件。