route print 是什么
查看本机路由表,用来判断流量会走哪张网卡、是否存在多条默认路由冲突。排查内网能通而外网不通、流量走了错误出口这类问题,路由表是最直接的证据。
基本信息
| 适用平台 | Windows CMD(PowerShell 侧用 Get-NetRoute) |
|---|---|
| 语法 | route print;route print -4;route print 目标前缀 |
| 关键列 | 网络目标、网络掩码、网关、接口、跃点数 |
| 默认路由 | 网络目标与掩码都为 0.0.0.0 的那一条 |
| 优先级规则 | 多条同目标路由按跃点数与接口优先级决定 |
| 接口列含义 | 显示的是接口地址,需对照输出顶部的接口列表 |
典型使用场景
- 判断去往某个网段的流量会从哪张网卡发出
- 排查多条默认路由冲突导致的出口异常
- 确认 VPN 分流是否按预期只接管指定网段
- 手工添加或删除路由前后对比生效情况
- 排查访问内网地址时误走公网出口的问题
常用示例
常用示例
REM 查看 IPv4 路由表
route print -4
REM 只看 10 开头的目标网段
route print 10.*
REM 对照接口列表确认网卡归属
route print | findstr /i "接口"
REM 结构化查看并按跃点数排序
powershell -c "Get-NetRoute -AddressFamily IPv4 | Sort-Object RouteMetric | Select-Object DestinationPrefix, NextHop, RouteMetric, InterfaceAlias"
REM 添加与删除路由需要管理员权限
rem route add 10.20.0.0 mask 255.255.0.0 192.168.1.1
rem route delete 10.20.0.0路由表列读法
| 列 | 含义 | 判断要点 |
|---|---|---|
| 网络目标 | 目标网段 | 全零表示默认路由 |
| 网络掩码 | 目标掩码 | 全 255 表示单主机路由 |
| 网关 | 下一跳地址 | 直连网段显示为在链路上 |
| 接口 | 本机接口地址 | 对照接口列表确认是哪块网卡 |
| 跃点数 | 路由优先级 | 数值越小优先级越高 |
存在多条默认路由时,按跃点数与接口优先级选择。VPN 分流常通过调整跃点数实现,排查出口异常时要对比各条默认路由的优先级。
命令行添加的路由默认不是持久的,重启后就消失。需要长期生效要加持久化参数,或在启动脚本里重新下发。