Как удалить подсеть из маршрута большей подсети 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.

Удачи.

Связанный контент