GNU/Linux >> Tutoriels Linux >  >> Linux

Comment ajouter une route sous Linux

En tant qu'ingénieur réseau, vous passez probablement beaucoup de temps à réfléchir et à planifier votre infrastructure réseau.

Vous planifiez comment les ordinateurs seront reliés, physiquement à l'aide de câbles spécifiques mais aussi logiquement à l'aide de tables de routage .

Lorsque votre plan de réseau est construit, vous devrez implémenter chaque lien que vous avez théorisé sur papier.

Dans certains cas, si vous utilisez des ordinateurs Linux, vous devrez peut-être ajouter des routes afin de le relier à d'autres réseaux de votre entreprise.

Ajout de routes sous Linux est extrêmement simple et peu coûteux :vous pouvez utiliser le gestionnaire de réseau démon (si vous utilisez une distribution récente) ou le démon ifconfig .

Dans ce tutoriel, vous apprendrez comment vous pouvez facilement ajouter de nouvelles routes sur une machine Linux afin de le relier à votre réseau physique.

Prérequis

Pour ajouter des routes sur votre machine Linux, vous devez disposer des droits d'administrateur.

Afin de le vérifier, vous pouvez exécuter le "sudo ” suivi de la commande “-v ” option (afin de mettre à jour vos informations d'identification en cache).

$ sudo -v

Si vous n'avez pas les droits sudo, vous pouvez consulter nos articles dédiés à l'obtention des droits d'administrateur sur Ubuntu ou CentOS.

Ajouter une route sur Linux en utilisant l'ip

Le moyen le plus simple d'ajouter une route sous Linux est d'utiliser la commande "ip route add" suivie de l'adresse réseau à atteindre et de la passerelle à utiliser pour cette route.

$ ip route add <network_ip>/<cidr> via <gateway_ip>

# Example
$ ip route add 10.0.3.0/24 via 10.0.3.1

Par défaut, si vous ne spécifiez aucun périphérique réseau, votre première carte réseau , votre bouclage local exclu, sera sélectionné .

Cependant, si vous souhaitez avoir un appareil spécifique, vous pouvez l'ajouter à la fin de la commande.

$ ip route add <network_ip>/<cidr> via <gateway_ip> dev <network_card_name>

Par exemple, supposons que vous souhaitiez que deux réseaux LAN puissent communiquer entre eux.

La topologie du réseau comporte trois machines Linux différentes :

  • Un ordinateur Ubuntu doté de la version 10.0.2.2/24 adresse IP ;
  • Un autre ordinateur Ubuntu qui a le 10.0.3.2/24 adresse IP ;
  • Un ordinateur RHEL 8 qui servira de simple routeur pour nos deux réseaux.

Le premier ordinateur ne peut pas pinger l'autre ordinateur, ils ne sont pas dans le même sous-réseau :10.0.2.0 pour le premier réseau informatique et 10.0.3.0 pour le second réseau.

Comme les deux hôtes ne font pas partie du même sous-réseau, la commande ping va à la passerelle par défaut.

Afin de voir les routes déjà définies sur votre machine, utilisez le "ip route ” commande sans arguments. Vous pouvez également utiliser la commande "ip r" comme abréviation.

$ ip r

C'est la table de routage de votre ordinateur Linux :chaque ordinateur en possède une. Il se trouve qu'un routeur gère beaucoup plus de routes que cela, mais il utilise essentiellement la même syntaxe de routage.

Alors, comment lire ça ?

Afin de comprendre cette sortie, vous devez lire de haut en bas :

  • Par par défaut , les appels réseau seront transférés vers la passerelle locale par défaut qui est 10.0.2.1
  • SAUF votre appel est destiné au réseau 10.0.2.0/24. Dans ce cas, il sera simplement envoyé sur votre réseau local via votre lien physique par défaut (physiquement un câble réseau CAT)
  • SAUF votre appel est destiné au réseau 169.254.0.0/16. Dans ce cas, il sera également envoyé sur votre réseau local en utilisant votre lien physique par défaut.

Remarque :Le saviez-vous? L'adresse 169.254.0.0/16 est appelée APIPA (pour Automatic IP Address Addressing) . Il s'agit de l'adresse IP par défaut utilisée par un système qui n'a pas réussi à atteindre un serveur DHCP sur le réseau.

Dans notre cas, pour appeler le 10.0.3.2/24 adresse IP, l'appel sera transféré vers notre 10.0.2.1 routeur.

Cependant, notre routeur est-il capable de transférer les appels adressés au réseau 10.0.3.0/24 ?

Une simple commande "ip r" sur le routeur peut nous donner un indice.

Comme vous pouvez le voir, le routeur n'est lié qu'au réseau 10.0.2.0/24, ce qui est évidemment un problème.

Afin d'ajouter une route sur notre routeur Linux, nous utilisons le "ip route add ” commande.

$ sudo ip route add 10.0.3.0/24 via 10.0.3.1

Maintenant, si vous deviez envoyer un ping à votre deuxième ordinateur sur le premier ordinateur, vous seriez en mesure de l'atteindre.

Génial, vous avez réussi à ajouter une route d'un ordinateur Linux à un autre !

Ajout d'une configuration de route permanente sur Ubuntu

Sur Ubuntu, il y a trois façons d'ajouter une route permanente vers votre machine Linux :

  • Vous pouvez l'ajouter à votre gestionnaire de réseau fichier de configuration ;
  • Vous pouvez modifier votre Netplan YAML fichier de configuration ;
  • Vous pouvez ajouter votre route au fichier "/etc/network/interfaces ” si vous utilisez une ancienne distribution Ubuntu.

Utiliser le gestionnaire de réseau

Pour ajouter une route permanente au gestionnaire de réseau, vous devez accéder au fichier de connexion situé dans "/etc/NetworkManager/system-connections".

Modifiez votre "Connexion filaire " et ajoutez un fichier "route1 ” propriété dans la partie IPv4 de la configuration réseau.

La route doit être définie comme :l'adresse IP du réseau suivie du CIDR, puis de la passerelle par défaut et enfin du saut suivant.

Pour que les modifications soient appliquées, vous pouvez redémarrer votre connexion réseau et exécuter la commande "route -n" afin de voir votre route.

$ sudo nmcli connection reload

Génial, vous avez ajouté une route permanente vers votre serveur Linux !

Utiliser Netplan

Netplan est une exclusivité Ubuntu mais il peut être très utile si vous souhaitez configurer votre réseau à l'aide d'un simple fichier YAML.

Pour ajouter une route permanente à l'aide de Netplan, ajoutez la section suivante à votre fichier de configuration "/etc/netplan".

$ sudo vi /etc/netplan/<configuration_file>.yaml

Pour que les modifications soient appliquées, vous devrez exécuter la commande "netplan" avec l'argument "apply".

$ sudo netplan apply

Félicitations, vous avez configuré votre réseau à l'aide de Netplan . Si vous souhaitez en savoir plus sur Netplan et ses objectifs, vous pouvez consulter la documentation dédiée.

Utiliser /etc/network/interfaces

Pour ajouter une route permanente à une distribution en utilisant ifup et ifdown, modifiez le fichier "/etc/network/interfaces" et ajoutez la section suivante.

$ sudo vi /etc/network/interfaces

auto eth0
iface eth0 inet static
      address 10.0.2.2
      netmask 255.255.255.0
      up route add -net 10.0.3.0 netmask 255.255.0.0 gw 10.0.2.1

Ajout d'une configuration de route permanente sur RHEL

En ajoutant la route dans la section précédente, il est possible que votre distribution ait créé un fichier pour que la route soit conservée.

Cependant, si ce n'est pas le cas, vous devez l'ajouter afin de conserver votre route au redémarrage de votre serveur.

Sur les distributions RHEL et CentOS, vous devez créer un fichier nommé "route- " dans le "/etc/sysconfig/network-scripts ” dossier.

$ sudo vi /etc/sysconfig/network-scripts/route-enp0s3

Ajouter une route sur Linux à l'aide de nmcli

Une autre façon d'ajouter une route sous Linux consiste à utiliser l'utilitaire "nmcli" et à ajouter une route IPV4 à l'aide de la commande "modify".

$ sudo nmcli connection modify <interface_name> +ipv4.routes "<network_ip> <gateway_ip>" 

Remarque :besoin d'un article complet sur le Network Manager ? Nous avons un article complet sur la configuration de votre réseau à l'aide de Network Manager.

Par exemple, en utilisant l'infrastructure de la section précédente, afin d'ajouter une route, nous exécuterions la commande suivante.

$ sudo nmcli connection modify enp0s3 +ipv4.routes "10.0.3.0/24 10.0.3.1"

Comme les modifications ne sont pas apportées en direct, vous devrez recharger vos connexions réseau à partir du disque à l'aide du "rechargement nmcli ” commande.

$ sudo nmcli connection reload

Génial ! Il existe maintenant une route entre votre premier et votre deuxième réseau.

En conséquence, vous pourrez envoyer un ping à votre deuxième ordinateur à partir du premier ordinateur.

Ajout d'un itinéraire à l'aide de l'interface graphique réseau

Si vous n'êtes pas en train d'exécuter des commandes dans le terminal, heureusement pour vous, il existe un moyen d'ajouter une route sous Linux à l'aide d'une interface graphique.

Que vous soyez sur Ubuntu, Debian ou RHEL ne fait aucune différence car ils partagent tous le même panneau réseau sur GNOME.

Dans le coin supérieur droit de votre écran, recherchez une petite icône de réseau et cliquez dessus.

Cliquez sur "Câblé Connecté " et recherchez les "Paramètres filaires ” panneau en dessous.

Lorsque le panneau s'ouvre, recherchez le "Câblé " et cliquez sur la petite roue dentée juste à côté.

Dans la section "Câblé », vous seront présentés de nombreux paramètres différents :votre adresse IPv4 actuelle, votre adresse MAC actuelle, une adresse IPv6 facultative et votre vitesse de liaison.

Dans le "IPv4 ", vous serez présenté avec votre adresse IP actuelle configurée (probablement deux pour que votre ordinateur agisse comme un routeur Linux).

Juste en dessous, vous verrez les "Routes " section. Là, vous pouvez spécifier l'entrée des sections précédentes.

Lorsque vous avez terminé, cliquez sur "Appliquer ” bouton bleu en haut à droite de la fenêtre.

Pour que les modifications soient appliquées, vous devrez redémarrer votre réseau. Vous pouvez y parvenir en cliquant sur le bouton « marche/arrêt » dans la fenêtre "Câblé" des paramètres réseau.

Fait!

Vous avez ajouté avec succès une route sous Linux à l'aide de l'interface graphique, vos ordinateurs devraient maintenant pouvoir communiquer entre eux.

Résoudre les problèmes liés à Internet sous Linux

Dans certains cas, vous souhaiterez peut-être ajouter une route sur votre Linux car vous souhaitez pouvoir accéder à des sites Web en dehors de votre réseau local, par exemple 8.8.8.8.

Par exemple, supposons que vous ayez un routeur local lié à "Internet" qui réside à 192.168.178.1/24.

L'inspection de vos itinéraires actuels vous permet de deviner facilement pourquoi vous ne parvenez pas à accéder aux sites Internet.

Le processus de réflexion est assez simple :

  • L'adresse IP que j'essaie d'atteindre fait-elle partie de mon sous-réseau ou non ?
  • Si oui, je devrais pouvoir y accéder sans aucune route,tout sera géré par le protocole ARP et Ethernet.
  • Si ce n'est pas le cas, j'ai besoin d'une route entre mon ordinateur et un routeur capable de transférer les requêtes vers Internet.

Cependant, n'oubliez pas que les itinéraires sont des autoroutes à deux voies :vous devez pouvoir atteindre une adresse IP externe, mais l'adresse IP externe doit pouvoir vous contacter.

Par conséquent, les routes doivent être correctement définies sur votre architecture de réseau local. Comme un schéma est plus utile que mille mots, voici une façon de le comprendre.

Chaque fois que vous résolvez des problèmes Internet, vous devez penser aux itinéraires :ai-je un itinéraire entre mon ordinateur et l'ordinateur que j'essaie d'atteindre ?

Les ordinateurs ou les routeurs entre moi et la cible sont-ils configurés pour gérer mes appels ?

Atteindre une partie du réseau, c'est bien, mais cette partie du réseau est-elle capable de me répondre ?

Dans notre schéma détaillé ci-dessus, notre routeur peut recevoir une réponse de Google, mais il doit savoir quoi faire de la requête. Dans votre réseau domestique local, vous n'avez pas à vous en soucier car la plupart des requêtes sont transmises à l'aide du protocole NAT (abréviation de Network Address Translation Protocol).

Conclusion

Dans ce didacticiel, vous avez appris comment ajouter facilement une nouvelle route sur de nombreuses distributions Linux différentes.

À l'heure actuelle, comme pour d'autres sujets, certains outils coexistent sous Linux, ce qui rend parfois la configuration réseau un peu alambiquée.

Cependant, nous avons répertorié la plupart des options que vous pouvez rencontrer. Si nous avons oublié une option, assurez-vous de laisser un commentaire pour que nous le sachions.

Si vous êtes intéressé par l'administration système Linux , assurez-vous de jeter un œil à notre section dédiée sur le site Web.


Linux
  1. Comment ajouter une imprimante dans Linux Mint 12 | Ajouter une imprimante dans Linux Mint

  2. Comment ajouter le référentiel de logiciels Linux de Microsoft

  3. Comment ajouter un utilisateur à un groupe sous Linux

  4. CentOS / RHEL :Comment ajouter une route nulle sous Linux

  5. Comment ajouter Chromedriver à PATH sous Linux ?

Comment trouver les interfaces réseau disponibles sous Linux

Comment ajouter un utilisateur à un groupe sous Linux

Comment changer l'adresse MAC du réseau sous Linux

Comment ajouter un utilisateur à un groupe sous Linux

7 exemples de commande de route Linux (comment ajouter une route sous Linux)

Comment ajouter un utilisateur à un groupe Linux