Route命令查看与修改路由表的完整指南
目录导读
- 什么是路由表?——网络通信的“地图”
- Route命令基础:查看路由表的两种核心方法
- 实战修改路由表:添加、删除与修改路由条目
- 路由表查看与修改的常见问题与解答(FAQ)
- 安全提示:修改路由表的风险与最佳实践
什么是路由表?——网络通信的“地图”
路由表(Routing Table)是存储在路由器或计算机操作系统中的一张“电子地图”,它决定了数据包从源地址到目的地址的转发路径,每条路由条目包含以下关键字段:

- 目标网络(Destination):目的IP地址或子网。
- 子网掩码(Netmask):确定网络范围。
- 网关(Gateway):下一跳路由器的IP地址。
- 接口(Interface):本地用于发送数据的网络接口(如eth0、WLAN)。
- 度量值(Metric):路由优先级,值越小优先级越高。
Q1:为什么需要手动修改路由表? A:当默认路由(/0)无法满足需求时(如连接多个子网、VPN分流、双网卡负载均衡),就需要手动添加静态路由,公司内网192.168.2.0/24需要经过特定网关访问,而其他流量走默认网关。
Route命令基础:查看路由表的两种核心方法
Windows系统下使用route print
在命令提示符(CMD)中输入:
route print
输出示例:
IPv4 路由表
===========================================================================
活动路由:
网络目标 网络掩码 网关 接口 跃点数
0.0.0.0 0.0.0.0 192.168.1.1 192.168.1.100 25
127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 331
192.168.1.0 255.255.255.0 192.168.1.100 192.168.1.100 25
关键列解释:
0.0.0.0表示默认路由。接口显示本机IP,网关是下一跳路由器。
Linux/Mac系统下使用route -n或ip route
route -n
或更现代的命令:
ip route show
输出示例:
default via 192.168.1.1 dev eth0 proto dhcp metric 100
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.100 metric 100
Q2:如何区分活动路由和持久路由? A:
route print中的“活动路由”是当前生效的路由;而Windows的route add -p可添加持久路由(重启后保留),Linux需写入配置文件(如/etc/network/interfaces)。
实战修改路由表:添加、删除与修改路由条目
Windows系统添加静态路由
假设需要将发往192.168.10.0/24的数据包通过网关192.168.1.200转发,接口为本地IP 192.168.1.100:
route add 192.168.10.0 mask 255.255.255.0 192.168.1.200 metric 10
添加持久路由(重启后保留):
route -p add 192.168.10.0 mask 255.255.255.0 192.168.1.200 metric 10
Linux系统添加路由
ip route add 192.168.10.0/24 via 192.168.1.200 dev eth0
删除路由:
ip route del 192.168.10.0/24
修改路由(先删除再添加):
ip route del 192.168.10.0/24
ip route add 192.168.10.0/24 via 192.168.1.250 dev eth0
修改默认网关
Windows:
route change 0.0.0.0 mask 0.0.0.0 192.168.1.2
Linux:
ip route del default
ip route add default via 192.168.1.2 dev eth0
Q3:添加路由后立即生效吗?重启会失效吗? A:立即生效,但重启后临时路由会丢失,若需永久生效,Windows用
-p参数,Linux需写入/etc/rc.local或网络配置文件。
路由表查看与修改的常见问题与解答(FAQ)
Q4:路由表中出现“坏网关”或“路由冲突”怎么办?
A:使用route -f(Windows)或ip route flush(Linux)清空路由表,然后重新添加正确条目,注意:此操作会中断网络连接,建议在本地控制台执行。
Q5:如何查看路由表中各条目的使用次数?
A:Windows的netstat -r可显示发送到每个路由的包数;Linux的route -Cn可查看缓存统计(需root权限)。
Q6:为什么添加路由后网络无法访问? A:常见原因:
- 网关不可达(ping测试)。
- 子网掩码错误(如把255.255.255.0写成255.255.255.255)。
- 接口未启用或IP配置错误。
Q7:双网卡环境下如何实现流量分流? A:外网流量走网关192.168.1.1(网卡1),内网流量走网关10.0.0.1(网卡2):
ip route add 0.0.0.0/0 via 192.168.1.1 dev eth0
ip route add 10.0.0.0/8 via 10.0.0.1 dev eth1
注意需设置路由优先级(metric),值小的优先。
安全提示:修改路由表的风险与最佳实践
- 风险:错误的路由可能导致网络断联、数据泄露(如将公司内网指向外部网关)或路由环路(数据包在路由器间无限转发)。
- 最佳实践:
- 修改前备份当前路由表:
route print > backup.txt(Windows)或ip route save > backup.bak(Linux)。 - 使用
ping和tracert(Windows)或traceroute(Linux)验证新路由是否能到达目标。 - 仅在必要的最小范围内添加路由(精确的子网掩码,避免使用泛路由)。
- 避免在关键设备(如企业路由器)上直接操作,优先通过模拟环境测试。
- 修改前备份当前路由表:
通过本指南,您已掌握使用route命令查看和修改路由表的核心技能,无论是Windows还是Linux环境,理解路由表的工作原理都能帮助您高效解决网络连接问题,建议从简单的静态路由开始实践,逐步深入复杂场景。