Wie lösche ich ein Subnetz aus einer größeren Subnetzroute, um PowerShell unter Windows zu löschen?

Wie lösche ich ein Subnetz aus einer größeren Subnetzroute, um PowerShell unter Windows zu löschen?

Dies ist route printdie Ausgabe:

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
===========================================================================

Wie Sie sehen, 1.1.1.1/24wird es der Routing-Tabelle hinzugefügt.

Ich möchte ein Subnetz (z. B. /32 oder größer) daraus löschen, erhalte jedoch die folgende Fehlermeldung:

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

Fehler:

The route deletion failed: Element not found.

Ich weiß, dass ich das gesamte /24-Subnetz entfernen und dann ein Python-Skript verwenden kann, um die gewünschten Subnetze zu generieren, aber meine Frage ist, ob es möglich ist, ein kleineres Subnetz aus der Routing-Tabelle zu entfernen.

Windows 10, PowerShell-Version ist 5.1 (18200).

Antwort1

Anstatt ein Subnetz aus einer vorhandenen Route zu löschen (was Sie nicht können; Sie können nur eine vorhandene Route löschen), möchten Sie wahrscheinlich eine neue Route für dieses Subnetz erstellen. Routen sind grundsätzlich geschichtet, was sinnvoll ist, da die Route mit der niedrigsten Priorität im Allgemeinen für 0.0.0.0/0 (alle IP-Adressen) ist und als „Standardroute“ bezeichnet wird.

Ich glaube, dass spezifischere Routen (mit einer geringeren Anzahl von IP-Adressen) allgemeineren Routen vorzuziehen sind. Sie können das also wahrscheinlich einfach tun, indem Sie die Schnittstelle/das Gateway von einer der anderen Routen für die neue kopieren. Unabhängig davon verwendet das Beispiel eine kleinere Metrik (höhere Priorität) als jede andere Route, daher sollte diese bevorzugt werden.

Ein Beispiel: route add /p 1.1.1.0 mask 255.255.255.128 192.168.10.252 metric 54

Unaufgeforderter Rat: Erstellen Sie kein Netzwerk, das kleiner als /30 ist.

Viel Glück.

verwandte Informationen