Faire un routeur Linux.

Prérequis :

  • Connaissance de l’adressage IPv4 et du routage.
  • Deux machines sous linux, dont une avec deux cartes réseaux. La machine avec deux cartes réseaux sera le routeur.
    • N’ayant pas sous la main deux machines, je vais virtualiser ces deux machines.
  • Avoir deux réseaux différents.
    • Dans mon cas, j’ai mon réseau 192.168.1.0/24, et je prends, arbitrairement, le réseau 172.16.0.0/24 comme deuxième réseau.

Configuration des VM :

J’utilise Virtual Box, j’ai installé les deux machines en Debian 9.

J’ajoute une deuxième carte réseau sur ma machine routeur.

Table de routage de RTR :

Réseau

Prochain saut

Mon interface de sortie

172.16.0.0/24 172.16.0.1 172.16.0.1
192.168.1.0/24 192.168.1.200 192.168.1.200

Sur le routeur :

Je commence par configurer ma première interface (enp0s3) avec l’adresse 192.168.1.200, puis je configure la deuxième interface (enp0s8) avec l’adresse 172.16.0.1.

Ensuite j’active le routage sur ma machine en modifiant le fichier /etc/sysctl.conf et décommente la ligne net.ipv4.ip_forward=1, puis on redémarre le service procps.

Pour terminer on test :

  1. On se place sur la machine 172.16.0.20 et on ping la passerelle de notre routeur.
  2. Toujours sur la même machine on ping une machine du réseaux 192.168.1.0/24

Si les tests échouent vérifier la configuration réseau de votre machine et du routeur.

Ensuite nous allons ajouter un réseau supplémentaire.

  1. Tout d’abord il va nous falloir un troisième réseau, ce sera 172.17.0.0/24.
  2. Ensuite je fais un deuxième routeur qui aura une interface sur le réseau 192.168.1.0/24 et une sur le réseau 172.17.0.0/24. Il aura l’adresse 192.168.1.201 et l’adresse 172.17.0.2.

Une fois la configuration de mon routeur faite, je me place sur une machine du réseau 172.17.0.0/24 et je fais les mêmes tests que tout à l’heure.

Que se passe-t-il si je ping une machine du réseau 172.16.0.0/24 depuis le réseau 172.17.0.0/24 ?

Ça ne fonctionne pas… Car par défaut un routeur a, dans sa table de routage, que les réseaux auxquelles il est connecté. RTR2 ne connait donc pas 172.16.0.0/24 et RTR ne connait pas le réseau 172.17.0.0/24.

Il faut donc ajouter ces réseaux dans la table de routage. Pour ça on va utiliser la commande (sous debian 9, avec la commande ip) :

ip route réseau_a_joindre netmask prochain_saut

Exemple : ip route 172.16.0.0 255.255.255.0 192.168.1.200

Nota bene :

si on avait ajouté une route par défaut nous emmenant à notre autre réseau ça aurais fonctionné également. Donc : ip route 0.0.0.0 0.0.0.0 192.168.1.200

Bien sûr il faut aussi ajouter sur le premier routeur la route vers le deuxième réseau (pour le retour)

Table de routage RTR :

Réseau

Next hop

Int

172.16.0.0/24 172.16.0.1 172.16.0.1
192.168.1.0/24 192.168.1.200 192.168.1.200
172.17.0.0/24 192.168.1.201 192.168.1.200

Table de routage RTR2 :

Réseau

Next hop

Int

172.17.0.0/24 172.17.0.2 172.17.0.2
192.168.1.0/24 192.168.1.201 192.168.1.201
172.17.0.0/24 192.168.1.200 192.168.1.201

Et pour finir on test.

on se place sur une machine du réseau qu’on veut et on ping une machine de l’autre réseau.

Nota bene 2 :

Pour que les machines du réseau 192.168.1.0/24 ping les deux autres réseaux, elles doivent avoir l’un de nos routeurs comme passerelles par défauts.

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.