I – Contexte
II – Introduction
Dans ce tutoriel je vais vous apprendre à configurer votre machine sous Debian 9 pour lui ajouter la fonction de routage. A la fin de ce tutoriel vous pourrez interconnecter deux réseaux différents.
III – Prérequis
Configuration requise |
|
Pour installer Debian rendez-vous ici: https://www.debian.org/
IV – Récapitulons
Nous allons effectuer cela en trois étapes :
- Etape 1 : configuration minimale d’un routeur sous Debian 9 (configuration IP)
- Etape 2 : Mise en place du routage
- Etape 3 : Tests de liaison avec l’extérieur
Etape 1 – configuration IP du poste Debian
Manipulations :
Tout d’abord aller dans la configuration IP de la carte réseau puis configurer les deux pattes réseaux du routeur :
vi /etc/network/interfaces
# Interface ens33 INTERNET auto ens33 iface ens33 inet DHCP # Interface ens37 LOCAL auto ens37 iface ens37 inet static address 192.168.0.254/24
Une fois tout cela fait, il faut quitter l’éditeur en sauvegardant et redémarrer le service en charge de la configuration réseau :
systemctl restart networking
Tests :
Depuis le client 1 :
- Faire un Ping vers le routeur (Ping 192.168.0.254)
- Faire un Ping vers le client 2 (Ping 192.168.0.11)
Depuis le client 2 :
- Faire un Ping vers le routeur (Ping 192.168.0.254)
- Faire un Ping vers le client 1 (Ping 192.168.0.10)
Si tout cela fonctionne, la configuration IP est bonne, passons à la suite.
Etape 2 – Mise en place du routage
Manipulations :
Sur un poste Debian la fonctionnalité appelé « routage » est préinstallée d’origine dans le système, c’est donc à nous de la configurer.
1 – Activer l’IP-Forwarding:
Entrer dans le fichier de configuration de sysctl :
vi /etc/sysctl.conf
Modifier la ligne concernant l’IP-Forwarding (si elle n’existe pas, la rajouter) :
net.ipv4.ip_forward=1
Pour appliquer les changements il faut exécuter cette commande :
root@deb09:~# sysctl -p /etc/sysctl.conf net.ipv4.ip_forward = 1
Voilà, le routage est activé ! Cependant il vous faudra la retaper à chaque redémarrage de la machine, je vous montrerais comment ne pas avoir besoin de toutes ces manipulations dans la partie 3.
Ensuite pour que les postes puissent sortir sur internet il faut activer le « nat », c’est-à-dire que l’on autorise le routeur à divulguer les trames venant de sa carte réseaux connectée à internet.
2 – Faire la règle de routage :
Cette commande sert a activer le NAT en sortie sur ens33 (interface du côté d’internet):
iptables -t nat -A POSTROUTING -o ens33 -j MASQUERADE
3 – Rendre la configuration persistante :
Le paquet iptables-persistent est là pour simplifier la tâche :
apt install iptables-persistent
Il suffit d’enregistrer les règles IPv4 dynamique :
Etape 3 – Tests de liaison avec l’extérieur
- Faire un Ping vers 8.8.8.8 (serveurs de Google)
- Ajouter des suffixes DNS dans Windows, et faire un Ping vers free.fr (par exemple)
- Vérifier après un redémarrage que la valeur ip_forward est a 1 grâce à la commande:
cat /proc/sys/net/ipv4/ip_forward
BONUS : Rediriger certaines trames vers un serveur de votre réseau
rediriger le port http 443 vers le serveur web (192.168.7.11) pour les clients entrant depuis ens33:
iptables -t nat -A PREROUTING -i ens33 -p tcp --dport 443 -j DNAT --to-destination 192.168.7.11
rediriger le port smtp 25 vers le serveur Exchange Edge (192.168.7.13) pour les clients entrant depuis ens33:
iptables -t nat -A PREROUTING -i ens33 -p tcp --dport 25 -j DNAT --to-destination 192.168.7.13
une fois vos tests effectués et validés, il faut ré-effectuer une configuration de iptables-persistent:
dpkg-reconfigure iptables-persistent
Il suffit d’enregistrer les règles IPv4 dynamique :
les fichiers contenant les règles iptables IPv4 et IPv6 sont accessibles dans etc:
/etc/iptables/rules.v4 /etc/iptables/rules.v6
4 commentaires
Phil · 3 avril 2018 à 17h24
Merci c’est très clair
Alex BACHER · 3 avril 2018 à 19h54
De rien, content de vous avoir aidé Phil! 🙂
Arnaud · 16 janvier 2019 à 17h45
Merci pour ce tutoriel. Petite erreur cependant, ce n’est pas la sauvegarde des règles iptables qui rend le routage permanent, mais la modification de l’instruction « net.ipv4.ip_forward=1 » dans le fichier « /etc/sysctl.conf ». Seules les règles en elles-mêmes sont sauvegardées. Une activation temporaire du routage serait de faire ceci : echo 1 > /proc/sys/net/ipv4/ip_forward
Alex BACHER · 18 janvier 2019 à 11h39
Merci pour ton commentaire. Je vais faire la correction.