Travaux pratiques de réseau informatiques IMA4

Thomas Vantroys et Xavier Redon

1  Introduction

1.1  Objectif

L’objectif de ces travaux pratiques consiste à réaliser physiquement des réseaux locaux interconnectés entre-eux. Chaque réseau local est constitué d’un commutateur/routeur, d’un point d’accès WiFi et d’un ensemble de machines (chaque binôme configure une machine virtuelle filaire et un système embarqué RaspBerry Pi WiFi). Les réseaux locaux vont être relié à Internet en utilisant plusieurs méthodes dont une masquarade que vous aurez à configurer vous-mêmes.

Vous pourrez ainsi mettre en pratique l’ensemble des connaissances acquises lors du cours.

1.2  Matériel 2020/2021

Pour l’année académique 2020/2021 les matériels suivants sont disponibles pour ces travaux pratiques :

2  Installation d’un système d’exploitation

Afin d’accèder au réseau, il vous faut commencer par installer un système Linux (distribution Devuan). Pour ne pas interférer avec le fonctionnement normal de la machine de TP, vous allez créer une machine virtuelle dans laquelle vous installerez le système d’exploitation. Vour utiliserez pour cela kvm, qui émule une machine physique de type PC.

La première opération à réaliser consiste à créer un fichier qui sera utilisé par la machine virtuelle comme disque dur. Dans le répertoire /usr/local1/tmp commencez par créer un répertoire dont le nom est votre login. Puis créer le fichier en utilisant la commande qemu-img create /usr/local1/tmp/<login>/disk 10G

2.1  Installation DVD

Une fois que votre disque virtuel est créé, vous pouvez lancer l’installation dans la machine virtuelle avec la commande :

  kvm -m 1024 -hda /usr/local1/tmp/<login>/disk \
             -cdrom /usr/local1/devuan/devuan_beowulf_3.0.0_amd64-netinstall.iso \
             -net nic,model=ne2k_pci -net user

Attention l’anti-slash est ici comme caractère de continuation de ligne. Il ne faut pas le mettre si vous tapez la commande en une seule ligne.

Cette commande lance la machine virtuelle en lui indiquant le fichier servant de disque dur (option -hda /usr/local1/tmp/<login>/disk) et en lui indiquant que votre machine virtuelle aura un lecteur optique virtuel.

Le lecteur optique virtuel pointe sur une image ISO d’installation réseau de la distribution Linux Devuan. Vous indiquerez, quand cela vous sera demandé, que vous ne voulez pas utiliser un autre disque optique mais que vous voulez utiliser un dépôt Devuan en complément. Cette méthode d’installation nous évite de devoir télécharger toutes les images des DVD d’installation.

Les autres éléments de configuration sont expliqués dans la section suivante.

2.2  Configuration de Linux

Si vous êtes un peu perdu dans l’installation de la distribution Devuan vous pouvez trouver de l’aide à l’URL https://devuan.org/os/documentation/install.

Pour configurer le réseau lors de l’installation, laissez faire la configuration par DHCP.

Comme nom de machine vous pouvez prendre le nom de votre machine de TP préfixée de V ou Virt. Vous pouvez utiliser deule.net comme nom de domaine.

Choisissez glopglop comme mot de passe de root et ajoutez un compte d’utilisateur normal (spécifiez l’identifiant pifou et le mot de passe pasglop).

Utilisez le disque entier pour Linux en utilisant le schéma de partitionnement recommandé pour les utilisateurs débutants. Ensuite n’oubliez pas d’ajouter une source pour le module de gestion des paquetages appelé "APT" comme discuté dans la section précédente.

Pour atteindre le dépot Devuan vous devrez utiliser le serveur mandataire web (proxy web in english) de la plateforme informatique (http://proxy.plil.fr:3128).

Enfin choisissez la configuration "Environnement de bureau/XFCE", "Serveur Web", "Outils console", "Serveur SSH" et "Système standard" puis laissez le système choisir les paquetages correspondants.

Pendant l’installation, vous allez pouvoir commencer la configuration de vos réseaux locaux (section 3).

À la fin l’installation de votre machine fixe, ajouter :

Une fois l’installation de votre machine terminée, vous pouvez connecter la seconde carte réseau de votre machine physique sur un port du commutateur de votre réseau. Afin de pouvoir lier la carte réseau virtuelle avec la seconde carte réseau physique, vous devez relancer la machine virtuelle de la manière suivante :

  1. utilisation de la commande super mktap afin de récupérer le nom d’une interface tapX qui permettra de faire le lien entre les cartes réseau ;
  2. lancement de la machine virtuelle avec la commande suivante :
             kvm -m 1024 -hda /usr/local1/tmp/<login>/disk \
                 -net nic,macaddr=00:11:11:11:11:XX,model=ne2k_pci \
                 -net tap,ifname=tapX,script=no,downscript=no
    
    Le dernier octet de l’adresse MAC correspondra au numéro de votre machine physique.

3  Configuration des réseaux locaux

Vous allez installer des réseaux locaux. Les réseaux locaux seront composés de quatre réseaux IP, deux pour les machines filaires et deux pour les machines WiFi. A ces quatre réseaux s’ajoute le réseau de service permettant d’accéder aux équipements réseau. Les adresses des réseaux IP sont les suivantes :

ServiceFilaire 1WiFi 1Filaire 2WiFi 2
Réseau 1 172.26.0.24/30 172.26.0.0/29 172.26.0.8/29 172.26.0.16/30 172.26.0.20/30
Réseau 2 172.26.0.56/30 172.26.0.32/29 172.26.0.40/29 172.26.0.48/30 172.26.0.52/30
Réseau 3 172.26.0.88/30 172.26.0.64/29 172.26.0.72/29 172.26.0.80/30 172.26.0.84/30
Réseau 4 172.26.0.120/30 172.26.0.96/29 172.26.0.104/29 172.26.0.112/30 172.26.0.116/30
Réseau 5 172.26.0.152/30 172.26.0.128/29 172.26.0.136/29 172.26.0.144/30 172.26.0.148/30
Réseau 6 172.26.0.184/30 172.26.0.160/29 172.26.0.168/29 172.26.0.176/30 172.26.0.180/30
Réseau 7 172.26.0.216/30 172.26.0.192/29 172.26.0.200/29 172.26.0.208/30 172.26.0.212/30
Réseau 8 172.26.0.248/30 172.26.0.224/29 172.26.0.232/29 172.26.0.240/30 172.26.0.244/30
Réseau 9 172.26.1.24/30 172.26.1.0/29 172.26.1.8/29 172.26.1.16/30 172.26.1.20/30
Réseau 10 172.26.1.56/30 172.26.1.32/29 172.26.1.40/29 172.26.1.48/30 172.26.1.52/30
Réseau 11 172.26.1.88/30 172.26.1.64/29 172.26.1.72/29 172.26.1.80/30 172.26.1.84/30
Réseau 12 172.26.1.120/30 172.26.1.96/29 172.26.1.104/29 172.26.1.112/30 172.26.1.116/30
Réseau 13 172.26.1.152/30 172.26.1.128/29 172.26.1.136/29 172.26.1.144/30 172.26.1.148/30
Réseau 14 172.26.1.184/30 172.26.1.160/29 172.26.1.168/29 172.26.1.176/30 172.26.1.180/30
Réseau 15 172.26.1.216/30 172.26.1.192/29 172.26.1.200/29 172.26.1.208/30 172.26.1.212/30
Réseau 16 172.26.1.248/30 172.26.1.224/29 172.26.1.232/29 172.26.1.240/30 172.26.1.244/30

Les réseaux locaux doivent aussi être interconnectés et avoir une sortie sur Internet.

3.1  Architecture du réseau local

Les machines filaires sont distribuées équitablement sur deux VLAN (VLAN 2 et VLAN 3) déclarés sur votre commutateur. Le point d’accès WiFi est connecté par une liaison "trunk" sur une interface de commutation du commutateur/routeur. La liaison "trunk" va permettre de porter les VLAN WiFi 4 et 5.

3.2  Interconnexion des routeurs

Le réseau d’interconnexion entre les routeurs est 192.168.222.32/27 et doit être implanté sur une interface de routage. Il est conseillé de jetter un coup d’oeil à la sous-section 3.5 pour déterminer les adresses IP de vos routeurs dans le réseau d’interconnexion. Reliez les routeurs entre eux à l’aide du dernier commutateur. Les routeurs s’échangeront leurs tables de routage en utilisant le protocole RIPv2. L’IOS de Cisco permet de déclarer le protocole de routage RIP par le mot clef router rip. Comme nous cherchons à router une classe A disjointe (réseau IP 10.0.0.0/8), il faut préciser la directive no auto-summary dans le bloc de configuration. Dans ce bloc de configuration, il suffit ensuite de déclarer les réseaux participant au routage RIP avec le mot clef network. Vérifiez que la table de routage se remplit bien avec la commande show ip route.

3.3  Configuration des éléments réseau

Maintenant que vous avez toutes les informations, vous pouvez réaliser la configuration de votre commutateur et de votre routeur. Ces équipements réseaux se configurent par liaison série en utilisant l’utilitaire minicom avec les options -os. Configurez une communication sans contrôle de flux à 9600 bauds et utilisant le périphérique /dev/ttyS0. Pour obtenir les droits sur le port série, il peut être nécessaire de lancer le script super serial. Il est fortement recommandé de mettre le mot de passe glopglop sur vos éléments réseaux comme indiqué dans le cours. Cela vous permettra d’y accéder par un simple ssh. Pour accéder aux points d’accès et aux commutateurs par IP, il faut leur affecter une adresse IP de service. Sur le point d’accès il faut configurer une adresse IP sur l’interface BVI1 et pour les autres éléments vous pouvez faire de même sur l’interface VLAN1.

Pour l’accès via ssh sur vos éléments réseaux, il faut définir le domaine avec ip domain-name, générer une clef de chiffrement avec crypto key generate rsa et enfin autoriser la connexion ssh avec ip ssh pubkey-chain. Le mode de configuration ne sera accessible que si vous définissez un mot de passe global (enable secret), que vous définissez un mot de passe réseau sur les terminaux virtuels line vty) et que vous ajoutez un administrateur (username admin privilege 15 ...).

3.4  Configuration réseau des machines virtuelles

Connectez la seconde interface Ethernet de votre machine de travaux pratiques sur votre commutateur, sur un port configuré dans le bon VLAN. Supprimez le paquetage network-manager pour pouvoir contrôler manuellement la configuration réseau. Configurez l’interface réseau eth0 à partir du fichier /etc/network/interfaces. Pour vérifier le bon fonctionnement de votre réseau et de vos machines virtuelles, vérifiez que vous pouvez accèder à n’importe quelle autre machine, qu’elle soit ou non dans votre réseau local (utilisez l’utilitaire de test ping ou la commande ssh).

3.5  Connexion à Internet, première méthode

Pour la suite du TP, vous allez connecter vos réseaux au réseau de l’école. Une prise dans votre baie de brassage conduit au VLAN 132 privé du réseau de l’école. Connectez ce VLAN au réseau d’interconnexion de vos routeurs. Lisez attentivement l’extrait de session sur le routeur ci-dessous pour déterminer l’adresse IP que doit avoir votre propre routeur sur le réseau IP 192.168.222.32/27.

RG20-R6506#show running-config | include ip route 10.10  
ip route 172.26.0.0 255.255.255.224 192.168.222.34
ip route 172.26.0.32 255.255.255.224 192.168.222.35
ip route 172.26.0.64 255.255.255.224 192.168.222.36
ip route 172.26.0.96 255.255.255.224 192.168.222.37
ip route 172.26.0.128 255.255.255.224 192.168.222.38
ip route 172.26.0.160 255.255.255.224 192.168.222.39
ip route 172.26.0.192 255.255.255.224 192.168.222.40
ip route 172.26.0.224 255.255.255.224 192.168.222.41
ip route 172.26.1.0 255.255.255.224 192.168.222.42
ip route 172.26.1.32 255.255.255.224 192.168.222.43
ip route 172.26.1.64 255.255.255.224 192.168.222.44
ip route 172.26.1.96 255.255.255.224 192.168.222.45
ip route 172.26.1.128 255.255.255.224 192.168.222.46
ip route 172.26.1.160 255.255.255.224 192.168.222.47
ip route 172.26.1.192 255.255.255.224 192.168.222.48
ip route 172.26.1.224 255.255.255.224 192.168.222.49

Pour trouver l’adresse IP de la route par défaut à implanter sur vos routeurs, regardez l’extrait de session ci-dessous :

RG20-R6506#show running-config interface vlan132
Building configuration...

Current configuration : 146 bytes
!
interface Vlan132
 ip address 192.168.222.33 255.255.255.224
 ip access-group 2032 out
 no ip mroute-cache
end

Vérifiez que vos machines ont maintenant accès au réseau de l’école. Faites en sorte de pouvoir naviguer sur le web à partir de votre machine virtuelle. Comme serveur DNS, il est conseillé d’utiliser la machine d’adresse IP 193.48.57.48.

3.6  Connexion à Internet, seconde méthode

Plutôt qu’une connexion sur le réseau privé de l’école, vous allez tenter de connecter votre réseau local à Internet en passant par une liaison ADSL. Une autre prise dans votre baie de brassage conduit au VLAN 20 du réseau de l’école sur lequel se trouve un routeur ADSL. Connectez ce VLAN au commutateur commun. Vous allez devoir implanter deux VLAN sur ce commutateur pour séparer les flux, il semble assez logique de numéroter ces VLAN 20 et 132.

Pour pouvoir basculer d’une sortie Internet à une autre par un simple changement de la route par défaut sur votre routeur de site, il vous est demandé de connecter ce routeur au commutateur commun par un port "trunk". Pour connecter votre routeur de site sur les deux VLAN 20 et 132, vous implanterez des sous-interfaces sur l’interface de routage déjà utilisée.

Comme adresse pour votre routeur dans le VLAN 20 prenez une adresse IPv4 en 192.168.1.100+nb avec nb le numéro de votre réseau local. L’adresse IPv4 du routeur ADSL est 192.168.1.253.

Basculez le routage par défaut sur le routeur ADSL. Vérifiez que vous avez un accès à Internet. Le passage par un mandataire web est-il encore nécessaire ?

3.7  Connexion à Internet, troisième méthode

Cette fois vous allez implanter votre propre mascarade. Pour cela, vous passerez par un troisième VLAN du réseau de l’école. Ce troisième VLAN est un VLAN avec des adresses publiques, il s’agit du VLAN 111 de réseau IPv4 associé 193.48.65.96/27. Connectez la prise de la baie de brassage correspondante sur le commutateur commun, rajoutez le VLAN sur ce dernier.

Si assez de routeurs sont disponibles ne configurez pas le réseau du VLAN 111 sur votre routeur de site, utilisez un routeur libre pour réaliser la mascarade. Connectez donc ce second routeur au VLAN 111 par une de ses interfaces de routage. Comme adresse pour votre routeur dans le VLAN 111 prenez une adresse IPv4 en 193.48.65.100+nb avec nb le numéro de votre réseau local. Dans le VLAN 111, l’adresse IPv4 du routeur de l’école est 193.48.65.126. Pour l’interconnexion entre le routeur de site et le routeur de mascarade utilisez le réseau IPv4 192.168.222.248/29. Vous êtes libres des adresses IPv4 que vous affectez aux deux routeurs.

S’il n’y a plus de routeur disponible, implantez directement le VLAN 111 sur votre routeur de site avec une adresse en 193.48.65.100+nbnb est le numéro de votre réseau.

La mise en place de la mascarade se fait très simplement sous IOS. Il suffit d’ajouter les directives ip nat inside et ip nat outside sur les interfaces ad hoc. Avec un peu de réflexion vous trouverez quelle directive se place sur quelle interface. Il est aussi nécessaire d’utiliser une directive globale :

Ajustez les routes par défaut pour que vos machines puissent sortir sur Internet. Vous devriez avoir une connexion équivalente à celle de la seconde méthode.

4  Installation des RaspBerry Pi

Vous pouvez maintenant configurer votre point d’accès et connecter votre système embarqué en WiFi sur votre réseau.

4.1  Configuration du point d’accès

Dans la mesure du possible configurez votre point d’accès en 5Ghz (interface Dot11Radio1) pour éviter au maximum les interférences. Il est rappelé qu’il n’y a que 3 canaux indépendants en 2,4Ghz mais une vingtaine, pour l’europe, en 5Ghz.

Vous allez implanter deux SSID sur votre point d’accès WiFi-nb-a et WiFi-nb-b avec nb votre numéro de réseau. Pour chaque SSID il est demandé d’utiliser une sécurisation de type WPA-PSK. Voici un exemple de configuration de réseau WiFi avec ce type de sécurisation en utilisant l’IOS de Cisco :

dot11 ssid WiFi-1-a
   vlan 4
   authentication open
   authentication key-management wpa
   wpa-psk ascii 0 motdepasse
   mbssid guest-mode
!

Au préalable, il faut configurer le mode SSID multiple (mot clef mbssid) ainsi que les méthodes de cryptage (mot clef encryption) TKIP et AES-CCMP sur l’interface Dot11Radio1. Enfin il ne faut pas oublier d’ajouter les SSID à l’interface Dot11Radio1.

Pour assurer la correspondance entre les SSID et les VLAN filaires un bloc, dont un exemple est donné ci-dessous, doit être inséré dans la configuration pour chaque SSID.

interface Dot11Radio1.4 
  encapsulation dot1Q 4
  bridge-group 4 
!
interface GigabitEthernet0.4 
  encapsulation dot1Q 4
  bridge-group 4
!

4.2  Configuration d’un serveur DHCP

Pour faciliter la connexion des périphériques WiFi, vous allez configurer votre routeur de site pour permettre une configuration automatique des paramètres IPv4.

Vous allez donc configurer un groupe DHCP pour chaque réseau WiFi :

ip dhcp pool groupea
  ...
!

Pour le groupe vous devez définir un réseau IPv4 (network), un serveur DNS (dns-server) et un routeur (default-router).

N’oubliez pas d’exclure des groupes les adresses IPv4 que vous utilisez pour le routage avec la commande ip dhcp excluded-address à taper en dehors de la définition du groupe.

Vous pouvez vérifier la configuration des groupes avec la commande show ip dhcp pool et lister les adresses délivrées par DHCP avec la commande show ip dhcp binding.

4.3  Connexion via liaison série

Pour configurer votre RaspBerry Pi, connectez-la sur votre PC fixe via la liaison USB/série (masse sur la broche 6, RX jaune sur la broche 8 et TX orange sur la broche 10). Lancez ensuite l’utilitaire minicom avec les options -os et configurez une communication sans contrôle de flux à 115200 bauds et utilisant le périphérique /dev/ttyUSB0. Pour obtenir les droits sur le convertiseur USB/série il peut être nécessaire de lancer le script super usb. L’identifiant de l’utilisateur de la RaspBerry Pi est root avec le mot de passe toor.

4.4  Connexion en WiFi

Définissez une interface wlan0 dans le fichier /etc/network/interfaces. Il vous est rappelé un exemple de configuration d’interface WiFi :

iface wlan0 inet dhcp
  wpa-ssid WiFi-1-a
  wpa-key-mgmt WPA-PSK
  wpa-psk motdepasse

N’oubliez pas de mettre l’adresse IP du serveur DNS dans le fichier /etc/resolv.conf. Testez votre configuration réseau en affichant la page web de la RaspBerry Pi dans un navigateur de votre machine virtuelle.

Connectez une RaspBerry Pi sur chaque réseau WiFi.

4.5  Ajout de paquetages

Une fois la connexion WiFi établie, initialisez la variable d’environnement http_proxy avec le proxy de la plateforme informatique proxy.plil.fr. Mettez la liste des paquetages à jour puis installez les paquetages telnet, x11-apps et xauth.

4.6  Utilisation d’une WebCam

Compilez l’utilitaire raspistill sur votre RaspBerry Pi. Utilisez-le pour prendre des images. Enfin créez une page Web affichant un cliché de votre caméra. Pour utiliser raspistill à partir d’une page PHP, vous devrez utiliser l’utilitaire super du paquetage éponyme. Testez le bon fonctionnement de cette page de votre machine de travaux pratiques.

5  Utilisation de services

5.1  Première récupération d’informations

Sur votre RaspBerry Pi, développez un formulaire HTML et une page PHP pour traiter les données provenant du formulaire. Lancez wireshark et accédez à votre page depuis la machine virtuelle. Quelles sont les informations que vous voyez passez ? Réalisez la même expérience avec l’ancien site Web IMA http://ima.plil.fr.

5.2  Connexion à distance en mode texte

Lancez wireshark dans votre machine virtuelle, connectez-vous de votre RaspBerry Pi sur votre machine virtuelle. Commencez avec telnet (vérifiez que c’est bien le paquetage telnetd qui est installé sur votre machine virtuelle et non pas telnetd-ssl) et testez ensuite ssh. Que constatez-vous au niveau de la sécurité des différentes commandes vis-à-vis d’un éventuel pirate ?

5.3  Utilisation de X11

Pour cet exercice, il vous faudra rendre votre serveur X11 accessible du réseau en supprimant l’option -nolisten tcp appliquée à X11. Pour réaliser cela, ajoutez l’option DisallowTCP = false dans le fichier de configuration de votre gestionnaire de sessions gdm3. Le fichier en question est /etc/gdm3/daemon.conf. Il faut ensuite relancer le gestionnaire de sessions.

Utilisez la procédure sécurisée permettant d’afficher l’application xeyes lancée de votre RaspBerry Pi sur l’écran X11 de votre machine virtuelle (sans utiliser l’option -X de ssh et en utilisant l’utilitaire xauth).

Recommencez la manipulation ensuite en passant dans une connexion ssh avec l’option de transport de flux X11.

6  Manipulation de protocoles de services Internet

Nous allons maintenant voir les grands protocoles Internet bien plus en détail.

6.1  Rappel sur les principaux protocoles

6.1.1  HTTP

Les trois commandes principales du protocole HTTP sont résumées dans le tableau 1


GETdemande de document
HEADdemande uniquement les entêtes
POSTtransmission de données
Tableau 1: Commandes HTTP

6.1.2  SMTP

Les principales commandes du protocole SMTP sont résumées dans le tableau 2.


HELO, EHLOmessage d’introduction
MAILspécification de la source
RCPT TO:spécification du destinataire
DATAspécification du message
EXPN, VRFYvérifier une adresse
RSET, QUITré-initialiser, quitter
Tableau 2: commandes SMTP

6.1.3  POP3

Les principales commandes du protocole POP3 sont résumées dans le tableau 3


USER, PASSIdentification de l’utilisateur
LISTListe les numéros des messages
RETR, TOPRapatrie un message
DELEDétruit un message
LASTNuméro du dernier message lu
RSET, QUITré-initialiser, quitter
Tableau 3: Commandes POP3

6.2  Manipulation du protocole HTTP

Donnez le maximum d’informations sur les serveurs web des sites :

Utilisez uniquement la commande nc. Attention, pour certains sites, vous serez amenés à utiliser un mécanisme particulier.

6.3  Manipulation du protocole SMTP

Afin de comprendre le fonctionnement du protocole SMTP, envoyez un mail à votre binôme en utilisant comme unique outil nc.

6.4  Manipulation du protocole POP

Récupérez avec nc le message que vous avez envoyé dans la question précédente.


Ce document a été traduit de LATEX par HEVEA