Comment supprimer un itinéraire de la table de routage Linux

42

Cela s'avère être plus difficile que je pensais. Les routes que je veux supprimer sont les "!" routes rejetées, mais je n'arrive pas à formuler la bonne commande "route del" pour la retirer.

Voici la table de routage ...

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

J'ai deux entrées pour 192.168.46.79 et 10.1.0.0. Celles-ci sont générées automatiquement par le petit routeur basé sur Linux que j'utilise. Je peux envoyer une requête ping aux tunnels IPSEC à partir du shell lui-même, mais le trafic du LAN passe par la deuxième route (la route rejetée "!" Ou "! H") pour des raisons que je ne comprends tout simplement pas.

Zoredache
la source
Pouvez-vous être plus précis lorsque vous dites que le trafic emprunte la «deuxième route»?
Zoredache
Notez les deux entrées de table pour 192.168.46.79? Au niveau du shell du routeur, si je cingle de ce côté du tunnel, cela fonctionne. Du côté du réseau local, le trafic passe à l'entrée "seconde 192.168.46.79" et est rejeté / abandonné.
Je ne comprends pas non plus pourquoi le SG560 génère deux (2) entrées de tableau pour les destinations "par défaut" et IPSEC. Je suis perplexe.

Réponses:

53

avec la route -ncommande que vous obtiendrez

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

vous obtiendrez tous les paramètres respectivement d'en haut

Philippe Gachoud
la source
1
Après le redémarrage, il vient à nouveau. Comment puis-je supprimer définitivement?
Shyamkkhadka le
1
@shyamkkhadka, cela dépend du processus de création. Nous vous recommandons de poster une question avec votre cas spécifique pour l'analyser. Donnez des détails sur l'itinéraire que vous avez et que vous souhaitez supprimer. Ce sont principalement le serveur DHCP et le client qui créent les itinéraires
Philippe Gachoud
15

Les types d'itinéraires avec l' !indicateur sont inaccessibles ou interdits. route, étant un ancien utilitaire de net-tools, ne fait pas la différence entre les deux. Utilisez iproute2.

La façon dont les outils Internet suppriment ces routes serait d’utiliser cette route route del. Cependant, net-tools ne fournit aucun moyen de différencier la route rejetée de l'autre (parce que l'argument dev est facultatif, bien que le fait de ne pas spécifier de périphérique est susceptible de supprimer la route inaccessible).

iproute2 vous permet de le faire comme ceci:

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

Ce n'est peut-être pas inaccessible, mais interdit. Utilisez ip routesans arguments pour déterminer lequel.

Faucon Momot
la source
8

Je pense que c'est ça: route del -net 10.1.0.0 netmask 255.255.0.0 metric 2

Je ne suis pas sûr à 100%. Mais, je pense que vous avez autre chose de bizarre car vous avez 2 itinéraires par défaut.

Baumgart
la source
2
+1: 2 routes par défaut signifient toujours que quelque chose est mal configuré (à moins qu’elles pointent vers des passerelles différentes et aient des métriques différentes).
Wolfgangsz
-1

Veuillez voir s'il existe un "fichier de configuration de périphérique" sous /etc/network/interfaces.d/ -> I had0 !! Vraiment, c'était eht0 et pas eth0 là!

Andreas Brandts
la source
Vous voudrez peut-être un peu élargir votre réponse, car il n’est pas évident pour l’instant d’avoir un lien direct avec la question posée.
femme