Chapitre 5. Configuration du réseau

# Chapitre 5. Configuration du réseau

| Astuce
Pour un guide actualisé de la gestion réseau sous Debian, lire le Guide de l’administrateur Debian - configurer le réseau (« The Debian Administrator's Handbook — Configuring the Network »).

| Astuce
Sous systemd, networkd peut être utilisé pour gérer les réseaux. Consultez systemd-networkd(8).

## 5.1. L’infrastructure de base du réseau

Passons en revue l’infrastructure de base du réseau sur un système Debian moderne.

Tableau 5.1. Liste des outils de configuration du réseau

paquets | popularité | taille | type | description
--- | --- | --- | --- | ---
`network-manager` | V:423, I:470 | 6996 | config::NM | NetworkManager (démon) : gère automatiquement le réseau
`network-manager-gnome` | V:43, I:167 | 18 | config::NM | NetworkManager (frontal de GNOME)
`netplan.io` | V:2.2, I:8.5 | 340 | config::NM+networkd | Netplan (generator) : interface unifiée déclarative des dorsaux NetworkManager et systemd-networkd backends
`ifupdown` | V:641, I:972 | 201 | config::ifupdown | outil standard pour activer ou désactiver le réseau (spécifique à Debian)
`pppoeconf` | V:0.2, I:4.1 | 176 | config::helper | assistant de configuration d’une connexion PPPoE
`wpasupplicant` | V:409, I:514 | 3896 | config::helper | client prenant en charge WPA et WPA2 (IEEE 802.11i)
`wpagui` | V:0.2, I:1.3 | 779 | config::helper | client graphique (Qt) pour wpa_supplicant
`wireless-tools` | V:191, I:257 | 225 | config::helper | outils pour manipuler les « Extensions Linux sans fil » (Linux Wireless Extensions)
`iw` | V:37, I:473 | 332 | config::helper | outil de configuration des périphériques sans fil de Linux
`iproute2` | V:776, I:986 | 4123 | config::iproute2 | iproute2, IPv6 et autres configurations avancées du réseau : ip(8), tc(8), etc
`iptables` | V:376, I:638 | 2408 | config::Netfilter | outils d’administration pour le filtrage des paquets et NAT (Netfilter)
`nftables` | V:246, I:866 | 189 | config::Netfilter | outils d’administration pour le filtrage des paquets et NAT (Netfilter) (successeur à {ip,ip6,arp,eb}tables)
`iputils-ping` | V:198, I:997 | 188 | test | tester l’accessibilité d’une machine distante par nom de machine ou adresse IP (iproute2)
`iputils-arping` | V:2, I:18 | 53 | test | tester l’accessibilité réseau d’une machine distante spécifiée par une adresse ARP
`iputils-tracepath` | V:2, I:20 | 50 | test | tracer le chemin du réseau vers une machine distante
`ethtool` | V:96, I:254 | 1088 | test | afficher ou modifier les paramètres d’un périphérique Ethernet
`mtr-tiny` | V:4, I:39 | 181 | test::low-level | tracer le chemin réseau vers une machine distante (curses)
`mtr` | V:4, I:41 | 230 | test::low-level | tracer le chemin réseau vers une machine distante (curses et GTK)
`gnome-nettool` | V:0.5, I:9.0 | 2480 | test::low-level | outils pour des opérations d’informations habituelles sur le réseau (GNOME)
`nmap` | V:25, I:184 | 4766 | test::low-level | cartographie réseau / balayage de ports (Nmap, console)
`tcpdump` | V:18, I:174 | 1346 | test::low-level | analyseur de trafic réseau (Tcpdump, console)
`wireshark` | V:4, I:39 | 17068 | test::low-level | analyseur de trafic réseau (Wireshark, GTK)
`tshark` | V:2, I:23 | 433 | test::low-level | analyseur de trafic réseau (console)
`tcptrace` | V:0.2, I:1.6 | 407 | test::low-level | produit un résumé des connexions à partir d’une sortie de `tcpdump`
`dnsutils` | V:5, I:161 | 23 | test::low-level | clients réseau fournis par BIND : nslookup(8), nsupdate(8), dig(8)
`dlint` | V:0.1, I:2.2 | 52 | test::low-level | vérifier les zones d’information DNS en utilisant des requêtes du serveur de noms
`dnstracer` | V:0.1, I:1.2 | 59 | test::low-level | tracer une chaîne de serveurs DNS jusqu’à la source

### 5.1.1. Résolution du nom d’hôte

La résolution du nom d’hôte est actuellement prise en charge aussi par le mécanisme NSS (Name Service Switch). Le flux de cette résolution est le suivant :

1. Le fichier « `/etc/nsswitch.conf` » avec une entrée comme « `hosts: files dns` » donne l’ordre de la résolution du nom d’hôte (cela remplace l’ancienne fonctionnalité de l’entrée « `order` » dans « `/etc/host.conf` »).

2. La méthode `files` est d’abord appelée. Si le nom d’hôte est trouvé dans le fichier « `/etc/hosts` », elle retourne toutes les adresses valables qui y correspondent et quitte. (Le fichier « `/etc/host.conf` » contient « `multi on` ».)

3. La méthode `dns` est appelée. Si le nom d’hôte est trouvé par une requête au Système de noms de domaine Internet (DNS) (« Internet Domain Name System ») identifié par le fichier « `/etc/resolv.conf` », elle retourne toutes les adresses valables correspondantes et quitte.

Une station de travail peut être installée avec comme nom d’hôte défini par exemple à « host_name » et comme nom de domaine facultatif défini à une chaine vide. Alors, « `/etc/hosts` ressemble à ceci :

    127.0.0.1 localhost
    127.0.1.1 host_name

    # The following lines are desirable for IPv6 capable hosts
    ::1     localhost ip6-localhost ip6-loopback
    ff02::1 ip6-allnodes
    ff02::2 ip6-allrouters

Chaque ligne commence par une adresse IP et est suivie du nom d’hôte associé.

L’adresse IP `127.0.1.1` en deuxième ligne de cet exemple pourrait ne pas être présente sur d’autres systèmes de type UNIX. L’installateur Debian ajoute cette entrée pour les systèmes sans adresse IP permanente en tant que contournement pour certains programmes (par exemple GNOME) comme expliqué dans le bogue nº 719621.

Le nom_hote correspond au nom d’hôte défini dans « `/etc/hostname` » (Consulter Section 3.8.1, « Nom de machine (« hostname ») »).

Pour un système avec une adresse IP permanente, cette adresse IP devrait être utilisée à la place de `127.0.1.1`.

Pour un système avec une adresse IP permanente et un nom de domaine complètement qualifié (FQDN) fourni par le système de noms de domaine (DNS), les nom_hote et nom_domaine canoniques devraient être utilisés ici, plutôt que le simple nom_hote.

« `/etc/resolv.conf` » est un fichier statique si le paquet `resolvconf` n’est pas installé. S’il est installé, c’est un lien symbolique. Dans tous les cas, il contient des informations qui initialisent les routines du résolveur. Si le DNS est trouvé à l’IP=« `192.168.11.1` », il contient ce qui suit :

    nameserver 192.168.11.1

Le paquet `resolvconf` fait de ce « `/etc/resolv.conf` » un lien symbolique et gère son contenu automatiquement par le script hook.

Pour une station de travail compatible PC sur un réseau local ad hoc typique, le nom d’hôte peut être résolu à l’aide du Multicast DNS (mDNS en plus des méthodes basiques par `files` et `dns`.

- Sur les systèmes Debian, Avahi fournit un cadre pour le « Multicast DNS Service Discovery ».

- Il est l’équivalent de Apple Bonjour/Apple Rendezvous.

- Le greffon de la bibliothèque `libnss-mdns` fournit une résolution de nom d’hôte à l’aide de mDNS pour la fonction « GNU Name Service Switch (NSS) » de « GNU C Library (glibc) ».

- Le fichier « `/etc/nsswitch.conf` » devrait contenir une section telle que « `hosts: files mdns4_minimal [NOTFOUND=return] dns` » (consulter `usr/share/doc/libnss-mdns/README.Debian` pour d’autres configurations).

- Un nom d’hôte suffixé avec un pseudo domaine de premier niveau « .local » est résolu en envoyant un message de requête mDNS dans un paquet UDP multicast en utilisant une adresse IPv4 « `224.0.0.251` » ou une adresse IPv6 « `FF02::FB` ».

| Note
L'expansion de nom de domaine de premier niveau générique « generic Top-Level Domains (gTLD) » dans le système de noms de domaine est en cours de réalisation. Soyez attentifs aux conflits de noms lors du choix d'un nom de domaine utilisé uniquement au sein d'un réseau local « LAN ».

| Note

L’utilisation de paquets tels que `libnss-resolve` avec `systemd-resolved`, ou `libnss-myhostname`, ou `libnss-mymachine`, avec les listes correspondantes sur la ligne « `hosts` » dans le fichier « `/etc/nsswitch.conf` » peut outrepasser la configuration traditionnelle du réseau expliquée ci-dessus (consulter nss-resolve(8), systemd-resolved(8), nss-myhostname(8) et nss-mymachines(8) pour plus de détails).

### 5.1.2. Nom de l’interface réseau

systemd utilise "Noms prévisibles d’interface réseau" comme "`enp0s25`".

### 5.1.3. Plage d’adresses réseau du réseau local (« LAN »)

Un rappel des plages d’adresses IPv4 32 bits de chacune des classes réservées à l’utilisation sur un réseau local (LAN) par la rfc1918. Ces adresses garantissent qu’aucun conflit ne sera créé avec aucune des adresses présentes sur Internet proprement dit.

| Note
Les adresses IP écrites avec des deux-points sont des adresses IPv6, par exemple, « `::1` » pour `localhost`.

Tableau 5.2. Liste des plages d’adresses de réseau

Classe | adresses de réseau | masque de réseau | masque de réseau /bits | nombre de sous-réseaux
--- | --- | --- | --- | ---
A | 10.x.x.x | 255.0.0.0 | /8 | 1
B | 172.16.x.x — 172.31.x.x | 255.255.0.0 | /16 | 16
C | 192.168.0.x — 192.168.255.x | 255.255.255.0 | /24 | 256

| Note

Si une de ces adresses est assignée à une machine, cette machine ne doit alors pas accéder directement à Internet mais passer par une passerelle qui agit en tant que serveur mandataire (« proxy ») pour les services individuels ou sinon effectuer une traduction d’adresse réseau (NAT) (« Network Address Translation ». Un routeur à large bande effectue en général la NAT pour l’environnement du LAN de l’utilisateur grand public.

### 5.1.4. La gestion du périphérique réseau

La plupart des périphériques matériels sont pris en charge par le système Debian, il y a quelques périphériques de réseau qui exigent, pour les gérer, des microprogrammes non libres d’après les principes du logiciel libre selon Debian. Veuillez consulter Section 9.10.5, « Pilotes de matériel et microprogramme ».

## 5.2. Configuration moderne de réseau pour ordinateur de bureau

Les interfaces réseau sont ordinairement initialisées dans « `networking.service` » pour l’interface `lo` et « `NetworkManager.service` » pour les autres interfaces sur les systèmes de bureau modernes de Debian sous `systemd`.

Debian peut gérer la connexion réseau via un logiciel démon de gestion tel que NetworkManager (NM) (gestionnaire de réseau et paquets associés).

- Ils sont fournis avec leur propre interface utilisateur graphique (GUI) et en ligne de commandes.

- Ils ont leur propre démon en tant que sytème dorsal.

- Ils permettent une connexion facile de votre système à Internet.

- Ils permettent une gestion facile de la configuration du réseau filaire ou sans fil.

- Ils nous permettent de configurer le réseau indépendamment de l’ancien paquet « `ifupdown` ».

| Note
Ne pas utiliser ces outils de configuration automatique du réseau sur un serveur. Ils ont été prévus principalement pour les utilisateurs de système de bureau tournant sur des ordinateurs portables.

Ces outils modernes de configuration du réseau doivent être configurés correctement afin d’éviter des conflits avec l’ancien paquet `ifupdown` et son fichier de configuration « `/etc/network/interfaces` ».

### 5.2.1. Outils graphiques de configuration du réseau

La documentation officielle de NM sous Debian sont fournies par « `/usr/share/doc/network-manager/README.Debian` ».

Essentiellement, la configuration réseau pour un ordinateur de bureau est faite de la manière suivante :

1. Rendez l’utilisateur du bureau, par exemple `toto`, membre du groupe « `netdev` » à l’aide de la commande suivante (vous pouvez aussi le faire automatiquement à l’aide de D-bus sous les environnements de bureau modernes comme GNOME et KDE) :

       $ sudo usermod -a -G netdev foo

2. Gardez la configuration de « `/etc/network/interfaces` » aussi simple que possible comme ce qui suit :

       auto lo
       iface lo inet loopback

3. Redémarrez NM de la manière suivante :

       $ sudo systemctl restart NetworkManager

4. Configurez votre réseau à l’aide d’une interface graphique.

| Note
Afin d’éviter les conflits avec `ifupdown`, seules les interfaces qui ne sont pas listées dans « `/etc/network/interfaces` » sont gérées par NM.

| Astuce
Si vous désirez étendre les possibilités de configuration de NM, veuillez récupérer les modules d’extension appropriés et les paquets supplémentaires tels que `network-manager-openconnect`, `network-manager-openvpn-gnome`, `network-manager-pptp-gnome`, `mobile-broadband-provider-info`, `gnome-bluetooth`, etc.

## 5.3. Configuration moderne de réseau sans interface graphique

Sous systemd, le réseau peut aussi être configuré dans `/etc/systemd/network/`. Voir : systemd-resolved(8), resolved.conf(5), et systemd-networkd(8).

Cela permet une configuration moderne de réseau sans interface graphique.

Une configuration de client DHCP peut être réglée en créant « `/etc/systemd/network/dhcp.network` ». Par exemple :

    [Match]
    Name=en*

    [Network]
    DHCP=yes

Une configuration de réseau statique peut être réglée en créant « `/etc/systemd/network/static.network` ». Par exemple :

    [Match]
    Name=en*

    [Network]
    Address=192.168.0.15/24
    Gateway=192.168.0.1

## 5.4. Configuration moderne de réseau pour l’infonuagique

La configuration moderne de réseau pour l’infonuagique peut utiliser les paquets `cloud-init` et `netplan.io` (consulter Section 3.8.4, « Initialisation du système d’infonuagique »).

Le paquet `netplan.io` prend en charge `systemd-networkd` et `NetworkManager` comme dorsaux de configuration réseau et active la configuration déclarative de réseau en utilisant des données YAML . Si YAML est modifié :

- exécutez la commande « `netplan generate`» pour générer toute la configuration nécessaire du dorsal à partir de YAML;

- exécuter la commande « `netplan apply` » pour appliquer la configuration aux dorsaux ;

Consultez la « documentation de Netplan », netplan(5), netplan-generate(8) et netplan-apply(8).

Consultez aussi la « documentation de Cloud-init » (particulièrement vers « Sources de configuration » et « Netplan Passthrough ») pour savoir comment `cloud-init` peut intégrer la configuration de `netplan.io` avec des sources de données de remplacement.

### 5.4.1. Configuration moderne de réseau pour l’infonuagique avec DHCP

Une configuration DHCP de client peut être définie en créant un fichier de données source « `/etc/netplan/50-dhcp.yaml` » :

    network:
      version: 2
      ethernets:
        all-en:
          match:
            name: "en*"
          dhcp4: true
          dhcp6: true

### 5.4.2. Configuration moderne de réseau pour l’infonuagique avec IP statique

Une configuration de réseau statique peut être définie en créant un fichier de données source « `/etc/netplan/50-static.yaml`:

    network:
      version: 2
      ethernets:
        eth0:
          addresses:
            - 192.168.0.15/24
          routes:
            - to: default
              via: 192.168.0.1

### 5.4.3. Configuration moderne de réseau pour l’infonuagique avec Network Manager

Une configuration de réseau de client en utilisant une infrastructure Network Manager peut être définie en créant un fichier de données source « `/etc/netplan/00-network-manager.yaml` » :

    network:
      version: 2
      renderer: NetworkManager

## 5.5. Configuration réseau de bas niveau

Pour la configuration réseau de bas niveau sous Linux, utilisez les programmes iproute2 (ip(8), ...) .

### 5.5.1. Commandes Iproute2

Les commandes Iproute2 offrent des possibilités complètes de configuration de bas niveau du réseau. Voici une table de conversion des commandes obsolètes net-tools vers les nouvelles commandes iproute2, etc.

Tableau 5.3. Table de conversion depuis les commandes obsolètes `net-tools` vers les nouvelles commandes `iproute2`

net-tools obsolètes | nouveau iproute2, etc. | manipulation
--- | --- | ---
ifconfig(8) | `ip addr` | adresse de protocole (IP ou IPv6) d’un périphérique
route(8) | `ip route` | entrée de la table de routage
arp(8) | `ip neigh` | entrée de cache ARP ou NDISC
`ipmaddr` | `ip maddr` | adresse multicast
`iptunnel` | `ip tunnel` | tunnel sur IP
nameif(8) | ifrename(8) | nommer les interfaces réseau en se basant sur l’adresse MAC
mii-tool(8) | ethtool(8) | paramétrage du périphérique Ethernet

Consulter ip(8) et Linux Advanced Routing & Traffic Control.

### 5.5.2. Opérations sûres de bas niveau sur le réseau

Vous pouvez utiliser de manière sûre les commandes de réseau de bas niveau de la manière suivante car elles ne modifient pas la configuration du réseau.

Tableau 5.4. Liste des commandes de réseau de bas niveau

commande | description
--- | ---
`ip addr show` | afficher l’état et l’adresse du lien des interfaces actives
`route -n` | afficher toutes les tables de routage sous forme d’adresses numériques
`ip route show` | afficher toutes les tables de routage sous forme d’adresses numériques
`arp` | afficher le contenu actuel des tables de cache d’ARP
`ip neigh` | afficher le contenu actuel des tables de cache d’ARP
`plog` | afficher le journal du démon ppp
`ping yahoo.com` | vérifier la connexion internet vers « `yahoo.com` »
`whois yahoo.com` | vérifier qui a enregistré « `yahoo.com` » dans la base de données des domaines
`traceroute yahoo.com` | tracer la connexion Internet vers « `yahoo.com` »
`tracepath yahoo.com` | tracer la connexion Internet vers « `yahoo.com` »
`mtr yahoo.com` | tracer la connexion Internet vers « `yahoo.com` » (de manière répétitive)
`dig [@dns-server.com] example.com [{a|mx|any}]` | vérifier les enregistrements DNS de « `example.com` » par « `dns-serveur.com` » pour un enregistrement « `a` », « `mx` » ou « `any` »
`iptables -L -n` | vérifier le filtre de paquets
`ss -a` | rechercher tous les ports ouverts
`ss -l` | rechercher les ports à l’écoute
`ss -l -t -n` | rechercher les ports TCP à l’écoute (numérique)
`dlint example.com` | vérifier les informations de zone DNS de « `example.com` »

| Astuce
Certains de ces outils de configuration du réseau se trouvent dans « `/usr/sbin/` ». Il vous faudra peut-être utiliser le chemin complet vers la commande comme « `/usr/sbin/ifconfig` » ou ajouter « `/usr/sbin` » à la liste « `$PATH` » dans votre fichier « `~/.bashrc` ».

## 5.6. Optimisation du réseau

L’optimisation générique du réseau est en dehors des buts de cette documentation. Je ne parle que des sujets pertinents pour une connexion de l’utilisateur grand public.

Tableau 5.5. Liste des outils d’optimisation du réseau

paquets | popularité | taille | description
--- | --- | --- | ---
`iftop` | V:6, I:89 | 93 | afficher l’utilisation de la bande passante d’une interface réseau
`iperf` | V:2, I:35 | 431 | outil de mesure de la bande passante du protocole Internet
`ifstat` | V:0.6, I:5.5 | 52 | InterFace STATistics Monitoring (surveillance des statistiques de l’interface)
`bmon` | V:2, I:20 | 141 | surveillance portable de la bande passante et estimation du débit
`ethstatus` | V:0.2, I:2.5 | 41 | script qui mesure rapidement le débit d"une interface réseau
`bing` | V:0.08, I:0.51 | 80 | testeur de bande passante empirique et stochastique
`bwm-ng` | V:1.1, I:9.7 | 95 | moniteur de bande passante simple en mode console
`ethstats` | V:0.05, I:0.39 | 21 | moniteur de statistiques Ethernet en mode console
`ipfm` | V:0.05, I:0.12 | 78 | outil d’analyse de bande passante

### 5.6.1. Rechercher le MTU optimal

NM fixe normalement le MTU (Maximum Transmission Unit) .

Dans certains cas, vous souhaiterez peut-être définir le MTU manuellement après des essais de ping(8) avec l’option « `-M do` » pour envoyer un paquet ICMP avec différentes tailles de paquet de données. Le MTU est la taille maximale possible de paquet de données sans fragmentation IP, plus 28 octets pour l’IPv4 et plus 48 octets pour l’IPv6. Par exemple, ce qui suit trouve un MTU pour la connexion IPv4 de 1460 et un MTU pour la connexion IPv6 de 1500.

    $ ping -4 -c 1 -s $((1500-28)) -M do www.debian.org
    PING  (149.20.4.15) 1472(1500) bytes of data.
    ping: local error: message too long, mtu=1460

    ---  ping statistics ---
    1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms

    $ ping -4 -c 1 -s $((1460-28)) -M do www.debian.org
    PING  (130.89.148.77) 1432(1460) bytes of data.
    1440 bytes from klecker-misc.debian.org (130.89.148.77): icmp_seq=1 ttl=50 time=325 ms

    ---  ping statistics ---
    1 packets transmitted, 1 received, 0% packet loss, time 0ms
    rtt min/avg/max/mdev = 325.318/325.318/325.318/0.000 ms
    $ ping -6 -c 1 -s $((1500-48)) -M do www.debian.org
    PING www.debian.org(mirror-csail.debian.org (2603:400a:ffff:bb8::801f:3e)) 1452 data bytes
    1460 bytes from mirror-csail.debian.org (2603:400a:ffff:bb8::801f:3e): icmp_seq=1 ttl=47 time=191 ms

    --- www.debian.org ping statistics ---
    1 packets transmitted, 1 received, 0% packet loss, time 0ms
    rtt min/avg/max/mdev = 191.332/191.332/191.332/0.000 ms

Ce processus est la découverte du chemin MTU (PMTU) (RFC1191) et la commande tracepath(8) peut l’automatiser.

Tableau 5.6. Lignes directrices pour une valeur optimale de MTU

environnement de réseau | MTU | justification
--- | --- | ---
Lien commuté (IP : PPP) | 576 | standard
Lien Ethernet (IP : DHCP ou fixe) | 1500 | standard et par défaut

En plus de ces lignes directrices basiques, vous devriez connaitre ce qui suit :

- Toute utilisation d’une méthode de tunneling (VPN, etc.) peut réduire le MTU optimal en raison de la surcharge qu’elle engendre.

- La valeur de MTU ne doit pas excéder la valeur expérimentale déterminée de PMTU .

- La valeur de MTU la plus élevée est généralement meilleure lors que les autres limitations sont remplies.

La taille maximum de segment (MSS : « maximum segment size ») est utilisée comme mesure de remplacement de la taille des paquets. La relation entre MSS et MTU est la suivante :

- MSS = MTU - 40 pour IPv4

- MSS = MTU - 60 pour IPv6

| Note
Les optimisations basées sur iptables(8) (consultez Section 5.7, « Infrastructure de netfilter ») peuvent limiter la taille des paquets au MSS, ce qui est utile pour le routeur. Consultez "TCPMSS" dans iptables(8).

### 5.6.2. Optimisation de TCP sur le réseau Internet

Le débit TCP peut être maximisé en ajustant les paramètres de taille de tampon TCP comme cela est décrit dans « Ajustement de TCP » pour les réseaux WAN modernes de haut débit et de faible latence. À ce jour, les paramètres par défaut de Debian fonctionnent bien même pour mon réseau local connecté à l’aide du service rapide FTTP à 1Gb/s.

## 5.7. Infrastructure de netfilter

Netfilter fournit l’infrastructure pour un pare-feu dynamique (« stateful firewall ») et la traduction d’adresses réseau (NAT) (« network address translation ») avec des modules du noyau de Linux (consultez Section 3.10, « Initialisation des modules du noyau »).

Tableau 5.7. Liste d’outils de pare-feu

paquets | popularité | taille | description
--- | --- | --- | ---
`nftables` | V:246, I:866 | 189 | outils d’administration pour le filtrage des paquets et NAT (Netfilter) (successeur à {ip,ip6,arp,eb}tables)
`iptables` | V:376, I:638 | 2408 | outils d’administration pour netfilter (iptables(8) pour IPv4, ip6tables(8) for IPv6)
`arptables` | V:0.1, I:1.7 | 102 | outils d’administration pour netfilter (arptables(8) pour ARP)
`ebtables` | V:15, I:24 | 276 | outils d’administration pour netfilter (ebtables(8) pour le pontage Ethernet)
`iptstate` | V:0.2, I:1.7 | 122 | surveillance continue de l’état de netfilter (semblable à top(1))
`ufw` | V:79, I:105 | 859 | Uncomplicated Firewall (UFW) est un programme pour gérer un pare-feu netfilter
`gufw` | V:6, I:11 | 3663 | interface graphique pour Uncomplicated Firewall (UFW)
`firewalld` | V:15, I:23 | 2558 | firewalld est un programme de pare-feu géré dynamiquement avec gestion des zones de réseau
`firewall-config` | V:0.7, I:3.2 | 1096 | interface graphique pour firewalld
`shorewall-init` | V:0.21, I:0.41 | 88 | initialisation de Shoreline Firewall
`shorewall` | V:2.3, I:5.1 | 3090 | Shoreline Firewall, générateur de fichier de configuration pour netfilter
`shorewall-lite` | V:0.03, I:0.06 | 71 | Shoreline Firewall, générateur de fichier de configuration pour netfilter (version légère)
`shorewall6` | V:0.7, I:1.3 | 1334 | Shoreline Firewall, générateur de fichier de configuration pour netfilter (version IPv6)
`shorewall6-lite` | V:0.02, I:0.03 | 71 | Shoreline Firewall, générateur de fichier de configuration pour netfilter (version légère, IPv6)

L’outil netfilter principal de l’espace utilisateur est iptables(8). Vous pouvez configurer vous-même netfilter de manière interactive depuis l’interpréteur de commandes, enregistrer son état avec iptables-save(8) et le restaurer par l’intermédiaire d’un script d’init avec iptables-restore(8) lors du redémarrage du système.

Des scripts d’assistant tels que shorewall facilitent ce processus.

Consultez les documentations se trouvant dans la documentation de Netfilter (ou dans « `/usr/share/doc/iptables/html/` »).

- Linux Networking-concepts HOWTO (HOWTO des concepts réseau de Linux)

- Linux 2.4 Packet Filtering HOWTO (HOWTO du filtrage des paquets de Linux 2.4)

- Linux 2.4 NAT HOWTO (HOWTO du NAT de Linux 2.4)

| Astuce
Bien qu’elles aient été écrites pour Linux 2.4, la commande iptables(8) et la fonction netfilter du noyau s’appliquent toutes deux aux séries 2.6 et 3.x du noyau Linux.

Chapitre 4. Contrôle d’authentification et d’accès |  | Chapitre 6. Applications réseau