Frage Wie lösche ich eine Route aus der Linux-Routingtabelle?


Dies erweist sich als härter als ich dachte. Die Routen, die ich löschen möchte, sind die "!" abgelehnte Routen, aber ich kann nicht scheinen, den richtigen "route del" Befehl zu formulieren, um es abzuziehen.

Hier ist die Routing-Tabelle ...

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
67.40.227.206   *               255.255.255.255 UH    0      0        0 ppp0
192.168.46.79   *               255.255.255.255 UH    0      0        0 ipsec0
192.168.46.79   -               255.255.255.255 !H    2      -        0 -
192.168.1.0     *               255.255.255.0   U     0      0        0 eth0
10.1.0.0        *               255.255.0.0     U     0      0        0 ipsec0
10.1.0.0        -               255.255.0.0     !     2      -        0 -
default         *               0.0.0.0         U     3      0        0 ppp0
default         *               0.0.0.0         U     4      0        0 ppp0

Ich habe zwei Einträge für 192.168.46.79 und 10.1.0.0. Diese werden automatisch von dem kleinen Linux-basierten Router generiert, den ich verwende. Ich kann die IPSEC-Tunnel von der Shell selbst anpingen, aber der Verkehr aus dem LAN nimmt die zweite Route (die zurückgewiesene "!" - oder "! H" -Route) aus Gründen, die ich einfach nicht verstehe.


35
2017-09-14 18:12


Ursprung


Können Sie genauer sein, wenn Sie sagen, der Verkehr nimmt die "zweite Route"? - Zoredache
Beachten Sie die zwei Tabelleneinträge für 192.168.46.79? Wenn ich auf der Router-Shell diese Seite des Tunnels anpinge, funktioniert es. Von der LAN-Seite geht der Verkehr zu dem "zweiten 192.168.46.79" -Eintrag und wird zurückgewiesen / fällt ab.
Ich verstehe auch nicht, warum der SG560 zwei (2) Tabelleneinträge für "Standard" und die IPSEC-Ziele generiert. Ich bin perplex.


Antworten:


mit dem route -n Befehl erhalten Sie

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.178.1   0.0.0.0         UG    0      0        0 eth0
0.0.0.0         160.98.123.1    0.0.0.0         UG    600    0        0 wlan0

sudo route del -net 0.0.0.0 gw 192.168.178.1 netmask 0.0.0.0 dev eth0

Sie erhalten alle Parameter von oben


43
2017-11-10 14:22





Die Arten der Routen mit dem ! Flags sind entweder unerreichbar oder verbieten. route, ein uraltes Dienstprogramm von net-tools, unterscheidet nicht zwischen den beiden. Verwenden Sie iproute2.

Die net-tools Weg diese Routen zu löschen wäre zu verwenden route del darauf. Net-tools bietet jedoch keine Möglichkeit, zwischen der abgelehnten Route und der anderen Route zu unterscheiden (da das Argument dev optional ist, obwohl die Angabe eines Geräts wahrscheinlich die nicht erreichbare Route nicht entfernt).

Mit iproute2 können Sie es so machen:

ip route del unreachable 10.1.0.0/24
ip route del unreachable 192.168.46.79/32

Es ist vielleicht nicht unerreichbar, aber verbieten. Benutzen ip route ohne Argumente zu bestimmen, welche.


14
2017-09-15 12:56





Ich denke es ist das: route del -net 10.1.0.0 netmask 255.255.0.0 metric 2

Ich bin nicht 100% sicher. Aber ich denke, du hast etwas anderes, weil du 2 Standardrouten hast.


6
2017-09-14 18:22



+1: 2 Standardrouten sind immer ein Zeichen dafür, dass etwas falsch konfiguriert wurde (es sei denn, sie verweisen auf andere Gateways und haben unterschiedliche Metriken). - wolfgangsz