Je veux poser une question sur la commande de route sous Linux. J'ai entré la commande suivante dans le terminal Linux
> route
et a obtenu la sortie:
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 * 255.255.255.0 U 1 0 0 eth0
192.168.122.0 * 255.255.255.0 U 0 0 0 virbr0
link-local * 255.255.0.0 U 1000 0 0 eth0
default 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
Je ne le comprends pas. Est-ce à dire que tout paquet avec ip 192.168.1.0
sortira de *
passerelle? Pourquoi est-il écrit DESTINATION là-bas ne devrait-il pas être source parce que le paquet sortant de mon hôte a l'IP source de 192.168.1.0
?
Quelqu'un peut-il m'expliquer la signification de cette entrée en termes de paquets sortant et venant vers mon hôte?
Passons en revue les lignes une par une:
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 * 255.255.255.0 U 1 0 0 eth0
Cela signifie que tout paquet avec une destination de 192.168.1.0 à 192.168.1.255 sera envoyé eth0
sans utiliser de passerelle (sauf si un itinéraire plus spécifique remplace celui-ci).
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.122.0 * 255.255.255.0 U 0 0 0 virbr0
Cela signifie que tout paquet avec une destination de 192.168.122.0 à 192.168.122.255 sera envoyé virbr0
sans utiliser de passerelle. (Encore une fois, à moins qu'un itinéraire plus spécifique ne remplace celui-ci.)
Destination Gateway Genmask Flags Metric Ref Use Iface
link-local * 255.255.0.0 U 1000 0 0 eth0
Cela signifie que tout paquet avec adresse de lien local sera envoyé à l'interface eth0
sans passerelle.
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
Cela signifie que tout paquet vers une destination sans autre route sera envoyé eth0
, en utilisant 192.168.1.1 comme passerelle.
Le "défaut" signifie que si la destination n'est trouvée dans aucune des autres règles, utilisez cette règle.
S'il y a plus d'une adresse dans la table de routage qui fonctionne pour le paquet sortant, la règle avec le masque de sous-réseau supérieur sera utilisée. Si ceux-ci sont liés, la métrique entre en jeu, mais ce sera différent en fonction du protocole utilisé.
Par exemple, l'ordinateur portable sur lequel je suis actuellement possède trois interfaces:
Les routeurs ont généralement au moins 2 interfaces de chaque côté, 1 pour chaque réseau dont ils font partie. Pour la plupart des routeurs domestiques, 1 interface fait partie de votre réseau domestique et l'autre fait partie du réseau externe dirigé vers votre FAI.
C'est là que le paquet sera envoyé si la destination n'est pas sur le même réseau que l'expéditeur.
Si la valeur est en "*" ou "En liaison" ou l'adresse de l'appareil actuel ... tout cela signifie la même chose. Cela signifie que le paquet est adressé à un périphérique qui est directement accessible par l'hôte actuel. En d'autres termes, ils sont sur le même réseau, de sorte que la passerelle ne sera pas réellement utilisée car l'hôte connaîtra l'adresse MAC (Data Link Layer) de la destination et pourra l'envoyer directement à cet endroit. Ces valeurs sont juste utilisées pour la lisibilité humaine dans ce cas.
Quant au processus d'envoi d'un paquet:
192.168.1.0 (-255) est la destination locale, une fois qu'il atteint sa destination locale (probablement 192.168.1.1, votre routeur), il sera redirigé vers la destination IP externe. Cela montre comment votre ordinateur choisit d'envoyer ses paquets, ce qui est relativement simple car la plupart sinon la totalité des paquets quittant votre ordinateur voyagent vers votre routeur avant d'être envoyés à leur destination.
Une table de routage beaucoup plus intéressante serait celle de votre routeur qui traiterait de nombreuses destinations externes et internes. Si vous étudiez cela, vous pourrez en apprendre beaucoup plus sur le routage.