菜鸟科技网

如何用cmd命令添加静态路由?

核心命令:route

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

如何用cmd命令添加静态路由?-图1
(图片来源网络,侵删)

基本语法

route [-f] [-p] [command] [destination]
       [MASK netmask]  [gateway]  [METRIC metric]  [IF interface]

关键参数解释

  • -f:清除路由表,这是一个非常有用的参数,可以删除所有网关条目、主机路由和环回路由路由(接口本身就是 255.255.255 的路由)。
  • -p永久路由,这是最重要的参数之一。
    • 默认情况下,通过 route add 添加的路由是临时的,在系统重启后会丢失。
    • 加上 -p 参数后,路由会被永久保存到注册表中,即使重启电脑也不会丢失。
    • 注意-p 参数不能与 command 中的 printdelete 一起使用。
  • 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:跃点数,值越小,路由优先级越高。

添加一条永久路由(最常见场景)

假设你的公司内网有两个网段:

如何用cmd命令添加静态路由?-图2
(图片来源网络,侵删)
  • 你当前连接的网段是 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

这条路由在下次重启后会自动消失。

如何用cmd命令添加静态路由?-图3
(图片来源网络,侵删)

添加一条主机路由

如果你想为单个 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。

  1. 环境信息

    • 当前网络(内网A):168.1.0/24,网关 168.1.1
    • 需要访问的内网B:16.0.0/16
    • 内网B的入口路由器(在你的内网A中):168.1.254
  2. 操作步骤

    • 第一步:查看当前路由

      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命令提示符,右键点击它,选择 “以管理员身份运行”

进阶:指定出站接口

在某些复杂网络环境中,一台电脑可能有多张网卡连接到不同的网络,你可能需要强制指定从哪个网卡发送数据。

  1. 通过 route print 查看所有接口的索引

    ...
    0x... ... 192.168.1.10  ... <--- 索引 15
    0x... ... 10.0.0.20    ... <--- 索引 12
    ...
  2. 在添加路由时指定 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 中添加和管理路由的技能!

分享:
扫描分享到社交APP
上一篇
下一篇