Product SiteDocumentation Site

Chapitre 10. Infrastructure réseau

10.1. Passerelle
10.2. X.509 certificates
10.2.1. Creating gratis trusted certificates
10.2.2. Infrastructure de clés publiques easy-rsa
10.3. Réseau privé virtuel
10.3.1. OpenVPN
10.3.2. Réseau privé virtuel avec SSH
10.3.3. IPsec
10.3.4. PPTP
10.4. Qualité de service
10.4.1. Principe et fonctionnement
10.4.2. Configuration et mise en œuvre
10.5. Routage dynamique
10.6. IPv6
10.6.1. Tunnel
10.7. Serveur de noms (DNS)
10.7.1. DNS software
10.7.2. Configuring bind
10.8. DHCP
10.8.1. Configuration
10.8.2. DHCP et DNS
10.9. Outils de diagnostic réseau
10.9.1. Diagnostic local : netstat
10.9.2. Diagnostic distant : nmap
10.9.3. Les sniffers : tcpdump et wireshark
Linux profite du considérable héritage d'Unix dans le domaine des réseaux et Debian dispose de toute la panoplie des outils existants pour les créer et les gérer. Ce chapitre les passe en revue.

10.1. Passerelle

Une passerelle relie plusieurs réseaux entre eux. Ce terme désigne souvent la « porte de sortie » d'un réseau local, point de passage obligé pour atteindre toutes les adresses IP externes. La passerelle est connectée à chacun des réseaux qu'elle relie et agit en tant que routeur pour faire transiter les paquets IP entre ses différentes interfaces.
Lorsqu'un réseau local utilise une plage d'adresses privées (non routables sur Internet), la passerelle doit effectuer du masquerading (masquage d'adresses IP) pour que ses machines puissent communiquer avec l'extérieur. L'opération consiste à remplacer chaque connexion sortante par une connexion provenant de la passerelle elle-même (disposant d'une adresse valable sur le réseau externe) puis à faire suivre les données reçues en réponse à la machine ayant initiée la connexion. Pour mener à bien cette tâche, la passerelle dispose d'une plage de ports TCP dédiés au masquerading (il s'agit souvent de numéros de port très élevés, supérieurs à 60 000). Chaque nouvelle connexion issue d'une machine interne apparaîtra à l'extérieur comme provenant de l'un de ces ports réservés. Lorsque la passerelle reçoit une réponse sur l'un d'entre eux, elle sait à quelle machine la faire suivre.
La passerelle peut également effectuer une traduction d'adresses réseau (NAT, ou Network Address Translation). Il en existe de deux types. Le Destination NAT (DNAT) est une technique pour altérer l'adresse IP (et/ou le port TCP ou UDP) destinataire d'une nouvelle connexion (généralement entrante). Le mécanisme de « suivi des connexions » (connection tracking) altérera aussi les autres paquets de la même connexion pour assurer la continuité de la communication. Son pendant, le Source NAT (SNAT), dont le masquerading est un cas particulier, altère l'adresse IP (et/ou le port TCP ou UDP) source d'une nouvelle connexion (généralement sortante). Comme pour le DNAT, le suivi des connexions gère de manière adéquate les paquets suivants. Il est à noter que ce mécanisme de NAT n'est pertinent que dans le cas d'IPv4 ; l'abondance d'adresses fait que le NAT n'est pas requis sur les réseaux IPv6, ce qui simplifie les configurations puisque chaque adresse est routée directement (ce qui ne veut pas dire qu'elle soit accessible, des coupe-feu pouvant filtrer le trafic en chemin).
Après la théorie, place à la pratique. Il est très facile de transformer un système Debian en passerelle : il suffit d'activer l'option adéquate du noyau Linux. On peut pour cela procéder par l'intermédiaire du système de fichiers virtuels /proc :
# echo 1 > /proc/sys/net/ipv4/conf/default/forwarding
Pour activer cette option automatiquement à chaque démarrage, on positionnera dans le fichier /etc/sysctl.conf l'option net.ipv4.conf.default.forwarding à 1.

Exemple 10.1. Fichier /etc/sysctl.conf

net.ipv4.conf.default.forwarding = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.tcp_syncookies = 1
Pour IPv6, on remplacera simplement ipv4 par ipv6 dans la commande et on modifiera la ligne net.ipv6.conf.all.forwarding dans /etc/sysctl.conf.
Activer le masquerading IPv4 est une opération plus complexe, nécessitant de configurer le pare-feu netfilter.
L'emploi du NAT (en IPv4) nécessite lui aussi de configurer netfilter. Comme il s'agit d'un élément logiciel dont la vocation première est de servir de filtre de paquets, il sera abordé dans le chapitre « Sécurité » (voir Section 14.2, « Pare-feu ou filtre de paquets »).