核心命令:route
所有路由操作都基于 route 命令,我们来看一下它的基本语法和常用参数。

基本语法
route [-f] [-p] [command] [destination]
[MASK netmask] [gateway] [METRIC metric] [IF interface]
关键参数解释
-f:清除路由表,这是一个非常有用的参数,可以删除所有网关条目、主机路由和环回路由路由(接口本身就是255.255.255的路由)。-p:永久路由,这是最重要的参数之一。- 默认情况下,通过
route add添加的路由是临时的,在系统重启后会丢失。 - 加上
-p参数后,路由会被永久保存到注册表中,即使重启电脑也不会丢失。 - 注意:
-p参数不能与command中的print或delete一起使用。
- 默认情况下,通过
command:要执行的操作。print:打印路由表,默认操作,可以直接输入route。add:添加一条路由。delete:删除一条路由。change:修改一条已存在的路由。
destination:目标网络或主机的 IP 地址。168.10.0。MASK netmask:子网掩码,与目标地址配对使用,定义目标网络的范围。255.255.0。- 如果目标是单个主机,掩码是
255.255.255。 - 如果目标是默认路由(所有未知流量),掩码是
0.0.0。
- 如果目标是单个主机,掩码是
gateway:下一跳路由器的 IP 地址,数据包将被发送到这个地址。IF interface:接口索引,数据包将通过哪个网络接口(网卡)发送,如果不指定,系统会自动选择,你可以通过route print查看所有接口及其索引。
常用操作示例
查看当前路由表
这是最常用的操作,可以帮助你了解当前的网络配置。
route print
或者直接输入 route:
route
输出解读:
Network Destination:目标网络。Netmask:子网掩码。Gateway:下一跳地址。Interface:出站接口的 IP 地址。Metric:跃点数,值越小,路由优先级越高。
添加一条永久路由(最常见场景)
假设你的公司内网有两个网段:

- 你当前连接的网段是
168.1.0/24,网关是168.1.1。 - 你需要访问另一个网段
168.10.0/24,这个网段需要通过另一个路由器168.1.254才能到达。
你希望这条路由在重启电脑后依然有效,应该执行:
route -p add 192.168.10.0 MASK 255.255.255.0 192.168.1.254
命令分解:
route -p add:添加一条永久路由。168.10.0:目标网络。MASK 255.255.255.0:目标网络的子网掩码。168.1.254:通往目标网络的网关地址。
添加一条临时路由
如果你只是临时需要访问某个网络,不希望它永久保留,可以不加 -p 参数。
route add 10.0.0.0 MASK 255.0.0.0 192.168.1.254
这条路由在下次重启后会自动消失。

添加一条主机路由
如果你想为单个 IP 地址指定一个特殊的网关,而不是整个网段。
假设你只想访问 IP 为 168.10.100 的这台服务器,并指定它通过 168.1.254 出去。
route -p add 192.168.10.100 MASK 255.255.255.255 192.168.1.254
注意:主机的子网掩码永远是 255.255.255。
添加默认路由
默认路由(也称为网关路由)用于处理所有目标地址不在路由表中的数据包,默认目标地址是 0.0.0,掩码是 0.0.0。
警告:修改默认路由会严重影响你的网络连接,请谨慎操作!
假设你希望所有出站流量都通过一个代理服务器或防火墙,其 IP 为 0.0.1。
route -p add 0.0.0.0 MASK 0.0.0.0 10.0.0.1
这相当于设置了一个新的、永久的默认网关。
删除一条路由
使用 route delete 命令,语法与 add 类似。
删除上面添加的 168.10.0 网段的路由:
route delete 192.168.10.0 MASK 255.255.255.0
或者删除那条主机路由:
route delete 192.168.10.100
如果路由是永久添加的(带 -p),删除时不需要 -p 参数。
清除所有路由表
如果你想重置路由表,删除所有非永久性的路由条目。
route -f
注意:这不会删除永久路由(-p 添加的)和接口相关的路由。
一个完整的实际场景
场景:你的电脑在公司网络中,需要同时访问内网A和内网B。
-
环境信息
- 当前网络(内网A):
168.1.0/24,网关168.1.1。 - 需要访问的内网B:
16.0.0/16。 - 内网B的入口路由器(在你的内网A中):
168.1.254。
- 当前网络(内网A):
-
操作步骤
-
第一步:查看当前路由
route print
你会看到默认路由
0.0.0指向168.1.1。 -
第二步:添加永久路由
route -p add 172.16.0.0 MASK 255.255.0.0 192.168.1.254
执行后,
route print,你会发现在路由表中多了一条关于16.0.0的记录。 -
第三步:测试连通性 使用
ping命令测试是否能访问内网B中的一台主机,16.5.10。ping 172.16.5.10
如果能通,说明路由添加成功。
-
第四步:删除路由(如果不再需要) 如果项目结束,不再需要访问内网B,可以删除该路由:
route delete 172.16.0.0 MASK 255.255.0.0
-
管理员权限
非常重要!:route 命令需要管理员权限才能执行,如果你直接在 CMD 中运行,可能会提示“请求的操作需要提升”。
- 方法:在开始菜单搜索
cmd或命令提示符,右键点击它,选择 “以管理员身份运行”。
进阶:指定出站接口
在某些复杂网络环境中,一台电脑可能有多张网卡连接到不同的网络,你可能需要强制指定从哪个网卡发送数据。
-
通过
route print查看所有接口的索引... 0x... ... 192.168.1.10 ... <--- 索引 15 0x... ... 10.0.0.20 ... <--- 索引 12 ... -
在添加路由时指定
IF参数 假设你想访问16.0.0/16网段,并且必须通过 IP 为0.0.20的网卡(索引为 12)出去,网关是0.0.1。route -p add 172.16.0.0 MASK 255.255.0.0 10.0.0.1 IF 12
| 任务 | 命令示例 | 说明 |
|---|---|---|
| 查看路由 | route print |
查看当前完整的路由表。 |
| 添加永久路由 | route -p add 192.168.10.0 MASK 255.255.255.0 192.168.1.254 |
最常用,重启后保留。 |
| 添加临时路由 | route add 192.168.10.0 MASK 255.255.255.0 192.168.1.254 |
重启后失效。 |
| 添加主机路由 | route -p add 192.168.10.100 MASK 255.255.255.255 192.168.1.254 |
为单个IP指定路径。 |
| 添加默认路由 | route -p add 0.0.0.0 MASK 0.0.0.0 10.0.0.1 |
修改所有出站流量的路径,谨慎使用。 |
| 删除路由 | route delete 192.168.10.0 |
删除指定的路由条目。 |
| 清空路由表 | route -f |
清除所有非永久性路由。 |
希望这份详细的指南能帮助你熟练掌握在 CMD 中添加和管理路由的技能!
