Nous allons configurer notre routeur Debian pour qu’il puisse avoir les mêmes fonctionnalités qu’un mini routeur/firewall. Nous activerons le DHCP,le routage, et le NAT. On finira avec quelques règles de firewall iptables 😉 .
Prérequis : savoir installer Debian et Lubuntu. Savoir utiliser et avoir installé Virtualbox.
Contexte : Dans ce tuto mon routeur(Debian 10) et mes 2 PCs (Lubuntu 20) sont des VMs sur Virtualbox. Mon routeur Debian à une carte sur mon réseau LAN(de ma box internet)qui représentent ici le WAN du routeur et 2 autres cartes sur 2 réseau interne virtualbox différents. Je montrerai comment j’ai configuré mes cartes réseaux sur Virutalbox.
Voici le schémas du LAB :
Configuration Réseau du ROUTEUR-DEBIAN
Adresse IP WAN : 192.168.1.195
Adresse IP LAN1 : 10.10.20.1
Adresse IP LAN2 : 10.10.30.1
Pour la configuration réseau des Lubuntu nous allons utiliser le DHCP.
1. Configuration des interfaces
Afficher la configuration réseau :
ip a
On observe que mon interface « WAN » reçoit une IP de ma box et mes 2 interfaces LAN n’ont pas d’IP ce qui est normal car je ne les ai pas configurés. On va l’aisser l’interface « WAN » enp0s3 en DHCP les 2 autres enp0s8 et enp0s9 vont elles êtres en IP statics.
J’édite donc le fichier /etc/network/interfaces
vim /etc/network/interfaces
Je rajoute ceci à la fin du fichier :
#LANLINUX1
auto enp0s8
iface enp0s8 inet static
address 10.10.20.1
netmask 255.255.255.0
#LANLINUX2
auto enp0s9
iface enp0s9 inet static
address 10.10.30.1
netmask 255.255.255.0
J’enregistre et je restart le service networking.service
systemctl restart networking.service
J’affiche de nouveau ma configuration réseau :
ip a
J’ai bien toutes mes interfaces configurés.
Passons au DHCP !
2. Installation et configuration du DHCP.
- Installer le serveur dhcp
apt install isc-dhcp-server
D’ailleurs une fois installés le service n’est pas activé on l’activera plus tard
Nous allons maintenant spécifier sur quel interface le serveur DHCP doit écouter pour ensuite distribuer les IPs. Nous allons donc éditer le fichier /etc/default/isc-dhcp-server
vim /etc/default/isc-dhcp-server
Dans « INTERFACESv4= » je vais ajouter l’interface enp0s8 et enp0s9 comme mentionnés dans le fichier de conf « Separate multiple interfaces with spaces » je vais séparer mes interfaces par un espace comme ceci
INTERFACESv4="enp0s8 enp0s9"
On pourra commenter INTERFACESv6 car on ne va pas l’utiliser. Enregistrer et quitter.
Nous allons maintenant configurer le fichier /etc/dhcp/dhcpd.conf.
Avant tout configuration je vais une sauvegarde de mon fichier :
cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.old
On édite de fichier :
vim /etc/dhcp/dhcpd.conf
On voit qu’on a pas mal d’exemples pour configurer son serveur DHCP. La documentation sur le fichier de conf est bien faites.
Configuration du domain name et des DNS
option domain-name "savoirit.lab";
option domain-name-servers 8.8.8.8, 8.8.4.4;
On configure le range et les informations réseaux pour les 2 sous réseaux
#LANLINUX 10.10.20.0/24
subnet 10.10.20.0 netmask 255.255.255.0 {
range 10.10.20.10 10.10.20.50;
option domain-name-servers 8.8.8.8;
option routers 10.10.20.1;
option broadcast-address 10.10.20.255;
default-lease-time 600;
max-lease-time 7200;
}
#LANLINUX2 10.10.30.0/24
subnet 10.10.30.0 netmask 255.255.255.0 {
range 10.10.30.10 10.10.30.50;
option domain-name-servers 8.8.8.8;
option routers 10.10.30.1;
option broadcast-address 10.10.30.255;
default-lease-time 600;
max-lease-time 7200;
}
On enregistre le fichier « :wq »(sur VIM)
On va démarrer le service et surtout l’activer pour qu’il démarre automatiquement au démarrage de la machine
root@DEBIAN-ROUTEUR:~# systemctl enable isc-dhcp-server.service
isc-dhcp-server.service is not a native service, redirecting to systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable isc-dhcp-server
root@DEBIAN-ROUTEUR:~#systemctl start isc-dhcp-server.service
root@DEBIAN-ROUTEUR:~# systemctl status isc-dhcp-server.service
● isc-dhcp-server.service - LSB: DHCP server
Loaded: loaded (/etc/init.d/isc-dhcp-server; generated)
Active: active (running) since Thu 2021-01-21 19:38:55 CET; 19min ago
Docs: man:systemd-sysv-generator(8)
Tasks: 1 (limit: 1147)
Memory: 4.8M
CGroup: /system.slice/isc-dhcp-server.service
└─701 /usr/sbin/dhcpd -4 -q -cf /etc/dhcp/dhcpd.conf enp0s8 enp0s9
janv. 21 19:38:53 DEBIAN-ROUTEUR systemd[1]: Starting LSB: DHCP server...
janv. 21 19:38:53 DEBIAN-ROUTEUR isc-dhcp-server[689]: Launching IPv4 server only.
janv. 21 19:38:53 DEBIAN-ROUTEUR dhcpd[701]: Wrote 0 leases to leases file.
janv. 21 19:38:53 DEBIAN-ROUTEUR dhcpd[701]: Server starting service.
janv. 21 19:38:55 DEBIAN-ROUTEUR isc-dhcp-server[689]: Starting ISC DHCPv4 server: dhcpd.
janv. 21 19:38:55 DEBIAN-ROUTEUR systemd[1]: Started LSB: DHCP server.
Je configure sur Virtualbox les cartes réseaux de mes 2 VMs Lubuntu comme ci-dessous puis je les démarre.
Pour la LUBUNTU :
Pour la Lubuntu 2 :
Je démarre mes 2 Lubuntu et j’affiche leur configuration réseau.
Lubuntu :
Lubuntu 2 :
J’observe que pour mes 2 Lubuntu je reçois bien les informations réseaux que j’ai configuré.
Pour informations je peux voir mes leases dhcp avec la commande suivante :
root@DEBIAN-ROUTEUR:~# dhcp-lease-list
To get manufacturer names please download http://standards.ieee.org/regauth/oui/oui.txt to /usr/local/etc/oui.txt
Reading leases from /var/lib/dhcp/dhcpd.leases
MAC IP hostname valid until manufacturer
===============================================================================================
08:00:27:b9:66:0c 10.10.20.10 lubuntu 2021-01-22 17:26:56 -NA-
08:00:27:c1:56:b8 10.10.30.10 lubuntu 2021-01-22 17:27:18 -NA-
La suite du LAB dans la partie 2 🙂