Comment supprimer un itinéraire de la table de routage Linux
Cela s'avère plus difficile que je ne le pensais. Les itinéraires que je souhaite 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. Ceux-ci sont générés 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 provenant du LAN prend la deuxième route (la route "!" Ou "! H" rejetée) pour des raisons que je ne comprends tout simplement pas.
avec le route -n
commande 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
Les types de routes avec le !
le drapeau est inaccessible ou interdit. route
, étant un ancien utilitaire de net-tools, ne fait pas de différence entre les deux. Utilisez iproute2.
La façon dont net-tools pour supprimer ces routes serait d'utiliser route del
dessus. Cependant, net-tools ne fournit aucun moyen de différencier la route rejetée de l'autre (car l'argument dev est facultatif, mais 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
Il n'est peut-être pas inaccessible, mais interdit. Utilisation ip route
sans argument pour déterminer lequel.
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 quelque chose d'autre maladroit, car vous avez 2 itinéraires par défaut.