服务器路由命令是网络管理中用于配置和管理数据包转发路径的核心工具,它们决定了网络流量如何在不同的网络节点之间传输,直接影响网络的稳定性、性能和安全性,在服务器管理中,熟练掌握路由命令能够帮助管理员优化网络连接、排查网络故障以及实现复杂的网络策略,以下将详细介绍服务器中常用的路由命令,包括其功能、使用场景及操作示例。

路由命令基础
路由命令通常通过操作系统的命令行界面(CLI)执行,不同操作系统(如Linux、Windows)的命令略有差异,但核心功能相似,在Linux系统中,最常用的路由命令是ip route
和route
;而在Windows系统中,则主要使用route
和netsh
命令,这些命令可以查看、添加、删除或修改路由表,从而控制数据包的转发路径。
Linux系统中的路由命令
查看路由表
使用ip route show
或route -n
命令可以查看当前系统的路由表。
ip route show
输出结果会显示目标网络、网关、接口、跃点数等信息。
default via 192.168.1.1 dev eth0
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.100
10.0.0.0/24 via 192.168.1.2 dev eth0
default
表示默认路由,所有未知目标网络的流量将通过网关168.1.1
从eth0
接口发出。

添加静态路由
静态路由是由管理员手动配置的路由,适用于网络结构简单或需要固定路径的场景,使用ip route add
命令添加静态路由,
ip route add 10.0.0.0/24 via 192.168.1.2 dev eth0
该命令表示目标网络0.0.0/24
的流量将通过网关168.1.2
从eth0
接口转发,如果需要永久保存路由(重启后不丢失),需将命令写入/etc/network/interfaces
或/etc/sysconfig/network-scripts/route-eth0
文件(具体取决于发行版)。
删除路由
使用ip route del
命令删除指定路由,
ip route del 10.0.0.0/24 via 192.168.1.2 dev eth0
修改路由
若需修改现有路由,可先删除原路由再添加新路由,或使用ip route change
命令(需确保路由已存在)。

ip route change 10.0.0.0/24 via 192.168.1.3 dev eth0
Windows系统中的路由命令
查看路由表
使用route print
命令可以查看当前系统的路由表。
route print
输出结果会包含网络目标、子网掩码、网关、接口跃点数等列。
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 192.168.1.1 192.168.1.100 20
192.168.1.0 255.255.255.0 192.168.1.100 192.168.1.100 286
10.0.0.0 255.255.255.0 192.168.1.2 192.168.1.100 286
添加静态路由
使用route add
命令添加静态路由,
route add 10.0.0.0 mask 255.255.255.0 192.168.1.2
若需永久保存路由(重启后有效),需添加-p
参数:
route -p add 10.0.0.0 mask 255.255.255.0 192.168.1.2
删除路由
使用route delete
命令删除路由,
route delete 10.0.0.0
高级路由配置
基于策略的路由(PBR)
PBR允许根据数据包的源IP、目标IP或端口等属性选择不同的路由路径,在Linux中,可通过ip rule
和ip route
实现;在Windows中,需使用netsh
命令配置高级路由策略,在Linux中添加基于源IP的策略路由:
ip rule add from 192.168.1.100 table 100 ip route add default via 192.168.1.2 table 100
多路径路由
多路径路由允许流量通过多个网关或链路负载均衡,提高网络冗余性,在Linux中,可通过nexthop
参数实现:
ip route add default nexthop dev eth0 weight 1 nexthop dev eth1 weight 1
路由故障排查
当网络出现连通性问题时,可通过以下命令排查:
ping
:测试与目标主机的连通性。traceroute
(Linux)或tracert
(Windows):跟踪数据包的传输路径。netstat -rn
(Linux)或route print
(Windows):检查路由表配置是否正确。
常用路由命令对比
以下为Linux和Windows中常用路由命令的对比:
功能 | Linux命令 | Windows命令 |
---|---|---|
查看路由表 | ip route show 或route -n |
route print |
添加静态路由 | ip route add <目标> via <网关> |
route add <目标> mask <掩码> <网关> |
删除静态路由 | ip route del <目标> via <网关> |
route delete <目标> |
永久保存路由 | 写入配置文件 | route -p add <目标> mask <掩码> <网关> |
策略路由 | ip rule 和ip route |
netsh routing |
相关问答FAQs
Q1: 如何在Linux服务器上设置默认路由?
A1: 在Linux服务器上,可通过以下命令设置默认路由:
ip route add default via <网关IP> dev <接口名>
设置默认网关为168.1.1
,接口为eth0
:
ip route add default via 192.168.1.1 dev eth0
若需永久生效,需将命令写入/etc/network/interfaces
(Debian/Ubuntu)或/etc/sysconfig/network-scripts/route-eth0
(CentOS/RHEL)。
Q2: Windows服务器中如何删除所有非默认路由?
A2: 在Windows服务器中,可通过以下步骤删除所有非默认路由:
- 首先导出当前路由表到文本文件:
route print > routes.txt
- 编辑
routes.txt
文件,保留默认路由(目标为0.0.0
)的条目,删除其他条目。 - 使用
route delete
命令逐条删除非默认路由,或通过批处理脚本自动化删除,删除目标为0.0.0
的路由:route delete 10.0.0.0
- 若需批量删除,可结合
findstr
和for
命令解析路由表并执行删除操作。