静态路由是Linux系统中由网络管理员手动设置并维护的路由规则,它不会像动态路由那样根据网络拓扑变化自动调整,所有路由条目都需要人工手动添加、修改或删除。这种路由方式不需要运行额外的路由协议进程,资源占用低,配置逻辑清晰,适合小型网络或者网络结构长期稳定的环境使用。

静态路由的核心特点
静态路由的优势和局限性都比较明确,主要体现在以下几个方面:
- 配置简单:不需要复杂的协议配置,只需要指定目标网络、子网掩码和下一跳地址即可完成设置。
- 资源占用低:不需要运行动态路由协议,不会占用额外的CPU和内存资源,适合资源有限的设备。
- 安全性高:路由条目由管理员手动控制,不会被网络中的恶意路由更新干扰。
- 灵活性差:如果网络拓扑发生变化,比如某条链路故障,静态路由不会自动切换,需要管理员手动修改配置。
- 维护成本高:在大型复杂网络中,手动配置所有路由条目的工作量极大,容易出错。
Linux中配置静态路由的常用方式
Linux系统中配置静态路由主要有两种常用工具,分别是传统的route命令和新一代的ip route命令,两种方式的使用场景和语法略有不同。
使用route命令配置静态路由
route命令是Linux早期就提供的路由管理工具,语法相对简单,适合临时配置静态路由,重启后会失效。
添加静态路由的基本语法如下:
# 添加到达目标网络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 # 添加默认路由,所有未知目标网络的流量都转发到192.168.1.254 route add default gw 192.168.1.254 # 查看当前系统的路由表 route -n
如果需要删除静态路由,只需要把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更强大,也是目前更推荐的路由配置方式,同样临时配置重启后失效。
添加静态路由的基本语法如下:
# 添加到达目标网络10.0.0.0/24的静态路由,下一跳为192.168.1.2 ip route add 10.0.0.0/24 via 192.168.1.2 # 添加默认路由 ip route add default via 192.168.1.254 # 查看路由表 ip route show
删除静态路由的语法:
# 删除到达10.0.0.0/24的静态路由 ip route del 10.0.0.0/24 via 192.168.1.2
配置永久生效的静态路由
上述两种方式配置的静态路由都是临时的,系统重启后会丢失,如果需要永久生效,需要根据Linux发行版的不同修改对应的配置文件。
CentOS/RHEL系统
在CentOS 7及以上版本中,可以通过修改网卡配置文件或者创建路由配置文件实现永久生效。比如在网卡eth0的配置目录下创建路由文件:
# 创建路由配置文件,文件名格式为route-网卡名 vim /etc/sysconfig/network-scripts/route-eth0
文件内容可以添加如下路由规则:
# 格式:目标网络/掩码 via 下一跳地址 192.168.3.0/24 via 192.168.1.3 default via 192.168.1.254
保存后重启网络服务即可生效:
systemctl restart network
Ubuntu/Debian系统
Ubuntu系统中可以修改/etc/netplan/目录下的网络配置文件,在配置中添加路由规则:
network:
version: 2
ethernets:
eth0:
addresses: [192.168.1.100/24]
gateway4: 192.168.1.254
routes:
- to: 172.16.0.0/24
via: 192.168.1.5
保存后执行netplan apply使配置生效。
静态路由的适用场景
静态路由并不是适用于所有网络环境,它的优势在以下场景中会更加明显:
- 网络结构非常简单,只有少数几个网段,拓扑长期不会变动。
- 对网络安全性要求高,不希望运行动态路由协议,避免路由信息被窃取或篡改。
- 设备资源有限,无法运行动态路由协议进程,比如嵌入式Linux设备、低端路由器。
- 需要固定某些流量的转发路径,比如指定特定网段的流量走特定的出口链路。
如果网络规模较大、拓扑变动频繁,静态路由的维护成本会急剧上升,这种情况下更适合使用OSPF、BGP等动态路由协议。
Linux静态路由route命令ip_route命令网络配置修改时间:2026-06-14 14:45:36