这是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 的网络。
祝你好运。