在 Linux 系统中,网络通信离不开路由。当你需要将数据包发送到非本地网络的目标地址时,系统会查询路由表来决定数据包的下一跳路径。其中,静态路由是由管理员手动配置的固定路由规则,不会随网络拓扑变化而自动调整。本文将带你从零开始,轻松掌握 Linux 静态路由的配置方法。
什么是静态路由?
静态路由是网络管理员手动添加的路由条目,用于指定特定目标网络的数据包应通过哪个网关或接口转发。与动态路由(如 RIP、OSPF)不同,静态路由不会自动更新,适用于小型网络或对路由控制要求较高的场景。
查看当前路由表
在添加静态路由前,先了解当前系统的路由表非常重要。你可以使用以下命令查看:
ip route show# 或者使用旧命令route -n 输出示例:
default via 192.168.1.1 dev eth0192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.100 这表示默认网关是 192.168.1.1,本地子网 192.168.1.0/24 直接通过 eth0 接口通信。
临时添加静态路由
使用 ip route add 命令可以临时添加一条静态路由。例如,要让系统访问 10.0.0.0/24 网络时通过网关 192.168.1.254 转发,执行:
sudo ip route add 10.0.0.0/24 via 192.168.1.254 dev eth0 这条命令中的参数含义如下:
10.0.0.0/24:目标网络via 192.168.1.254:下一跳网关地址dev eth0:出站网络接口(可选,但建议指定)
注意:这种方式添加的路由在系统重启后会丢失,属于临时路由。
永久配置静态路由
为了让静态路由在重启后依然生效,需要将其写入配置文件。不同 Linux 发行版的配置方式略有不同。以下是 CentOS/RHEL 和 Ubuntu 的常见做法。
CentOS / RHEL 方式
在 /etc/sysconfig/network-scripts/ 目录下创建一个名为 route-接口名 的文件,例如 route-eth0:
sudo vi /etc/sysconfig/network-scripts/route-eth0 在文件中添加路由规则(每行一条):
10.0.0.0/24 via 192.168.1.254 dev eth0 保存后重启网络服务:
sudo systemctl restart network Ubuntu / Debian 方式
编辑 /etc/netplan/ 下的 YAML 配置文件(如 01-netcfg.yaml),在对应接口下添加 routes 字段:
network: version: 2 ethernets: eth0: dhcp4: no addresses: [192.168.1.100/24] gateway4: 192.168.1.1 routes: - to: 10.0.0.0/24 via: 192.168.1.254 然后应用配置:
sudo netplan apply 验证静态路由是否生效
添加完成后,再次运行 ip route show 查看路由表,确认新路由已存在。还可以使用 ping 或 traceroute 测试连通性:
ping 10.0.0.10traceroute 10.0.0.10 删除静态路由
如果需要删除某条静态路由,使用 ip route del 命令:
sudo ip route del 10.0.0.0/24 总结
通过本教程,你应该已经掌握了如何在 Linux 系统中配置和管理静态路由。无论是临时测试还是永久部署,合理使用静态路由都能提升网络的可控性和安全性。记住,静态路由适用于结构简单的网络环境,在复杂网络中建议结合动态路由协议使用。
如果你正在学习 Linux 网络管理,那么掌握 网络配置、路由表管理 和 手动添加路由 是必不可少的基础技能。希望这篇教程能帮助你顺利入门!
