Protocoles réseaux : DHCP et NAT
Ce cours est distribué gratuitement sous licence CC BY-NC-SA 4.0 par Thibaud FRICHET - formation.tfrichet.fr
Prérequis :
- Fondamentaux réseaux : adressage IP, ports, etc.
Rappels théoriques : IPv4 & IPv6
IPv4 et IPv6
IPv4
Les adresses IPv4 sont utilisées depuis les débuts d’Internet. Elles sont adressées en 32 bits sur 4 octets.
Exemple : 51.68.45.52.
Le nombre total d’adresses disponibles est d'environ 4,3 milliards. Toutes les adresses IPv4 ont été attribuées depuis 2019.
Voir le détail de l'ARCEP : https://www.arcep.fr/la-regulation/grands-dossiers-internet-et-numerique/lipv6/suivi-de-lepuisement-des-adresses-ipv4.html
Classes d’IPv4
| Classe | Plage d'adresses publiques | Plage d'adresses privées | Usage |
| A | 1.0.0.0 - 126.255.255.255 | 10.0.0.0 - 10.255.255.255 | Grands réseaux |
| B | 128.0.0.0 - 191.255.255.255 | 172.16.0.0 - 172.31.255.255 | Réseaux moyens |
| C | 192.0.0.0 - 223.255.255.255 | 192.168.0.0 - 192.168.255.255 | Petits réseaux |
| D | 224.0.0.0 - 239.255.255.255 | Multicast | |
| E | 240.0.0.0 - 255.255.255.255 | Réservé |
Les IP privées sont utilisées sur un réseau local LAN, elles ne sont pas routables sur internet.
À l'inverse, les IP publiques sont routables sur internet. Elles sont attribuées par les fournisseurs.
Le NAT (Network address translation) permet à plusieurs IP privées de partager une seule IP publique.
Nous approfondirons plus tard le protocole NAT.
IPv6
IPv6 est le successeur d'IPv4, conçu pour résoudre le problème de pénurie d’adresses IP.
Les IPv6 sont adressées sur 128 bits, permettant de générer environ 3,4×10³⁸ adresses.
Exemple : 1050:0:0:0:5:600:300c:326b
Cela équivaut à un nombre illimité puisque pour saturer le système, il faudrait placer près de 2,30 trillions (milliards de milliards) d'appareils connectés à Internet sur chaque millimètre carré de surface terrestre émergée (148 millions de km2).
Contrairement à IPv4, IPv6 élimine le besoin de NAT : chaque appareil peut disposer d’une adresse IP publique unique.
Cependant, son adoption nécessite une infrastructure compatible, tant au niveau matériel que logiciel, ce qui représente un coût important pour les entreprises.
L'adoption d'IPv6 est inégale entre les pays du monde. Cela s'explique principalement par des différences dans la pression sur les ressources IPv4, les politiques publiques en matière de numérique, et le niveau de préparation technique des opérateurs locaux.
Sous-réseaux
L'implémentation de sous-réseaux permet de diviser un réseau IP en segments plus petits en s'affranchissant des classes IPv4 prédéfinies.
Chaque sous-réseau fonctionne comme un réseau indépendant.
Les cas d'usage sont par exemple l'optimisation du routage ou la séparation logique des services d'une organisation.
Notation CIDR et masque
La notation CIDR (Classless Inter-Domain Routing) permet de spécifier la longueur du préfixe réseau.
Par exemple :192.168.10.0/24
- 24 bits pour le réseau
- 8 bits pour les hôtes
Le masque correspondant est : 255.255.255.0.
Calcul du nombre de sous-réseaux et d'hôtes
Pour créer des sous-réseaux, on emprunte des bits à la partie hôte.
Par exemple, un réseau en 192.168.1.0/24 contient 256 adresses. Si on passe en /26, on utilise 2 bits supplémentaires pour le réseau.
Cela donne 4 sous-réseaux, chacun avec 64 adresses, dont 62 utilisables.
| Sous-réseau | Plage d’hôtes | Broadcast |
|---|---|---|
| 192.168.1.0/26 | 192.168.1.1 – .62 | 192.168.1.63 |
| 192.168.1.64/26 | 192.168.1.65 – .126 | 192.168.1.127 |
| 192.168.1.128/26 | 192.168.1.129 – .190 | 192.168.1.191 |
| 192.168.1.192/26 | 192.168.1.193 – .254 | 192.168.1.255 |
Protocole DHCP
Introduction
Le DHCP (Dynamic Host Configuration Protocol) est un protocole réseau utilisé pour attribuer automatiquement des adresses IP et d'autres paramètres réseau aux machines d'un réseau local.
Il permet d'éviter la configuration manuelle des adresses IP par postes. La gestion est centralisée, avec moins de risques d'erreur.
Fonctionnement
Étapes
- Lorsqu'un appareil rejoint un réseau, il envoie un message de découverte
DHCP Discoverpour annoncer sa présence. Le message est envoyé sur l'adresse de broadcast ARPFF:FF:FF:FF:FF:FF. - Un serveur
DHCPrépond avec une proposition de configuration réseauDHCP Offer. - L'appareil choisit une offre de configuration et envoie une demande
DHCP Request. - Le serveur valide ce choix par un accusé de réception
DHCP Ack.
Ce mécanisme assure à chaque machine une configuration réseau adaptée sans intervention humaine.
Bail DHCP
Un bail DHCP est limité dans le temps, généralement quelques heures. À son expiration, le client doit le renouveler pour garder la même adresse IP.
Si le renouvellement échoue ou si le client ne demande pas de renouvellement, l'adresse IP peut être réattribuée à un autre hôte.
Le bail DHCP contient les informations suivantes :
- Une adresse IP
- Un masque de sous-réseau
- La durée du bail
- L'adresse IP de la passerelle
- Les adresses IP des serveurs DNS
Il est possible d'affecter de manière permanente une adresse IP à une hôte.
On parle alors de réservation DHCP.
Exception : adresses Apipa
Les adresses APIPA (Automatic Private IP Addressing) sont des adresses IP automatiquement attribuées par le système d'exploitation lorsqu'un client DHCP ne parvient pas à contacter un serveur DHCP.
Ces adresses appartiennent à la plage 169.254.0.1 à 169.254.255.254, réservée à cet usage.
Elles permettent à des machines d'un même réseau local de communiquer entre elles, mais ne permettent pas l'accès à Internet.
L’APIPA est une solution de secours temporaire, utile pour le diagnostic des problèmes de connectivité réseau.
Exemples de configuration
Serveur DHCP - Routeur Synology
Les adresse IP 10.1.1.3 à 10.1.1.41 sont en réservation DHCP.
Client Windows
Protocole NAT
Le NAT (Network Address Translation) est un mécanisme utilisé pour faire transiter des paquets IP entre réseaux avec des plages d’adresses différentes, en modifiant les adresses source ou destination.
SNAT et DNAT
Il existe deux types de NAT :
| Type | Fonction | Usage |
| SNAT | Modifie l'adresse source d'un paquet. | Utilisé pour permettre aux hôte d'un LAN d'accéder à Internet. |
| DNAT | Modifie l'adresse de destination d'un paquet. | Utilisé pour rediriger le trafic entrant vers un hôte interne au réseau local. |
SNAT
Le SNAT est automatiquement activé sur les box et modems, ce qui permet aux équipements du réseau local d'accéder à Internet sans configuration manuelle.
DNAT et Port Forwarding
La redirection de port via DNAT est utilisée pour permettre l'accès à un service interne (hébergé sur une machine du réseau local) depuis l’extérieur du réseau.
La redirection consiste à modifier l'adresse IP et le port de destination d'un paquet entrant afin de le rediriger vers une machine du réseau local.
Cette méthode est couramment utilisée pour exposer des services comme des serveurs web, FTP, SSH, etc. derrière un routeur NAT.
Exemple sur un routeur Synology
DMZ
Une DMZ (Demilitarized Zone) est, à l’origine, une zone réseau intermédiaire destinée à héberger des services accessibles depuis Internet, tout en protégeant le réseau interne grâce à une séparation stricte.
En pratique, dans de nombreuses configurations, le terme désigne un hôte placé en dehors du pare-feu via un port forwarding global, exposant tous ses ports à Internet, ce qui revient à le connecter directement au réseau public.
Cas particuliers
NAT UPnP
L'UPnP (Universal Plug and Play) est un protocole qui permet aux équipements connectés d'un réseau de demander au routeur d'ouvrir automatiquement certains ports.UPnP est souvent nécessaire pour le fonctionnement d'applications spécifiques à travers le NAT (P2P, jeux en ligne, visios, etc.).
Dans l'exemple ci-dessus, la PS5 a ouvert des ports UPnP. Probablement pour une mise à jour distribuée en P2P.
Concrètement, au lieu de devoir ajouter manuellement des règles de redirection de ports sur le routeur, UPnP permet à ces applications de créer ou supprimer elles-mêmes des règles de façon dynamique et temporaire.
UPnP peut représenter un risque de sécurité : des programmes malveillants peuvent exploiter cette fonctionnalité pour s'ouvrir un accès depuis l'extérieur.
Hairpinning
Le hairpinning NAT (ou loopback NAT) est une fonctionnalité qui permet à un appareil du réseau local d'accéder à un autre appareil du même LAN via l’adresse IP publique du routeur.
Exemple :
Un smartphone est connecté sur un réseau Wi-Fi domestique. L'utilisateur souhaite accéder au NAS en utilisant l'adresse IP publique du modem et le port redirigé en NAT
- Sans hairpinning : La requête sort vers l'IP publique mais le routeur ne la reboucle pas vers le NAS. Résultat : ça ne fonctionne pas, le routeur bloque ou ignore la redirection pour une requête qui vient du LAN vers le LAN via l'IP publique.
- Avec hairpinning : Le routeur reconnaît cette situation, reboucle la requête et la redirige correctement vers le NAS, comme si la connexion venait de l’extérieur.
La plupart des box opérateurs ne supportent pas correctement le hairspinning.
CGNAT
Le CGNAT (Carrier-Grade NAT, ou NAT de niveau opérateur) est une technique utilisée par les fournisseurs d'accès à Internet (FAI) pour partager une seule adresse IPv4 publique entre plusieurs abonnés.
Cela permet de pallier la pénurie d’adresses IPv4.
Normalement, chaque box ou routeur chez un particulier reçoit une adresse IP publique unique.
À l'inverse, avec le CGNAT, le FAI attribue une adresse IP privée à chaque client (comme dans un réseau local).
Plusieurs clients partagent la même IP publique et le FAI utilise un routeur NAT à grande échelle pour faire la traduction entre les IP privées des clients et l'IP publique partagée.
Quelques exemples
- Fibre Free : Sur certaines offres, une seule IP publique est partagée entre 4 abonnés. Il est possible d'activer une option (gratuite) pour obtenir une IP fixe et dédiée.
- Starlink : Par défaut, les utilisateurs sont derrière un CGNAT.
Pour obtenir une IP publique dédiée, il faut payer une option supplémentaire.
Le CGNAT rend impossible la redirection de port.