如何从更大的子网路由中删除子网删除 PowerShell Windows?

如何从更大的子网路由中删除子网删除 PowerShell Windows?

这是route print输出:

IPv4 Route Table
===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0      192.168.1.1     192.168.1.50     55
          0.0.0.0        128.0.0.0   192.168.10.252    192.168.10.96    257
        128.0.0.0        128.0.0.0   192.168.10.252    192.168.10.96    257
          1.1.1.1    255.255.255.0      192.168.1.1     192.168.1.50    56
      185.1.1.1.1  255.255.255.255      192.168.1.1     192.168.1.50    311
     192.168.10.0    255.255.255.0         On-link     192.168.10.96    257
    192.168.10.96  255.255.255.255         On-link     192.168.10.96    257
   192.168.10.255  255.255.255.255         On-link     192.168.10.96    257
===========================================================================
Persistent Routes:
  Network Address          Netmask  Gateway Address  Metric
     1.1.1.1         255.255.255.0      192.168.1.1       1
===========================================================================

如你所见,1.1.1.1/24已添加到路由表中。

我想从中删除一个子网(如 /32 或更大),但出现错误:

route delete -p 1.1.1.10/32 192.168.1.1
route delete -p 1.1.1.0/25 192.168.1.1

错误:

The route deletion failed: Element not found.

我知道我可以删除整个 /24 子网,然后使用 Python 脚本生成所需的子网,但我的问题是是否可以删除路由表中的一个较小的子网。

Windows 10,PowerShell版本为5.1(18200)。

答案1

您可能不想从现有路由中删除子网(您无法删除;您只能删除现有的路由),而是想为该子网创建新路由。路由从根本上讲是分层的,这是有道理的,因为优先级最低的路由通常是 0.0.0.0/0(所有 IP 地址),并被描述为“默认”路由。

我认为更具体的(IP 地址数量较少)路由比更通用的路由更受青睐,因此您可能只需这样做,从其他包含路由之一复制接口/网关即可。无论如何,该示例使用的度量值比任何其他路由都小(优先级更高),因此应该优先选择它。

例如:route add /p 1.1.1.0 mask 255.255.255.128 192.168.10.252 metric 54

未经请求的建议:不要创建小于 /30 的网络。

祝你好运。

相关内容