Centos如何添加路由,什么时候需要加路由?临时路由和永久路由设置方法
在 CentOS 里加路由,就是告诉系统:“想去某个网段,得走哪个网关”。比如让服务器访问内网另一台机器,或者让流量走特定网络出口。
应用场景(什么时候需要加路由?)
- 访问另一个局域网比如:你的服务器在 192.168.1.0/24,想访问 10.0.0.0/24 的机器,但默认不通,需要手动加路由。
- 多网卡分流服务器有 2 个网卡(比如一个接内网,一个接外网),想让某些流量走特定网卡。
- 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-网卡名 | 永久生效 |
桌面版 CentOS | nmcli 修改 | 永久生效 |
记住口诀:
- 去哪(目标网络) → 走哪(网关) → 从哪出(网卡)。
- 临时加路由用 ip route,永久生效写配置文件。
相关文章

扫码添加站长好友
技术交流、业务合作、咨询等