LINUX:Routeur-PPPOE

De WIKI sur Linux (ADB)
Aller à la navigation Aller à la recherche

But

La pièce maitresse et centrale du projet est l'installation et la configuration du routeur Linux. Trois problèmes nous attendent: la connexion PPPOE, le routage et le firewall. La sécurisation sera minimale; une approche plus posée d'un point de vue sécurité est fortement souhaitée; il ne faut pas oublier que cette machine est directement connectée à Internet sans isolement comme on l'a derrière la BBOS 3.


Matériel

Comme matériel nous avons besoin d'un PC ayant trois cartes réseaux.

  • Celle de la carte mère nommée "enp0s25" servira à la connexion à Internet via le protocole PPPOE. Un câble réseau la reliera à un des ports RJ45 de la BBOX 3.
  • La seconde carte réseau est placée dans un slot PCI et se nomme "enp4s0". Un câble réseau la reliera à un des ports RJ45 de la BBOX 3. Il sert à la connexion au LAN n°1 "192.168.1.0/24".
  • La troisième carte réseau est placée dans un autre slot PCI et se nomme "enp4s2". Un câble réseau la reliera à un des ports RJ45 d'un switch indépendant. Il sert à la connexion au LAN n°2 "192.168.2.0/24".

Il est évident que l'emplacement des cartes est propre au projet afin de faciliter l'exposé. Si vous avez une machine serveur ayant 4 ports réseaux sur la carte mère, on s'y adapte.


Installation de l'OS

Nous avons l'habitude d'utiliser la distribution Linux-Fedora. Nous sommes en présence de la version 35. On installe la version serveur sans option. Il est inutile d'avoir une interface graphique tel Gnome ou de serveur WEB ou autre. Ce n'est pas une station de travail. Dès que l'installation sera effectuée, on n'aura plus à y toucher. Il faut être familier à utiliser une console texte. Un programme tel Midnight Commander peu vous y aider.

Comme nous devrons utiliser le type de connexion réseau PPPOE, un module de Network Manager doit être ajouté. On l'installe avec la commande suivante:

dnf install NetworkManager-ppp


Utilisation de Network Manager TUI

Dans la suite de l'exposé, nous utiliserons l'utilitaire "nmtui".

Pour le lancer, on ouvre une console Shell et on lance la commande "nmtui". L'écran suivant apparaît.


LINUX:Nmtui.menu.png


La première option nous ouvre la possibilité d'ajouter, modifier ou supprimer une connectique réseau comme présenté dans l'image ci-dessous. La seconde permet de les activer ou les désactiver.


LINUX:Nmtui.lister.1.avant.png


Configuration de l'interface "enp4s0"

L'adaptation des paramètres de l'interface "enp4s0" ne pose pas de problème. On donne le même nom au profile que le nom du périphérique. On n'a pas besoin de spécifier l'adresse MAC; elle sera ajoutée automatiquement lors de la sauvegarde. On introduit l'adresse IPV4 "192.168.1.33/24" afin de la relier au LAN n°1; le reste reste vide. On désactive l'IPV6. On valide. On peut vérifier que l'interface est active.


LINUX:Nmtui.enp4s0.1.png


Configuration de l'interface "enp4s2"

L'adaptation des paramètres de l'interface "enp4s2" ne pose pas de problème. Il est semblable au précédent. On donne le même nom au profile que le nom du périphérique. On n'a pas besoin de spécifier l'adresse MAC; elle sera ajoutée automatiquement lors de la sauvegarde. On introduit l'adresse IPV4 "192.168.2.1/24" afin de la relier au LAN n°2; le reste reste vide. On désactive l'IPV6. On valide. On peut vérifier que l'interface est active.


LINUX:Nmtui.enp4s2.1.png


Remarque: Si l'interface désiré ne se trouve pas dans la liste, on l'ajoute en prenant le type "Ethernet".


Configuration de l'interface "pppoe-enp0s25"

Si dans la liste l'interface "enp0s25" existe, il faut le supprimer car il est de type "Ethernet" or celle qu'on veut utiliser est de type "DSL".

On commence par ajouter une nouvelle connexion de type "DSL" à choisir dans la liste ci-dessous.


LINUX:Nmtui.ajouter.png


Un écran vierge apparaît. On le remplit comme présenté ci-dessous. Dans la rubrique "DSL". Le nom du périphérique est "enp0s25". Le nom d'utilisateur et son mot de passe associé est à adapter selon votre compte auprès de votre ISP. Ils sont les mêmes que ceux présents dans la configuration de la BBOX 3.

La configuration de l'IPV4 est en mode automatique car comme pour une connexion DHCP, c'est votre ISP qui fournit ces paramètres. L'IPV6 est désactivée. On valide.


LINUX:Nmtui.pppoe-enp0s25.1.mod.png


La liste des connexions est au final la suivante.


LINUX:Nmtui.lister.1.png


On peut vérifier que l'interface est active.


LINUX:Nmtui.activer.1.png


Vérification des paramètres réseaux

On peut vérifier la configuration avec les commandes suivante.

Pour l'adressage:

ifconfig

qui donne:

enp0s25: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ether 00:1c:c0:92:a2:08  txqueuelen 1000  (Ethernet)
        RX packets 329026  bytes 315162745 (300.5 MiB)
        RX errors 0  dropped 75  overruns 0  frame 0
        TX packets 128415  bytes 10981151 (10.4 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 20  memory 0xd3300000-d3320000
enp4s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.33  netmask 255.255.255.0  broadcast 192.168.1.255
        ether 00:1b:21:3b:b6:ea  txqueuelen 1000  (Ethernet)
        RX packets 110743  bytes 7891334 (7.5 MiB)
        RX errors 0  dropped 74  overruns 0  frame 0
        TX packets 44314  bytes 32958920 (31.4 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
enp4s2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.2.1  netmask 255.255.255.0  broadcast 192.168.2.255
        ether 00:1b:21:3b:b0:77  txqueuelen 1000  (Ethernet)
        RX packets 65004  bytes 5454415 (5.2 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 119781  bytes 166386288 (158.6 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        loop  txqueuelen 1000  (Boucle locale)
        RX packets 58  bytes 6020 (5.8 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 58  bytes 6020 (5.8 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
ppp0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST>  mtu 1492
        inet 81.242.17.14  netmask 255.255.255.255  destination 10.24.145.89
        ppp  txqueuelen 3  (Protocole Point-à-Point)
        RX packets 231107  bytes 302214074 (288.2 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 112072  bytes 6979037 (6.6 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Pour la route:

route -n

qui donne:

Table de routage IP du noyau
Destination     Passerelle      Genmask         Indic Metric Ref    Use Iface
0.0.0.0         10.24.145.89    0.0.0.0         UG    102    0        0 ppp0
10.24.145.89    0.0.0.0         255.255.255.255 UH    103    0        0 ppp0
192.168.1.0     0.0.0.0         255.255.255.0   U     100    0        0 enp4s0
192.168.2.0     0.0.0.0         255.255.255.0   U     101    0        0 enp4s2

Pour le DNS, faire une recherche:

nslookup www.google.be

qui donne:

Server:         195.238.2.21
Address:        195.238.2.21#53
Non-authoritative answer: 
Name:   www.google.be
Address: 216.58.208.99
Name:   www.google.be
Address: 2a00:1450:4007:80f::2003


Activation du routage

Notre machine a pour ambition d'être un routeur. Il faut donc l'activer. On doit agir sur les paramètres du système. Pour y arriver, on crée le fichier "router.conf" dans le répertoire "/etc/sysctl.d". Le nom du fichier n'a pas d'importance, l'extension si.

On y ajoute la ligne:


net.ipv4.ip_forward = 1

--- On active cette configuration soit en redémarrant la machine, soit avec la commande suivante:

sysctl -p /etc/sysctl.d/router.conf

On vérifier sa bonne prise en compte avec la commande suivante:

systcl | grep "net.ipv4.ip_forward"


Désactivation de l'IPV6 pour le loopback

Dans le même fichier que ci-dessus (ou un autre), on ajoute les lignes:


net.ipv6.conf.all.disable_ipv6=1
net.ipv6.conf.default.disable_ipv6=1
net.ipv6.conf.lo.disable_ipv6 = 1

Dans le résultat de la commande "ifconfig", l'adresse IPV6 de l'interface "lo" aura disparu.






->retour au Routage