Come posso eliminare un percorso dalla tabella di routing Linux


42

Questo risulta essere più difficile di quanto pensassi. I percorsi che voglio eliminare sono i "!" percorsi rifiutati, ma non riesco a formulare il comando "route del" corretto per eseguirlo.

Ecco la tabella di routing ...

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

Ho due voci per 192.168.46.79 e 10.1.0.0. Questi sono generati automaticamente dal piccolo router basato su Linux che sto usando. Posso eseguire il ping dei tunnel IPSEC dalla shell stessa, ma il traffico dalla LAN prende la seconda route (la route "!" O "! H" rifiutata) per motivi che semplicemente non capisco.


Puoi essere più specifico quando dici che il traffico prende la "seconda rotta"?
Zoredache,

Notare le due voci della tabella per 192.168.46.79? Sulla shell del router, se eseguo il ping su quel lato del tunnel, funziona. Dal lato LAN, il traffico arriva alla voce "secondo 192.168.46.79" e viene rifiutato / eliminato.

Inoltre non capisco perché l'SG560 generi due (2) voci di tabella per le destinazioni "predefinite" e IPSEC. Sono perplesso.

Risposte:


53

con il route -ncomando otterrai

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

otterrai tutti i parametri rispettivamente dall'alto


1
Dopo il riavvio, arriva di nuovo. Come posso eliminare definitivamente?
Shyamkkhadka,

1
@shyamkkhadka dipende da quale processo è stato creato ... ti consiglio di inviare una domanda con il tuo caso specifico per analizzarlo. Fornisci dettagli sul percorso che hai ottenuto e desideri rimuovere. Principalmente il server dhcp e il client creeranno le rotte
Philippe Gachoud,

15

I tipi di percorsi con la !bandiera sono irraggiungibili o vietati. route, essendo un'utilità antica rispetto a net-tools, non distingue tra i due. Usa iproute2.

Il modo net-tools per eliminare questi percorsi sarebbe quello di usarlo route del. Tuttavia, net-tools non fornisce alcun modo per distinguere tra il percorso rifiutato e l'altro (poiché l'argomento dev è facoltativo, sebbene non sia possibile specificare un dispositivo rimuova il percorso non raggiungibile).

iproute2 ti consente di farlo in questo modo:

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

Potrebbe non essere irraggiungibile, ma vietare. Utilizzare ip routesenza argomenti per determinare quale.


8

Penso che sia questo: route del -net 10.1.0.0 netmask 255.255.0.0 metric 2

Non ne sono sicuro al 100%. Ma penso che tu abbia qualcos'altro in corso dato che hai 2 percorsi predefiniti.


2
+1: 2 percorsi predefiniti sono sempre un segno di qualcosa che non è configurato correttamente (a meno che in realtà non puntino a gateway diversi e abbiano metriche diverse).
Wolfgangsz,

-1

Si prega di vedere se c'è un "file di configurazione del dispositivo" in /etc/network/interfaces.d/ -> I have eht0 !! Davvero, era eht0 e non eth0 lì!


Potresti voler espandere in qualche modo la tua risposta, poiché al momento non è ovvio come si collega alla domanda che viene posta.
womble
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.