LINUX:Routeur

De WIKI sur Linux (ADB)
Aller à la navigation Aller à la recherche
La version imprimable n’est plus prise en charge et peut comporter des erreurs de génération. Veuillez mettre à jour les signets de votre navigateur et utiliser à la place la fonction d’impression par défaut de celui-ci.

retour au menu de Linux


But

Un routeur (ou router) ou passerelle est un matériel qui sert à relier deux réseaux. Nous allons en concevoir un sous Linux.

Cet article va présenter un routeur un peu plus compliqué qu'un simple routeur reliant deux réseaux privés. Il reliera aussi Internet aux LANs privés.


Projet

En Belgique beaucoup de familles utilisent le service de l'ISP Proximus, anciennement Belgacom; c'est mon cas. Pour connecter le LAN privé familial à Internet, il fournit un appareil nommé BBOX 3. Dans la grande majorité des cas, ses prestations suffisent amplement. Mais quand on veut sortir un peu des sentiers battus, on est vite limité. C'est le cas si on veut créer deux LAN privés interconnectés, utiliser des VLANs, sécuriser notre DMZ,...

Le projet présenté dans le schéma ci-dessous, reprend plusieurs objectifs:

  • créer un routeur reliant trois réseaux, un public et deux privés
  • se relier à Internet via une liaison PPPOE (Point to Point Protocol over Ethernet)
  • aborder la problématique du mur de feu ou Firewall

Ce projet pourrait être étendu à l'inclusion d'une DMZ isolant un serveur WEB accessible depuis Internet. L'ajout de serveurs DHCP et DNS.

Ce projet est axé sur Linux; la distribution utilisée est Fedora 35. Nous nous sommes restreints à IPV4.


Pour la partie privée, nous avons deux LANs:

  • le LAN n°1 par défaut fourni par la configuration de la BBOX 3: 192.168.1.0/24 (adressage IP de 192.168.1.0 à 192.168.1.255)
  • le LAN n°2 que l'on veut ajouter: 192.168.2.0/24 (adressage IP de 192.168.2.0 à 192.168.2.255)


LINUX:Plan.pppoe.pdf


Network Manager

Linux Fedora utilise Network Manager comme gestionnaire réseau. Un interface GUI existe et sera utilisé "nmtui" mais la configuration par ligne de commande existe également "nmcli". Plus exactement, il faut parler d'interface TUI car il s'affiche en mode texte.

Pour pouvoir l'utiliser, il faut installer le module correspondant via la commande suivante:

dnf install NelworkManager-tui

La commande suivante lance l'application:

nmtui


La BBOX 3

Notre ISP Proximus nous fournit une BBOX 3 sur laquelle nous avons que peu d'options de configuration. Cette configuration est accessible via une interface WEB à l'URL http://192.168.1.1/.

L'accès à Internet par le protocole PPP y est autorisé grâce au nom d'utilisateur et du mot de passe associé qu'il vous a fourni.

Schématiquement, la BBOX 3 est constituée d'un modem qui nous relie à Internet par une ligne téléphonique du réseau commuté, d'un switch à 4 ports RJ45 auquel vous connectez vos machines privées et un module de routage qui les relie. Un serveur DHCP est actif par défaut ainsi une interface Wifi.

Par défaut, l'adressage du LAN privé est "192.168.1.0" avec un masque de sous-réseau de "24" qui correspond à "255.255.255.0".

Par la ligne téléphonique, vous accédez à Internet. A cette interface est attribuée une adresse IP publique dynamique après authentification intégrée au protocole PPP.

Une caractéristique intéressante additionnelle existe. On peut obtenir une seconde adresse IP publique dynamique. Pour y arriver on se connecte à une des 4 portes RJ45 de la BBOX 3 et on utilise le protocole PPPOE (Point to Point Protocol over Ethernet) en utilisant la même authentification utilisée ci-dessus.


Installation et configuration du routeur PPPOE

La pièce maitresse et centrale du projet est l'installation et la configuration du routeur Linux.


Installation et configuration du LAN 192.168.2.0/24

Pour les besoins du projet, on ajoute une machine Linux sur le LAN n°2.

Nous donnons l'exemple d'une machine Linux ayant une adresse IP fixe.


Configuration des machines du LAN 192.168.1.0/24

Par défaut, ces machines du LAN n°1 ne peuvent accéder au LAN n°2. La solution la plus simple aurait été d'ajouter une route vers ce dernier dans la BBOX 3 mais cela nous est interdit.

Deux solutions sont possibles:

  • utiliser comme passerelle par défaut le routeur Linux que nous venons d'ajouter, sur notre machine, par exemple celle dont l'adresse IP est 192.168.1.2 et donc passer par l'adresse IP publique n°2 pour accéder à Internet. L'adresse IP de cette passerelle est "192.168.1.33" .
  • ajouter une route statique à cette machine


Linux

L'écran ci-dessous présente un exemple de configuration sous Linux via le gestionnaire GUI de Network Manager pour cette seconde solution. Via l'écran de configuration IPV4 de l'interface réseau lié au LAN n°1, une option nommée "Routage" permet de l'ajouter en y accédant via le bouton "Modifier". On accède alors à un écran repris ci-dessous. On a ajouté une entrée reprenant:

  • le réseau à atteindre (LAN n°2)
  • l'adresse IP de la passerelle la plus proche liée au LAN n°1
  • une métrique qui donne l'ordre de priorité des routes; ici la valeur a peu d'importance car le chemin est unique


LINUX:Nmtui.route.png


Il vous faudra peut-être redémarrer la machine.

Vous pouvez vérifier la présence de la nouvelle route via la commande de ligne:

route -n

ou

netstat -rn

qui donne:

Table de routage IP du noyau
Destination     Passerelle      Genmask         Indic Metric Ref    Use Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    100    0        0 enp0s25
192.168.1.0     0.0.0.0         255.255.255.0   U     100    0        0 enp0s25
192.168.2.0     192.168.1.33    255.255.255.0   UG    102    0        0 enp0s25


Windows

Sous Windows, en tant qu'administrateur, on ouvre une console de commande de ligne en lançant le programme:

cmd.exe

On introduit la commande suivante:

route add -p 192.168.2.0 mask 255.255.255.0 192.168.1.33

Explications:

  • add : ajouter une route
  • -p : ajout persistant
  • 192.168.2.0 mask 255.255.255.0 : définition du LAN n°2 à atteindre
  • 192.168.1.33 : passerelle à utiliser présent sur le LAN n°1

On peut vérifier la route ajoutée par la commande de ligne:

route print



retour au menu de Linux