Les routes nécessaires pour acheminer les paquets vers leur destination finale sont configurées dans l'interface ou le routeur. Si l'ordinateur est chargé d'envoyer un paquet au réseau, il consulte la table de routage, qui répertorie les adresses IP de destination et les adresses des interfaces et des routeurs du réseau domestique qui peuvent envoyer le paquet à l'adresse correcte. Si aucune route n'est spécifiée pour la destination, la passerelle par défaut ou la route par défaut est utilisée en premier. Le même schéma est observé sur le routeur. L'appareil examine l'adresse IP de destination et la compare à sa table de routage, puis l'envoie. Voyons maintenant comment configurer des itinéraires spécifiques et en créer de nouveaux à l'aide d'un exemple.
Avant de commencer à modifier quoi que ce soit, vous devez comprendre quelles sont les règles déjà utilisées. Pour ce faire, le système d'exploitation Linux fournit plusieurs commandes. Pour ce faire, nous utilisons la commande spéciale route
:
$ route
Voici à quoi ressemble la table de routage de Linux. Elle fournit des informations simples, qui ne suffisent pas toujours à faire passer le message. Pour obtenir des informations plus détaillées, il faut utiliser la commande routel
:
$ routel
Ici, vous pouvez voir l'adresse IP (cible), l'adresse IP de la passerelle, l'IP source, le protocole et même l'interface réseau. Mais il existe un moyen plus pratique de consulter la table de routage linux à l'aide de la commande IP :
$ ip route
Nous obtenons un résultat similaire à celui de la commande précédente. Comme la sortie n'est pas sous la forme la plus pratique, vous pouvez utiliser ip
route add
ou ip route del
comme argument à ip route
add
ou ip route del
. Croyez-moi, c'est très pratique. De cette façon, vous verrez 192.168.1.1
comme passerelle par défaut partout. Parlons maintenant de la signification de la sortie de cette commande :
default
- option par défaut. Il s'agit de l'adresse IP cible ou du masque de sous-réseau ;via 192.168.1.1.1
- indique par quelle passerelle nous pouvons atteindre cette cible, pour nous c'est 192.168.1.1 ;
dev enp2s0
- l'interface réseau par laquelle cette passerelle sera accessible ;proto static
signifie que la route a été définie par l'administrateur, kernel signifie qu'elle a été définie par le noyau ;metric
- il s'agit de la priorité de la route, plus la valeur est faible, plus la priorité est élevée.Voyons maintenant comment les routes Linux sont configurées.
L'utilisateur a toujours la possibilité de configurer la table de routage à l'aide de la commande ip
. Par exemple, pour modifier la route par défaut, il suffit d'exécuter la commande ip :
$ ip route add default via 192.168.1.1
On peut ainsi ajouter une route pour n'importe quelle adresse IP, par exemple 243.143.5.25
:
$ sudo ip route add 243.143.5.25 via 192.168.1.1
Nous spécifions donc l'adresse IP cible, puis une passerelle sur le réseau local permettant d'atteindre cette adresse. Le seul problème est que ces routes sont actives jusqu'au premier redémarrage de l'ordinateur. Après le redémarrage, elles sont automatiquement supprimées. Pour remédier à ce problème, les routes doivent être ajoutées au fichier de configuration.
Par exemple, les systèmes de la famille Red Hat ont des fichiers de configuration /etc/sysconfig/network-scripts/route-ethX
. Chaque fichier peut décrire plusieurs routes, par exemple
PASSERELLE=10
.10.0.0.1MASQUE DE RÉSEAU=255
.0.0.0.0IPADDR=10
.10.0.0.22
Ce fichier de configuration utilise gateway, qui est la passerelle pour l'interface, netmask
est le masque de réseau, et ipaddr
est l'adresse IP de l'interface. Dans Debian et les distributions basées, vous pouvez configurer les routes dans le fichier /etc/network/interfaces
. Ici, la commande route est ajoutée à la section iface
. Par exemple :
up route add -net 10.10.0.0 netmask 255.0.0.0 gw 10.10.0.1
Avec iface -net
, nous spécifions le réseau cible, netmask
est le masque de réseau et gw
est la passerelle. Il n'y a rien de compliqué à cela. Les routes ajoutées seront conservées même après un redémarrage.
Nous avons donc vu comment le routage fonctionne sous Linux, comment il est configuré sous Linux et pourquoi il est nécessaire.