Introduction
Ce site web est destiné à accueillir quelques TP de Reseaux pour des étudiants de niveau BTS.
Dans les TP on aborde les notions suivantes :
- Configuration IP
- Configuration d'interfaces
- Diagnostic trivial de problèmes de connexions
- Types d'équipements reseaux
- Creation d'un cluster de 5 noeuds avec Proxmox
Le contenu de ce site est distribué sous licence CC-BY-NC-ND
La mise en page de ce site est réalisée à partir du template de wiki mdbook.
TP 1 Reseaux
Introduction
Dans ce TP de 2h, nous allons monter un cluster de machines en utilisant l'hyperviseur proxmox VE, hyperviseur KVM de Linux, basé sur débian. Proxmox permet de gérer des machines virtuelles et des conteneurs dans un cluster de machines. Par rapport au reseau local notre cluster se comportera comme un sous reseau classique. Nous détaillerons les particularités de proxmox le moment venu.
Pour ce TP vous avez à votre disposition le matériel suivant :
- 3 mini-pc et 1 cable ethernet pour chaque
- 1 machine 'reseau' (qu'on appelera le routeur) qui possède 5 ports ethernet: 3 en RJ45 et 2 en SPF
- 1 switch et son cable SPF pour le uplink
- 1 petit écran et son cable hdmi
- 1 clavier et souris à dongle
- 1 alimentation par appareil (6 en tout)
- 1 clé USB contenant l'installer de proxmox
Le routeur a pour rôle d'être la passerelle entre notre réseau local et internet. L'écran et le clavier doivent vous servir à consulter l'état des mini-pc ou du routeur pour configurer le réseau. Dans une configuration réelle, sauf cas particulier, on configurerais le service ssh pour pouvoir accéder aux machines sans devoir brancher/débrancher sans arrêt des périphériques sur les machines.
[!CAUTION] Il va sans dire que l'on compte bien retrouver l'ensemble du matériel prêté à la fin du TP sinon quoi vous vous exposez à un remboursement du dit matériel.
[!NOTE] Chaque exercice comprend la durée de son exécution.
Exercice 1 (30 minutes)
A) Remplir IP reseau (10-15min)
Topologie Reseau Interactive
B) Installer proxmox sur le routeur (15 minutes)
- Vous devez d'abord insérer la clé USB dans la machine routeur, brancher les cables (alimentation, hdmi) puis allumer la machine. À partir de la 2 possibilités existent, soit :
- La machine démarre directement sur la clé. Pas de problème vous pouvez continuer l'installation.
- La machine démarre sur l'OS ou l'hypervisuer précédemment installé (a priori proxmox). Nous souhaitons réinstaller systématiquement l'hyperviseur pour ce TP. Auquel cas il vous faudra éteindre la machine puis accéder à l'UEFI1 pour démarrer en partant de la clé. Pour accéder à l'UEFI, il faut, juste après le redémarrage de la machine, appuyer sur une touche 'spéciale' du clavier pour y accéder. En général il s'agit d'Échap ou une combinaison de touche Fonction. Dans notre cas il s'agit de la touche Suppr.
[!NOTE] On note qu'avant l'UEFI il existait un microprogramme appelé BIOS qui accomplissait les même tâches. Les deux termes sont parfois utilisés de manière interchangeable.
- Sur l'écran de démarrage choississez "Install Proxmox with Terminal UI" (la fenêtre d'installation graphique n'est pas dimensionnée pour un petit écran)
- Acceptez les conditions d'utilisation, choississez la région et la disposition clavier (qui n'est forcément français par défaut !). On vous demande ensuite de choisir un mot de passe pour l'utilisateur root du système. Dans ce TP nous irons à l'encontre de toute recommandation en matière de cybersécurité en vous recommandant de choisir un mot de passe très simple et identique pour chaque machine. (Votre enseignant n'aimerais pas à avoir réinitialiser votre mot de passe). Pour le mail vous pouvez mettre n'importe quoi au format mail (
a@b.c). À noter que si vous montez un jour votre propre serveur vous devriez mettre un mail où vous êtes joignable... - Entrez le nom de domaine et l'IP. Pour des raison de praticité nous avons déjà choisi les noms de domaines des machines qui seront :
router.homepour le routeurPC1.home,PC2.homeouPC3.homepour les mini-pc (voir l'étiquette dessus)- Dans
IP addressrenseignez l'IP que vous avez choisi dans la premiere partie. Attention, la partie fixe de l'ip de l'adresse de la passerelle et du serveur DNS doivent tous être identique.
- Passez à l'écran suivant et selectionnez 'Install'. Il faudra retirer la clé entre le moment ou vous selectionnez Install et celui où la machine redémarre, sinon vous redémarrerez sur l'installer proxmox au lieu du système !
- Attendez que le système démarre. Une fois sur l'écran de login. (Écran disponible ici seulement en console, on dit aussi CLI2). Au dessus vous devriez voir un lien du type :
https://<VOTRE_IP>:8006. Il s'agit de l'adresse de l'interface web de proxmox. Nous allons continuer les manipulations dessus.
Exercice 2 (10 minutes)
Comme vu précédement, nous allons créer un cluster de machines. Toutes les machines que nous allons relier au cluster feront parti du même sous réseau. Pour faciliter la gestion du réseau global (WAN3) au niveau du routeur, nous allons créer un pont, ou bridge4.
A) Création d'un pont
Connectez vous à l'interface web de proxmox sur le routeur avec l'identifiant root et le mot de passe que vous avez fourni à l'installation. Une fois que c'est fait, allez dans l'onglet Datacenter > router > System > Network. Cliquez sur Create > Linux Bridge. On vous demande de remplir un formulaire : Dans le champ Name mettez vmbr1 (vmbr0 étant le nom donné au bridge crée par défaut sur les machines sous proxmox). Dans le champ Bridge ports mettez l'interface à laquelle le switch sera relié. On choisira ici une des deux interfaces SFP (nommées nic3 ou nic4).
Cliquez sur Create, puis sur Apply Configuration en haut de la fenêtre du network. Votre pont est crée !
B) Mise en place d'un NAT
Pour assurer que les machines du sous réseau puissent acceder à internet nous allons configurer un NAT. Le NAT est une technique qui permet de traduire les adresses IP privées d'un réseau local en une seule adresse IP publique pour communiquer sur internet. C'est un des services que fournissent les box des principaux FAI5.
D'abord il faut autoriser l'IP forwarding sur le routeur. Cliquez sur le noeud router puis dans l'onglet Shell du panneau qui s'est ouvert.
Nous vous proposons deux méthodes pour obtenir l'IP forwarding, l'une est temporaire et l'autre permanente. Les voici:
- Temporaire: Entrez la commande
sudo sysctl -w net.ipv4.ip_forward=1 - Permanent: Éditez le fichier
/etc/sysctl.conf(avec nano ou vi par exemple) pour y ajouter la lignenet.ipv4.ip_forward=1
Ensuite, pour que le routeur transfert les paquets privés à la bonne passerelle, et surtout pour qu'il re-transfert les paquets coté WAN au bon PC, nous devons donner quelques règles supplémentaires au kernel pour gerer les tables de routage. Pour faire cela nous allons utiliser la commande nftables.
nftables est un utilitaire disponible sous Linux qui permet de filtrer les paquets IPv4 ou IPv6 selon le type d'interface, l'ip ou le statut de la connexion. L'utilitaire, développé pour le projet libre netfilter, intervient au niveau du kernel Linux. Il remplace un utilitaire déprécié appelé iptables (qui est encore disponible selon les distributions, sous Debian (notre cas) la commande iptables appelle un wrapper de nftables).
Avec nftables on écrit des tables (de différents types) contenant des 'chaines' (ou règles de routage), chaque chaine est associée à un type de chaine (on s'interesse ici aux types nat et filter). Le type de table défini quels hooks on peut utiliser (hook: l'étape dans laquelle est le paquet au moment ou il est pris en charge par le kernel, par exemple ip et arp n'ont pas les même hooks).
Toutes nos règles sont sur des tables ip. Nous allons ajouter 2 chaînes "filter". L'une pour indiquer au pare-feu qu'il faut transferer les paquets du sous réseau vers la passerelle WAN. L'autre pour demander à ce que seuls les paquets provenant d'une connexion déjà établie puissent être transferé vers le sous réseau. Pour finir on ajoute une règle 'masquerade' qui permet de rediriger les paquets vers le bon IP du sous réseau.
Pour ce TP on ne vous pas de comprendre le fonctionnement de nftables. Les commandes sont données ci-dessous et il faut les entrer dans la console du routeur : écrire des entrées pour nftables n'est pas l'objectif du TP.
Vous pouvez copier les commandes ci-dessous :
nft add table ip nat
nft add chain ip nat POSTROUTING { type nat hook postrouting priority 100 \; }
nft add table ip filter
nft add chain ip filter FORWARD { type filter hook forward priority 0 \; }
nft add rule ip nat POSTROUTING ip saddr 192.168.42.0/24 oifname "vmbr0" masquerade
nft add rule ip filter FORWARD iifname "vmbr1" oifname "vmbr0" accept
nft add rule ip filter FORWARD iifname "vmbr0" oifname "vmbr1" ct state established,related accept
C) Branchements et tests de connexion
Votre routeur doit être branché avec un cable ethernet par les prises RJ45 à votre routeur local. Pour que votre routeur puisse accéder au cluster reliez le routeur et le switch avec un cable SFP6.
[!CAUTION] Les cables SFP sont des cables en fibre optique et sont donc un peu plus fragile que les cables RJ45. Faites attention en particulier au risque d'écrasement et de torsion.
Pour tester la connexion entre deux machines on utilisera la commande ping prévue à cet effet. La commande ping prends en paramètre une adresse IP à qui elle envoie des paquets TCP/ICMP7. La commande a besoin d'une ip pour fonctionner, mais nous allons aussi lui passer le nombre de ping à effectuer avec l'option -c. (Soit ping -c 10 192.168.1.1 pour tester la connexion au routeur). Reportez la durée moyenne de vos ping dans la première ligne du tableau suivant. Vous reviendrez plus tard dans l'exercice completer les lignes suivantes.
| Machine | Durée moyenne | IP source | IP destination |
|---|---|---|---|
| Router | |||
| PC1 | |||
| PC2 | |||
| PC3 |
Si vos paquet ICMP sont bien reçus vous devriez voir une sortie comme celle-ci :

Vous pouvez aussi tester la reception de paquets avec la commande tcpdump -i itf icmp.
Exercice 3 (30 minutes)
On passe à la création du cluster proprement dit. Pour ce faire, nous allons installer proxmox sur chaque mini-pc, nous connecter par ethernet au mini-pc pour faire rejoindre chaque PC au cluster.
A) Installer et configurer proxmox
Pour chaque mini-pc, refaite les étapes 1 à 5 de l'exercice 1. Comme il y a 3 mini-pc on vous recommande de répartir les manipulations entre vous.
Faites ensuite un test de connexion entre chaque mini-pc et le routeur en utilisant les mêmes commandes qu'à l'exercice 2.C.
B) Joindre les machines au cluster
Cliquez sur Datacenter > Cluster > Join information. Cliquer sur copy information pour copier votre token de connexion dans votre presse papier (pas besoin de ctrl+c/v).
On veut maintenant se connecter au futur noeud en utilisant son interface web. Or vous devez vous rappeler que l'on a configuré un sous réseau depuis le routeur avec un pont (sure?), ce qui rends impossible la connexion depuis votre navigateur web même avec l'IP.
Pour pouvoir tout de même se connecter avec l'interface web (et ne pas recopier le token à la main), nous vous proposons la démarche suivante :
- Connectez le mini-pc au switch.
- Coté poste de travail, branchez un cable RJ45 entre le deuxième port du mini-pc et celui de votre poste.
- Ouvrez la connexion coté mini-pc, c'est à dire:
- Vérifiez le nom des interfaces ethernet avec
ip -br a(en général, eth0, eth1...) - Après avoir choisi l'interface qui corresponds à votre branchement entrez
ip link set <INTERFACE> up - Entrez ensuite
ip addr add <IP> dev <INTERFACE>. Choississez une IP d'un autre sous réseau que celui de proxmox ou de votre poste (par exemple : 192.168.2.3/24).
- Vérifiez le nom des interfaces ethernet avec
- Pour ouvrir la connexion coté poste, répetez les 3 étapes du point 3. dans un terminal sur votre poste. N'oubliez pas de changer d'adresse IP ! (par exemple : 192.168.2.2/24).
- Sur votre poste, ouvrez un navigateur et entrez
http://192.168.2.2:8006. Cliquez sur Datacenter > Cluster > Join Cluster et coller le token du routeur. Malgré les accès fait à partir de 2 réseaux différents le token réussi bien à trouver le routeur (pourvu que vous ayez bien connecté le pc au switch). Attendez le message "task done" pour fermer la fenêtre. - Si vous avez fermé la page de proxmox du routeur rouvrez la et placez vous dans le shell correspondant. Le PC devrait apparaître parmi les machines disponibles.
- Repetez les étapes de 1. à 6. pour chaque mini-pc.
Bravo vous avez mis en place un cluster de 4 machines !
Glossaire
UEFI : Unified Extensible Firmware Interface : le logiciel de bas niveau qui fait le lien entre les composants matériels d'un ordinateur et son système d'exploitation lors du démarrage
CLI : Command Line Interface : l'outil textuel qui permet de contrôler un ordinateur ou un logiciel en tapant des commandes au clavier, au lieu de cliquer avec une souris. C'est un héritage des tout premiers ordinateurs qui n'avaient souvent pas d'écran mais une imprimante.
WAN : Wide Area Network : le réseau informatique qui relie des ordinateurs et des réseaux locaux (LAN) sur une grande zone géographique, comme un pays ou le monde entier.
Pont réseau : Un pont réseau (ou network bridge) est un équipement ou une fonction logicielle de la couche 2 (liaison de données) du modèle OSI qui relie deux segments de réseau local pour les faire communiquer comme un seul et même réseau.
SFP : Small Form-Factor Pluggable est un module émetteur-récepteur compact et enfichable à chaud utilisé dans les réseaux informatiques et de télécommunications.
ICMP : Le protocole Internet Control Message Protocol est un protocole de la couche réseau qui sert à signaler des erreurs et à diagnostiquer les problèmes de connexion sur un réseau IP. Voir rfc792.
FAI : Fournisseur d'accès internet, organisation (comme Orange, Free, SFR, Bouygues Telecom...) qui fournit une connexion Internet (fibre, ADSL) ainsi que des services associés comme la télévision ou la téléphonie. Attention, il faut bien distinguer les entreprises qui possèdent l'infrastructure (Orange, Free...), du fournisseur d'accès, certains fournisseurs d'accès louant l'usage de l'infrastrucure aux entreprises de telecom (par exemple FDN ou Ozone).
TP 2 Reseaux
Dans ce TP vous devrez gérer un petit réseau comprenant un serveur windows et trois miniPC
Annexes
À propos de l'auteur
Laure Ferrouillet, informaticienne de profession.
L'IA Gemini pour les schemas du TP1.