Gentoo Linux amd64 Handbook: Network configuration

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Handbook:AMD64/Full/Networking and the translation is 100% complete.


The following networking portion of the handbook describes 'advanced' network configuration for systems running the OpenRC init system utilizing netifrc as the network management system.

For systems running systemd, readers should review see the networking portion of the systemd article.

Pour commencer

Ce guide de mise en réseau présume que l'utilisateur a correctement configuré le système et a déterminé le(s) nom(s) des interfaces réseau du système. Le nom de l'interface réseau est produit en fonction de l'emplacement du bus de la carte réseau dans le système. Pour cette raison, il est possible d'avoir des noms d'interfaces variables, notamment: eno0, ens1, wlan0, enp1s0, etc. Chaque système peut avoir un nom d'interface légèrement différent. Le contenu suivant suppose que le nom de l'interface à configurer est eth0, bien que l'un des noms mentionnés ci-dessus fonctionnera.

Pour commencer à configurer la carte réseau, il faut d'abord en informer le système init de Gentoo. Cela est fait en créant un lien symbolique de net.lo vers net.eth0 (ou quel que soit le nom de l'interface réseau sur le système) dans /etc/init.d.

root #cd /etc/init.d
root #ln -s net.lo net.eth0

Le système init de Gentoo connaît maintenant cette interface. Il doit également savoir comment la configurer. Toutes les interfaces réseau sont configurées dans le fichier /etc/conf.d/net. Voici un exemple de configuration pour les adresses DHCP et statiques.

FILE /etc/conf.d/netExemple de configuration réseau
# Pour DHCP
config_eth0="dhcp"
  
# Pour une adresse IP statique en utilisant la notation CIDR
config_eth0="192.168.0.7/24"
routes_eth0="default via 192.168.0.1"
dns_servers_eth0="192.168.0.1 8.8.8.8"
  
# Pour une adresse IP statique en utilisant la notation avec masque de sous-réseau
config_eth0="192.168.0.7 netmask 255.255.255.0"
routes_eth0="default via 192.168.0.1"
dns_servers_eth0="192.168.0.1 8.8.8.8"
Remarque
Si aucune configuration n'est mentionnée alors l'utilisation de DHCP est supposée.
Remarque
CIDR signifie Classless InterDomain Routing. À l'origine, les adresses IPv4 étaient classées en A, B ou C. Le système de classification précoce ne prévoyait pas la popularité massive d'Internet et risquait de manquer de nouvelles adresses uniques. CIDR est un schéma d'adressage qui permet à une adresse IP de désigner plusieurs adresses IP. Une adresse IP CIDR ressemble à une adresse IP normale sauf qu'elle se termine par une barre oblique suivie d'un nombre; par exemple, 192.168.0.0/16. CIDR est décrit dans la RFC 1519.

Maintenant que l'interface est configurée, on peut commencer à utiliser les commandes suivantes :

root #/etc/init.d/net.eth0 start
root #/etc/init.d/net.eth0 stop
Important
Pour dépanner le réseau, consulter le fichier /var/log/rc.log. A moins que la variable rc_logger ne soit définie sur NO dans /etc/rc.conf, les informations sur l'activité de démarrage seront stockées dans ce fichier journal.

Maintenant que l'interface réseau a été arrêtée et démarrée avec succès, l'étape suivante consiste à la démarrer au démarrage de Gentoo. Voici comment faire :

root #rc-update add net.eth0 default
root #rc
Remarque
La dernière commande rc indique à Gentoo de démarrer tous les scripts du niveau d'exécution actuel qui n'ont pas encore été démarrés.





Configuration avancée

La variable config_eth0 est le cœur de la configuration d'une interface. C'est une liste d'instructions de haut niveau pour la configuration de l'interface (eth0 dans ce cas). Chaque commande de la liste d'instructions est exécutée de manière séquentielle. L'interface est considérée comme OK si au moins une commande fonctionne.

Voici une liste d'instructions intégrées :

Valeur Description
null Ne fait rien.
noop Si l'interface est active et qu'il y a une adresse, abandonner la configuration avec succès.
Une adresse IPv4 ou IPv6 Ajouter l'adresse à l'interface.
dhcp, adsl, ou apipa (ou une valeur personnalisée d'un module tiers) Exécuter le module qui fournit la commande. Par exemple, dhcp exécutera un module qui fournit le protocole DHCP qui peut être servi par dhcpcd, dhclient, ou pump.

Si une commande échoue, spécifier une valeur de remplacement. Le repli doit correspondre exactement à la structure de configuration.

Il est possible d'enchaîner ces valeurs. Voici quelques exemples :

FILE /etc/conf.d/netExemples de configuration
# Ajouter trois adresses IPv4
config_eth0="192.168.0.2/24
192.168.0.3/24
192.168.0.4/24"
  
# Ajouter une adresse IPv4 et 2 adresses IPv6
config_eth0="192.168.0.2/24
4321:0:1:2:3:4:567:89ab
4321:0:1:2:3:4:567:89ac"
  
# Garde l'adresse assignée par le noyau. Si l'interface 
# devient inactive, assigner une adresse par DHCP.
# Si DHCP échoue, ajouter une adresse IP statique déterminée par APIPA.
config_eth0="noop
dhcp"
fallback_eth0="null
apipa"
Remarque
Quand le module ifconfig est utilisé et que plus d'une adresse est ajoutée, des alias d'interface sont créés pour chaque adresse supplémentaire. Ainsi, en suivant les exemples précédents, l'utilisateur obtiendra les interfaces eth0, eth0:1 et eth0:2. Il est impossible d'effectuer quelque chose de spécial avec ces interfaces car le noyau et autres programmes considéreront eth0:1 et eth0:2 comme étant eth0.
Important
L'ordre de repli est important ! Si l'option null n'était pas spécifiée alors apipa ne sera exécuté que si noop a échoué.
Remarque
APIPA (manuel) et and DHCP (manuel) sont abordés dans la section sur les modules réseau.

Dépendances réseau

Les scripts d'initialisation dans /etc/init.d/ peuvent dépendre d'une interface réseau spécifique ou simplement de "net". Toutes les interfaces réseau du système d'initialisation de Gentoo fournissent ce qu'on appelle "net".

Si, dans /etc/rc.conf, la variable rc_depend_strict est définie sur YES, alors toutes les interfaces réseau fournissant "net" doivent être actives avant qu'une dépendance sur "net" soit supposée être satisfaite. En d'autres termes, si un système a un net.eth0 et un net.eth1 et un script d'initialisation dépend de "net", alors les deux doivent être activés.

D'un autre côté, si rc_depend_strict="NO" est défini, alors la dépendance "net" est marquée comme résolue du moment qu'au moins une interface réseau est activée.

Mais que faire si net.br0 dépend de net.eth0 et net.eth1 ? net.eth1 peut être un périphérique sans fil ou PPP qui nécessite une configuration avant de pouvoir être ajouté au pont. Cela ne peut pas être fait dans /etc/init.d/net.br0 car c'est un lien symbolique vers net.lo.

La solution est de définir un paramètre rc_net_{interface}_need dans /etc/conf.d/net :

FILE /etc/conf.d/netAjouter un dépendance de net.br0
rc_net_br0_need="net.eth0 net.eth1"

Cela seul, cependant, n'est pas suffisant. Les scripts d'initialisation de mise en réseau de Gentoo utilisent une dépendance virtuelle appelée "net" pour informer le système lorsque le réseau est disponible. Clairement, dans le cas ci-dessus, la mise en réseau ne doit être marquée comme disponible que lorsque net.br0 est actif, et non lorsque les autres le sont. Nous devons donc aussi le signaler dans /etc/conf.d/net :

FILE /etc/conf.d/netMise à jour des dépendances virtuelles et des dispositions pour la mise en réseau
rc_net_eth0_provide="!net"
rc_net_eth1_provide="!net"

Pour une discussion plus détaillée sur la dépendance, consulter la section sur la rédaction des scripts d'initialisation dans le manuel Gentoo. Plus d'informations sur /etc/rc.conf sont disponibles sous forme de commentaires dans le fichier.

Noms de variables et valeurs

Les noms de variables sont dynamiques. Ils suivent normalement la structure de la variable _${interface|mac|essid|apmac}. Par exemple, la variable dhcpcd_eth0 contient la valeur des options dhcpcd pour eth0 et dhcpcd_essid contient la valeur des options dhcpcd lorsqu'une interface se connecte à l'ESSID (Extended Service Set Identifier - "nom du réseau") appelé "essid".

Cependant, il n'y a pas de règle absolue que les noms d'interface des états doivent être ethx. En fait, de nombreuses interfaces sans fil ont des noms comme wlanx, rax ou même ethx. En outre, certaines interfaces définies par l'utilisateur, telles que les ponts, peuvent recevoir n'importe quel nom. Pour rendre la vie plus intéressante, les points d'accès sans fil peuvent avoir des noms avec des caractères non alphanumériques - c'est important car les utilisateurs peuvent configurer les paramètres réseau pour chaque ESSID.

L'inconvénient de tout cela est que Gentoo utilise des variables bash pour la mise en réseau - et bash ne peut pas utiliser quoi que ce soit en dehors de l'alphanumérique anglais. Pour contourner cette limitation, nous changeons chaque caractère qui n'est pas un alphanumérique anglais en _ (Tiret bas).

Un autre inconvénient de bash est le contenu des variables - certains caractères doivent être échappés. Cela peut être réalisé en plaçant le caractère \ (barre oblique inverse) devant le caractère qui doit être échappé. Les caractères suivants doivent être échappés de cette façon: ", ' et \.

Dans cet exemple, nous utilisons un ESSID sans fil car ils peuvent contenir le plus large éventail de caractères. Nous utiliserons l'ESSID Mon "\ RESEAU' ' :

FILE /etc/conf.d/netNoms de variables
# Cela fonctionne mais le nom de domaine est invalide
dns_domain_Mon____RESEAU="Mon \"\\ RESEAU"

L'exemple précédent définit le domaine DNS sur Mon "\ RESEAU lorsqu'une carte sans fil se connecte à un point d'accès dont l'ESSID est Mon "\ RESEAU.

Nommage de l'interface réseau

Fonctionnement

Les noms d'interface réseau ne sont pas choisis arbitrairement : le noyau Linux et le gestionnaire de périphériques (la plupart des systèmes ont udev comme gestionnaire de périphériques bien que d'autres soient également disponibles) choisissent le nom de l'interface via un ensemble de règles fixes.

Lorsqu'une carte d'interface est détectée sur un système, le noyau Linux rassemble les données nécessaires à propos de la carte. Cela inclue :

  • Le nom enregistré de la carte réseau (sur l'interface elle-même), qui est ensuite visualisé via la valeur ID_NET_NAME_ONBOARD.
  • L'emplacement dans lequel la carte réseau est connectée, qui est ensuite visible via la valeur ID_NET_NAME_SLOT</ var>.
  • Le chemin d'accès au périphérique de la carte réseau, qui est ensuite visible via la valeur ID_NET_NAME_PATH.
  • L'adresse MAC (fournie par le fabriquant) de la carte, qui est ensuite visualisée via la valeur ID_NET_NAME_MAC.

A partir de ces informations, le gestionnaire de périphériques décide comment nommer l'interface sur le système. Par défaut, il utilise le premier résultat des trois premières variables ci-dessus (ID_NET_NAME_ONBOARD, _SLOT ou _PATH). Par exemple, si ID_NET_NAME_ONBOARD est trouvé et défini sur eno1, l'interface s'appellera eno1.

Étant donné un nom d'interface active, les valeurs des variables fournies peuvent être affichées en utilisant udevadm :

root #udevadm test-builtin net_id /sys/class/net/enp3s0 2>/dev/null
ID_NET_NAME_MAC=enxc80aa9429d76
ID_OUI_FROM_DATABASE=Quanta Computer Inc.
ID_NET_NAME_PATH=enp3s0

Comme le premier (et le seul) résultat des trois premières variables est ID_NET_NAME_PATH, sa valeur est utilisée comme nom d'interface. Si aucune des variables ne contient de valeurs, le système revient à la dénomination fournie par le noyau (eth0, eth1, etc.)

Utiliser l'ancien système de nommage du noyau

Avant cette modification, les cartes d'interface réseau étaient nommées par le noyau Linux lui-même, en fonction de l'ordre de chargement des pilotes (entre autres, probablement pour des raison plus obscures). Ce comportement peut toujours être activé en définissant le paramètre de démarrage net.ifnames=0 dans le chargeur d'amorçage.

Utiliser des noms personnalisés

L'idée derrière le changement du système de nommage n'est pas de confondre les gens, mais de faciliter le changement de nom. Supposons qu'un système possède deux interfaces appelées eth0 et eth1. L'une est destiné à accéder au réseau via un cable, l'autre est pour un accès sans fil. Avec la prise en charge du nommage d'interface, les utilisateurs peuvent utiliser les noms lan0 (filaire) et wifi0 (sans fil - il est préférable d'éviter d'utiliser les noms précédemment connus comme eth* et wlan* car ils peuvent toujours entrer en collision avec les noms suggérés).

Trouver les paramètres des cartes, puis utiliser ces informations pour définir une règle de nommage personnalisée :

root #udevadm test-builtin net_id /sys/class/net/eth0 2>/dev/null
ID_NET_NAME_MAC=enxc80aa9429d76
ID_OUI_FROM_DATABASE=Quanta Computer Inc.
root #vim /etc/udev/rules.d/70-net-name-use-custom.rules
# La première utilise les informations MAC et le nombre 70- devant le nom du fichier pour être lue avant les autres règles net
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="c8:0a:a9:42:9d:76", NAME="lan0"
root #vim /etc/udev/rules.d/76-net-name-use-custom.rules
# La deuxième utilise l'information ID_NET_NAME_PATH et le nombre 75- 
# pour se situer entre les règles 75-net-*.rules et 80-net-*.rules
SUBSYSTEM=="net", ACTION=="add", ENV{ID_NET_NAME_PATH}=="enp3s0", NAME="wifi0"

Comme les règles sont déclenchées avant celle par défaut (les règles sont déclenchées dans l'ordre alphanumérique, donc 70 vient avant 80), les noms fournis dans le fichier de règles seront utilisés à la place des noms par défaut. Le nombre accordé au fichier doit être compris entre 76 et 79 (les variables d'environnement sont définies par un début de règle commençant par 75 et le nommage de solution de repli est effectué dans une règle numérotée 80).




Modules réseau

Les scripts Netifrc prennent en charge les scripts modulaires de mise en réseau, ce qui signifie que la prise en charge de nouveaux types d'interface et de modules de configuration peut facilement être ajoutée tout en conservant la compatibilité avec les modules existants.

Les modules sont chargés par défaut si le paquet dont ils ont besoin est installé. Si les utilisateurs spécifient ici un module dont le paquet n'est pas installé, ils reçoivent une erreur indiquant le paquet à installer. Idéalement, le réglage des modules n'est utilisé que lorsque deux ou plusieurs paquets qui fournissent le même service sont installés et que l'un doit être préféré à l'autre.

Remarque
Tous les paramètres abordés ici, sauf indication contraire, sont enregistrés dans /etc/conf.d/net.
FILE /etc/conf.d/netDéfinition des modules
# Préférer ifconfig à iproute2
# modules="ifconfig"
  
# On peut aussi spécifier d'autres modules pour une interface
# Ici nous choisissons dhclient au lieu de dhcpcd
modules_eth0="dhclient"
  
# Vous pouvez aussi spécifier quels modules ne pas utiliser - vous pouvez par exemple
# utiliser wpa_supplicant ou linux-wlan-ng pour contrôler le wifi mais
# vous voulez quand même configurer les paramètre du réseau pour chaque association avec un ESSID
modules="!iwconfig"

Gestionnaires d'interface

Nous fournissons deux gestionnaires d'interface : ifconfig et iproute2. L'un d'entre eux est nécessaire pour effectuer n'importe quel type de configuration réseau.

Les deux sont installés par défaut dans le cadre du profil du système. iproute2 est le package le plus puissant et le plus flexible. ifconfig et net-tools ne devraient plus être utilisés pour la configuration du réseau.

Comme ifconfig et iproute2 font des choses très similaires, nous permettons à leur configuration de base de fonctionner les unes avec les autres. Par exemple, l'extrait de code ci-dessous fonctionne quel que soit le module utilisé par l'utilisateur.

FILE /etc/conf.d/netExemple d'approches de configuration différentes
config_eth0="192.168.0.2/24"
config_eth0="192.168.0.2 netmask 255.255.255.0"

DHCP

DHCP est un moyen d'obtenir des informations réseau (adresse IP, serveurs DNS, passerelle, etc.) à partir d'un serveur DHCP. Cela signifie que s'il y a un serveur DHCP fonctionnant sur le réseau, l'utilisateur doit simplement dire à chaque client d'utiliser DHCP et cela configure le réseau automatiquement. Bien sûr, l'utilisateur devra configurer d'autres paramètres comme les paramètres sans fil, PPP ou autres si nécessaire avant de pouvoir utiliser DHCP.

DHCP peut être fourni par dhclient, dhcpcd ou pump. Chaque module DHCP a ses avantages et ses inconvénients - voici un résumé :

module DHCP Paquet Pours Contres
dhclient net-misc/dhcp Développé par ISC, les mêmes personnes dérrière le logiciel DNS BIND. Très configurable La configuration est trop complexe, le logiciel est assez lourd, ne peut pas recevoir les serveurs NTP du DHCP, n'envoie pas le nom d'hôte par défaut
dhcpcd net-misc/dhcpcd Outil par défault de Gentoo de longue date, pas de dépendance aux outils externes, développé activement par Gentoo Peut être lent parfois, ne peut pas encore se démoniser quand le bail est infini
pump net-misc/pump Léger, pas de dépendance à des outils extérieurs N'est plus maintenu en amont, peu fiable, en particulier sur les modems, ne peut pas obtenir les serveurs NIS de DHCP

Si plus d'un client DHCP est installé, spécifier lequel utiliser - sinon dhcpcd sera utilisé par défaut si possible.

Pour envoyer des options spécifiques au module DHCP, utiliser module_eth0="..." (remplacer module par le module DHCP utilisé, par exemple dhcpcd_eth0).

Nous essayons de rendre le protocole DHCP relativement indépendant - en tant que tel nous supportons les commandes suivantes en utilisant la variable dhcp_eth0. L'action par défaut est de n'en définir aucune :

release
Libérer l'adresse IP pour ré-utilisation.
nodns
Ne pas écraser /etc/resolv.conf
nontp
Ne pas écraser /etc/ntp.conf
nonis
Ne pas écraser /etc/yp.conf
FILE /etc/conf.d/netExemple de configuration DHCP
# Nécessaire seulement si plus d'un module DHCP est installé
modules="dhcpcd"
  
config_eth0="dhcp"
dhcpcd_eth0="-t 10" # Timeout après 10 secondes
dhcp_eth0="release nodns nontp nonis" # Ne récupère qu'une adresse
Remarque
dhcpcd et pump envoient le nom d'hôte actuel au serveur DHCP par défaut, il n'est donc plus nécessaire de le spécifier.
FILE /etc/conf.d/netSample DHCPv6 configuration
# Only needed if more than one DHCP module is installed
modules="dhclient"
  
config_eth0="dhcpv6"
# To use both DHCPv4 and DHCPv6 on a dual-stack network, remove the above line and uncomment the following lines
#config_eth0="dhcp
#dhcpv6"
</div>

<div lang="en" dir="ltr" class="mw-content-ltr">
# To pass runtime arguments to dhclient for DHCPv6
dhclientv6_eth0="-t 10" # Timeout after 10 seconds
</div>

<div lang="en" dir="ltr" class="mw-content-ltr">
# Set generic DHCPv6 options
dhcpv6_eth0="release nodns nontp nonis nogateway nosendhost"

ADSL avec PPPoE/PPPoA

D'abord installer le logiciel ADSL :

root #emerge --ask net-dialup/ppp

Ensuite, créer le script net PPP et le script net pour l'interface Ethernet qui va être utilisée par PPP :

root #ln -s /etc/init.d/net.lo /etc/init.d/net.ppp0
root #ln -s /etc/init.d/net.lo /etc/init.d/net.eth0

S'assurer de mettre rc_depend_strict à YES dans /etc/rc.conf.

Maintenant, il faut configurer /etc/conf.d/net.

FILE /etc/conf.d/netUne configuration basique de PPPoE
config_eth0=null (Spécifier l'interface ethernet)
config_ppp0="ppp"
link_ppp0="eth0" (Spécifier l'interface ethernet)
plugins_ppp0="pppoe"
username_ppp0='utilisateur'
password_ppp0='mot de passe'
pppd_ppp0="
noauth
defaultroute
usepeerdns
holdoff 3
child-timeout 60
lcp-echo-interval 15
lcp-echo-failure 3
noaccomp noccp nobsdcomp nodeflate nopcomp novj novjccomp"
  
rc_need_ppp0="net.eth0"

Il est également possible de configurer le mot de passe dans /etc/ppp/pap-secrets.

FILE /etc/ppp/pap-secretsExemple de fichier pap-secrets
# Le * est important
"utilisateur"  *  "mot de passe"

Si PPPoE est utilisé avec un modem USB, s'assurer d'installer br2684ctl. Lire /var/db/repos/gentoo/net-dialup/speedtouch-usb/files/README pour plus d'informations sur comment le configurer correctement.

Important
Lire attentivement le passage sur ADSL et PPP dans /usr/share/doc/netifrc-*/net.example.bz2. Il contient énormément d'explications détaillées de tous les paramètres qu'une installation de PPP nécessite.

APIPA (Automatic Private IP Addressing)

APIPA essaie de trouver une adresse libre dans la plage 169.254.0.0-169.254.255.255 en créant une adresse aléatoire dans cette plage sur l'interface. Si aucune réponse n'est trouvée, nous attribuons cette adresse à l'interface.

This is only useful for LANs where:

  • there is no DHCP server;
  • the system doesn't connect directly to the Internet; and
  • all other computers use APIPA.

Pour le support APIPA, installer net-misc/iputils avec l'option de la variable USE arping ou net-analyser/arping.

FILE /etc/conf.d/netConfiguration d'APIPA
# Essayer DHCP en premier - si cela échoue alors se replier sur APIPA
config_eth0="dhcp"
fallback_eth0="apipa"
  
# N'utiliser que APIPA
config_eth0="apipa"

Agrégation

L’agrégation (ou bonding) est utilisée pour augmenter la bande passante du réseau ou pour améliorer la résilience face aux défaillances matérielles. Si un système possède deux cartes réseau connectées au même réseau, l'administrateur peut les lier ensemble pour que les applications ne voient qu'une seule interface mais utilisent réellement les deux cartes réseau.

Il existe plusieurs moyens de configurer l'agrégation. Certains d'entre eux, tels que le mode LACP 802.3ad, nécessitent une prise en charge et une configuration supplémentaire du commutateur réseau. Pour une référence des options individuelles, se reporter à la copie locale de /usr/src/linux/Documentation/networking/bonding.txt.

Tout d'abord, effacer la configuration des interfaces utilisées :

FILE /etc/conf.d/netSupprimer la configuration des interfaces
config_eth0="null"
config_eth1="null"
config_eth2="null"

Ensuite, définir l'agrégation entre les interfaces :

FILE /etc/conf.d/netDéfinir l'agrégation
slaves_bond0="eth0 eth1 eth2"
config_bond0="192.168.100.4/24"
# Choisir le mode correct est les options supplémentaires nécessaires en fonction des besoins.
mode_bond0="balance-alb"

Supprimer les services net.eth* des niveaux de fonctionnement (runlevels), créer un fichier net.bond0 et l'ajouter au bon niveau de fonctionnement.

Pontage (support 802.1d)

Le pontage est utilisé pour joindre des réseaux ensemble. Par exemple, un système peut avoir un serveur qui se connecte à Internet via un modem ADSL et une carte d'accès sans fil pour permettre à d'autres ordinateurs de se connecter à Internet via le modem ADSL. Il est possible de créer un pont pour joindre les deux interfaces.

FILE /etc/conf.d/netConfiguration d'un pont
# Configurer le pont - "man brctl" pour plus de détails
bridge_forward_delay_br0=0
bridge_hello_time_br0=200
bridge_stp_state_br0=1
  
# Pour ajouter des ports au pont br0
bridge_br0="eth0 eth1"
  
# Il est nécessaire de configurer les ports avec null de telle sorte que dhcp ne se lance pas
config_eth0="null"
config_eth1="null"
  
# Finalement donner une adresse au pont - il est possible d'utiliser dhcp
config_br0="192.168.0.1/24"
  
# Dépend de eth0 et eth1 car ils peuvent nécessiter des configurations supplémentaires
rc_net_br0_need="net.eth0 net.eth1"
Important
Pour utiliser certaines configurations de pont, consulter la documentation sur le nom de variables.
Important
Lors de la mise en pont avec IPv6, SLAAC requiert que STP soit défini sur 1 comme indiqué dans l'exemple ci-dessus.

Adresse MAC

Il est également possible de modifier l'adresse MAC des interfaces via le fichier de configuration réseau.

FILE /etc/conf.d/netExemple de modification de l'adresse MAC
# Pour fixer l'adresse MAC de l'interface
mac_eth0="00:11:22:33:44:55"
  
# Pour randomiser les 3 derniers octets seulement
mac_eth0="random-ending"
  
# Pour randomiser entre le même type physique de connexion (par exemple, fibre,
# cuivre, sans fil), de tous fournisseurs
mac_eth0="random-samekind"
  
# Pour randomiser entre n'importe quel type physique de connexion (par exemple fibre, cuivre,
# sans fil), tous fournisseurs
mac_eth0="random-anykind"
  
# Complètement aléatoire - ATTENTION: certaines adresses MAC générées de cette manière
# peuvent NE PAS agir comme prévu
mac_eth0="random-full"

Tunneling

Le tunneling ne nécessite aucun logiciel supplémentaire pour être installé car le gestionnaire d'interface peut le faire.

FILE /etc/conf.d/netConfiguration du tunneling
# Pour les tunnels GRE
iptunnel_vpn0="mode gre remote 207.170.82.1 key 0xffffffff ttl 255"
  
# Pour les tunnels IPIP
iptunnel_vpn0="mode ipip remote 207.170.82.2 ttl 255"
  
# Pour configurer l'interface
config_vpn0="192.168.0.2 peer 192.168.1.1"

VLAN (support 802.1q)

Pour la prise en charge du réseau local virtuel (VLAN), s'assurer que sys-apps/iproute2 soit installé et que iproute2 est utilisé comme module de configuration plutôt que ifconfig.

Le réseau local virtuel est un groupe de périphériques réseau qui se comportent comme s'ils étaient connectés à un seul segment de réseau, même s'ils ne le sont pas. Les membres du VLAN ne peuvent voir que les membres du même VLAN même s'ils partagent le même réseau physique.

Pour configurer les VLANs, spécifier d'abord les numéros VLAN dans /etc/conf.d/net comme suit :

FILE /etc/conf.d/netSpécifier les numéros VLAN
vlans_eth0="1 2"

Ensuite, configurer l'interface pour chaque VLAN :

FILE /etc/conf.d/netConfiguration de l'interface pour chaque VLAN
config_eth0_1="172.16.3.1 netmask 255.255.254.0"
routes_eth0_1="default via 172.16.3.254"
  
config_eth0_2="172.16.2.1 netmask 255.255.254.0"
routes_eth0_2="default via 172.16.2.254"

Les configurations spécifiques au VLAN sont gérées par vconfig comme ceci :

FILE /etc/conf.d/netConfigurer les VLANs
vlan1_name="vlan1"
vlan1_ingress="2:6 3:5"
eth0_vlan1_egress="1:2"
Important
Pour l'utilisation de certaines configurations de VLAN, consulter la documentation du nom de la variable.





Introduction

La mise en réseau sans fil sous Linux est généralement assez simple. Il existe trois façons de configurer le wifi : les clients graphiques, les interfaces en mode texte et les interfaces de ligne de commande.

Le plus simple est d'utiliser un client graphique une fois qu'un environnement de bureau est installé. La plupart des clients graphiques, tels que NetworkManager, sont assez explicites. Ils offrent une interface pointer-cliquer pratique qui permet aux utilisateurs de se connecter à un réseau en quelques secondes.

Remarque
NetworkManager offre des utilitaires d'interface en mode texte ou en ligne de commande en plus de l'interface graphique principale. Installer le paquet net-misc/networkmanager avec l'option de la variable USE tools activée. L'utilitaire nmtui est particulièrement utile pour les personnes n'utilisant pas un environnement de bureau basé sur X ou Wayland, mais qui souhaitent néanmoins utiliser des outils faciles d'utilisation qui ne nécessitent pas de modification manuelle des fichiers de configuration.

Le réseau sans fil peut également être configuré à partir de la ligne de commande en éditant quelques fichiers de configuration. Cela prend un peu plus de temps pour l'installation, mais cela nécessite également le moins de paquets à télécharger et à installer. Étant donné que les clients graphiques sont la plupart du temps explicites (avec des captures d'écran utiles sur leurs pages d'accueil), nous nous concentrerons sur les alternatives en ligne de commande.

Trois outils prennent en charge les configurations sans fil pilotées par ligne de commande: net-wireless/iw, net-wireless/wireless-tools, et net-wireless/wpa_supplicant. De ces trois, net-wireless/wpa_supplicant est à préférer. La chose importante à retenir est que les réseaux sans fil sont configurés sur une base globale et non par interface.

Le logiciel net-wireless/iw, successeur de net-wireless/wireless-tools, prend en charge presque toutes les cartes et pilotes, mais il ne peut pas se connecter aux points d'accès supportant uniquement WPA. Si les réseaux n'offrent que le cryptage WEP ou sont complètement ouverts, alors net-wireless/iw bat la simplicité de l'autre paquet.

Certaines cartes sans fil sont désactivées par défaut. Pour les activer, consulter la documentation du matériel. Certaines de ces cartes peuvent être débloquées en utilisant l'application rfkill. Si tel est le cas, utiliser rfkill list pour voir les cartes disponibles et rfkill unblock INDEX pour activer la fonctionnalité sans fil. Si ce n'est pas le cas, il se peut que la carte sans fil doive être déverrouillée à l'aide d'un bouton, d'un interrupteur ou d'une combinaison de touches spéciales sur l'ordinateur portable.

WPA supplicant

Le projet WPA supplicant fournit un paquet qui permet aux utilisateurs de se connecter aux points d'accès WPA.

root #emerge --ask net-wireless/wpa_supplicant
Important
Il est nécessaire d'avoir activé CONFIG_PACKET dans le noyau pour que wpa_supplicant fonctionne. Pour voir si l'option est activée, essayer :
root #zgrep CONFIG_PACKET /proc/config.gz
root #grep CONFIG_PACKET /usr/src/linux/.config
Remarque
En fonction des options de la variable USE, wpa_supplicant peut installer une interface graphique écrite en Qt5, qui s'intégrera bien avec KDE. Pour l'obtenir, activer USE="qt5" pour le paquet net-wireless/wpa_supplicant.

Ensuite, configurer /etc/conf.d/net de façon à ce que wpa_supplicant soit préféré à wireless-tools (Si les deux sont installés, wireless-tools est utilisé par défaut).

FILE /etc/conf.d/netForcer l'utilisation de wpa_supplicant
# Préfère wpa_supplicant à wireless-tools
modules="wpa_supplicant"
Remarque
Lors de l'utilisation du pilote host-ap, il est nécessaire de mettre la carte en mode Managed avant de pouvoir l'utiliser correctement avec wpa_supplicant. Cela peut être réalisé en définissant iwconfig_eth0="mode managed" dans /etc/conf.d/net.

Ensuite, configurez wpa_supplicant lui-même (ce qui est un peu plus compliqué en fonction de la sécurité des points d'accès). L'exemple ci-dessous est pris et simplifié à partir de /usr/share/doc/wpa_supplicant- <version> /wpa_supplicant.conf.gz fourni avec wpa_supplicant.

FILE /etc/wpa_supplicant/wpa_supplicant.confExemple quelque peu simplifié
# La ligne suivante ne doit pas être modifiée sinon wpa_supplicant refuse de fonctionner
ctrl_interface=/var/run/wpa_supplicant
  
# Assurez-vous que seul root puisse lire la configuration WPA
ctrl_interface_group=0
  
# Laissez wpa_supplicant s'occuper de scanner et de sélectionner le point d'accès
ap_scan=1
  
# Cas Simple: WPA-PSK, PSK un mot de passe ASCII, autoriser tous les chiffrements valides
network={
  ssid="simple"
  psk="mot de passe secret"
  # Plus la priorité est haute, plus rapide est l'association
  priority=5
}
  
# Comme précédemment , mais requiert le scan d'un SSID précis (pour les réseaux ne diffusant pas leur SSID)
network={
  ssid="second ssid"
  scan_ssid=1
  psk="mot de passe secret"
  priority=2
}
  
# Seul WPA-PSK est utilisé. Tous les chiffrements valides sont autorisés
network={
  ssid="example"
  proto=WPA
  key_mgmt=WPA-PSK
  pairwise=CCMP TKIP
  group=CCMP TKIP WEP104 WEP40
  psk=06b4be19da289f475aa46a33cb793029d4ab3db7a23ee92382eb0106c72ac7bb
  priority=2
}
  
# Connexion en clair (pas de WPA, pas de IEEE 802.1X)
network={
  ssid="plaintext-test"
  key_mgmt=NONE
}
  
# Connexion avec clé WEP partagée (pas de WPA, pas de IEEE 802.1X)
network={
  ssid="static-wep-test"
  key_mgmt=NONE
  # Les clés entre guillemets sont des clés ASCII
  wep_key0="abcde"
  # Les clés sans guillemets sont des clés hexadécimales
  wep_key1=0102030405
  wep_key2="1234567890123"
  wep_tx_keyidx=0
  priority=5
}
  
# Connexion avec clé WEP partagée (pas de WPA, pas de IEEE 802.1X) en utilisant une clé partagée
# authentification IEEE 802.11 
network={
  ssid="static-wep-test2"
  key_mgmt=NONE
  wep_key0="abcde"
  wep_key1=0102030405
  wep_key2="1234567890123"
  wep_tx_keyidx=0
  priority=5
  auth_alg=SHARED
}
  
# Réseau IBSS/ad-hoc avec WPA-None/TKIP
network={
  ssid="test adhoc"
  mode=1
  proto=WPA
  key_mgmt=WPA-NONE
  pairwise=NONE
  group=TKIP
  psk="mot de passe secret"
}

Outils sans fil

Configuration initiale et mode géré

Le projet d'outils sans fil wireless tools fournit une façon générique de configurer les interfaces sans fil de base jusqu'au niveau de sécurité WEP. Bien que le WEP soit une méthode de sécurité faible, il est encore répandu dans le monde.

La configuration des outils sans fil est contrôlée par quelques variables principales. L'exemple de fichier de configuration ci-dessous doit décrire tout ce qui est nécessaire. Une chose à garder à l'esprit est qu'aucune configuration ne signifie « se connecter au point d'accès non crypté le plus fort » - les outils sans fil essaieront toujours de connecter le système à quelque chose.

root #emerge --ask net-wireless/wireless-tools
Remarque
Bien que net-wireless/iw soit l'outil actuel pour la gestion des réseaux sans fil, net-misc/netifrc avant la version 0.6.0 ne fonctionne pas avec les nouvelles commandes. net-wireless/wireless-tools doit être utilisé avec netifrc pour des versions antérieures. Pour plus d'informations, consultez la documentation sur les noms de variables et valeurs.
FILE /etc/conf.d/netExemple de configuration de iwconfig
# Préférer iwconfig à wpa_supplicant
modules="iwconfig"
  
# Configure les clés WEP pour les points d'accès appelés ESSID1 et ESSID2
# Vous pouvez configurer jusqu'à 4 clés WEP, mais une seule peut être active à tout moment 
# donc nous fournissons un index par défaut de [1] pour définir la clé [1],
# puis à nouveau après pour changer la clé active en [1].
# Nous faisons cela au cas ou vous ordonniez à d'autres ESSID d'utiliser des clés WEP aures que [1]
#
# Préfixer la clé avec s: signifie que c'est une clé ASCII, sinon une clé HEX
#
# enc open spécifie sécurité ouverte (le plus sécure)
# enc restricted spécifie sécurité restreinte (le moins sécure)
key_ESSID1="[1] s:votre_clé_ici [1] enc open"
key_ESSID2="[1] aaaa-bbbb-cccc-dd key [1] enc restricted"
  
# Ce qui suit fonctionne uniquement lorsque nous recherchons des points d'accès disponibles
  
# Parfois, plus d'un point d'accès est visible, nous devons donc
# définir un ordre préféré auxquels se connecter
preferred_aps="'ESSID1' 'ESSID2'"

Affiner la sélection des points d'accès

Il est possible d'ajouter des options supplémentaires pour affiner la sélection du point d'accès, mais celles-ci ne sont pas nécessaires.

L'une des façons est de configurer le système ainsi il se connecte seulement aux points d'accès favoris. Par défaut, si tout ce qui a été configuré a échoué et que les outils sans fil peuvent se connecter à un point d'accès non chiffré, alors il le fera. Cela peut être contrôlé par la variable associate_order. Voici un tableau de valeurs et comment ils contrôlent cela.

Valeur Description
any Comportement par défaut.
preferredonly Se connecter uniquement aux points d'accès visibles dans la liste des favoris
forcepreferred Se connecter de manière forcée aux points d'accès dans l'ordre de préférence s'ils ne sont pas trouvés lors d'un scan.
forcepreferredonly Ne scan pas les points d'accès. Essaye plutôt se connecter à chacun d'entre eux dans l'ordre.
forceany Même chose que forcepreferred + se connecter à tout autre AP disponible.

Il y a aussi la sélection blacklist_aps et unique_ap. blacklist_aps fonctionne de la même manière que preferred_aps. unique_ap est une valeur oui ou non qui indique si une seconde interface sans fil peut se connecter au même point d'accès que la première interface.

FILE /etc/conf.d/netexemple d'utilisation de blacklist_aps et unique_ap
# Parfois, vous ne voulez jamais vous connecter à certains points d'accès
blacklist_aps="'ESSID3' 'ESSID4'"
  
# Si vous avez plus d'une carte sans fil, vous pouvez dire si vous voulez
# permettre à chaque carte de s'associer au même point d'accès ou non
# Les valeurs sont "yes" (oui) et "no" (non)
# La valeur par défaut est "yes"
unique_ap="yes"

Modes Ad-hoc et master

Pour configurer le système en tant que nœud ad-hoc lorsqu'il ne parvient pas à se connecter à un point d'accès en mode géré, utilisez ceci comme solution de secours :

FILE /etc/conf.d/netUtilisation du mode ad-hoc en solution de repli
adhoc_essid_eth0="This Adhoc Node"

Il est également possible de se connecter à des réseaux ad-hoc, ou d'exécuter le système en mode master pour qu'il devienne lui-même un point d'accès.

FILE /etc/conf.d/netExemple de configuration hoc/master
# Définir le mode - peut être géré (par défaut), ad-hoc ou maître
# Tous les pilotes ne prennent pas en charge tous les modes
mode_eth0="ad-hoc"
  
# Définir l'ESSID de l'interface
# En mode géré, cela force l'interface à essayer de se connecter au
# ESSID spécifié et rien d'autre
essid_eth0="This Adhoc Node"
  
# Nous utilisons le canal 3 si aucun n'est spécifié
channel_eth0="9"
Important
Une ressource importante à propos de la sélection des canaux est la documentation BSD wavelan trouvée dans la documentation de NetBSD. Il y a 14 canaux possibles; On nous dit que les canaux 1-11 sont autorisés pour l'Amérique du Nord, les canaux 1-13 pour la plupart de l'Europe, les canaux 10-13 pour la France, et seulement le canal 14 pour le Japon. En cas de doute, reportez-vous à la documentation fournie avec la carte ou le point d'accès. Assurez-vous que le canal sélectionné est le même que le point d'accès (ou l'autre carte dans un réseau ad-hoc). Le défaut pour les cartes vendues en Amérique du Nord et dans la majeure partie de l'Europe est de 3; la valeur par défaut pour les cartes vendues en France est de 11, et celle par défaut pour les cartes vendues au Japon est de 14.

Outils de diagnostic des réseaux sans fil

Il y a d'autres variables qui peuvent aider à faire fonctionner le réseau sans fil en cas de problèmes de pilote ou d'environnement. Voici un tableau de choses qui peuvent être essayées.

Nom de la variable Valeur par défaut Description
iwconfig_eth0 Consultez la page de manuel iwconfig pour plus de détails sur les paramètres à utiliser avec iwconfig.
iwpriv_eth0 Consultez la page de manuel iwpriv pour plus de détails sur les paramètres à utiliser avec iwpriv.
sleep_scan_eth0 0 Le nombre de secondes à attendre avant d'essayer de numériser. Ceci est nécessaire lorsque le pilote/le micrologiciel a besoin de plus de temps pour être actif avant de pouvoir être utilisé.
sleep_associate_eth0 5 Le nombre de secondes à attendre que l'interface s'associe au point d'accès avant de passer au suivant.
associate_test_eth0 MAC Certains pilotes ne réinitialisent pas l'adresse MAC associée à une adresse MAC invalide lorsqu'ils perdent ou tentent une association. Certains pilotes ne réinitialisent pas le niveau de qualité lorsqu'ils perdent ou tentent de s'associer. Les paramètres valides sont MAC, quality et all.
scan_mode_eth0 Certains pilotes doivent scanner en mode ad-hoc, donc si le scan échoue, essayez le réglage ad-hoc ici.
iwpriv_scan_pre_eth0 Envoie quelques commandes iwpriv à l'interface avant le scan. Voir la page de manuel d'iwpriv pour plus de détails.
iwpriv_scan_post_eth0 Envoie des commandes iwpriv à l'interface après le scan. Voir la page de manuel d'iwpriv pour plus de détails.

Définir une configuration réseau par ESSID

Dans cette section, nous montrons comment configurer les paramètres réseau en fonction de l'ESSID. Par exemple, avec le réseau sans fil avec l'ESSID ESSID1, configurez une adresse IP statique tandis que l'ESSID ESSID2 utilise DHCP.

Remarque
Cela fonctionne aussi bien avec wpa_supplicant que wireless-tools
Important
Veuillez consulter la documentation du nom de la variable.
FILE /etc/conf.d/netRemplacer les paramètres réseau en fonction du ESSID
config_ESSID1="192.168.0.3/24 brd 192.168.0.255"
routes_ESSID1="default via 192.168.0.1"
  
config_ESSID2="dhcp"
fallback_ESSID2="192.168.3.4/24"
fallback_route_ESSID2="default via 192.168.3.1"
  
# Nous pouvons définir des serveurs de noms et d'autres choses aussi
# REMARQUE : DHCP les remplacera sauf si on lui dit de ne pas le faire
dns_servers_ESSID1="192.168.0.1 192.168.0.2"
dns_domain_ESSID1="some.domain"
dns_search_domains_ESSID1="search.this.domain search.that.domain"
  
# Vous remplacez en fonction de l'adresse MAC du point d'accès
# C'est pratique si vous allez à différents endroits qui ont le même ESSID
config_001122334455="dhcp"
dhcpcd_001122334455="-t 10"
dns_servers_001122334455="192.168.0.1 192.168.0.2"





Crochets de fonctions de base

Four functions can be defined in /etc/conf.d/net:

  • preup(), called before an interface is brought up;
  • predown(), called before an interface is brought down;
  • postup(), called after an interface is brought up; and
  • postdown(), called after an interface is brought down.

Each of these these functions is called with the interface name, available within each function via the IFACE variable, so that one function can control multiple interfaces.

The return values for the preup() and predown() functions should be:

  • 0 to indicate success, and that configuration or de-configuration of the interface can continue.
  • A non-zero value otherwise.

If preup() returns a non-zero value, interface configuration will be aborted. If predown() returns a non-zero value, the interface will not be allowed to continue de-configuration.

Return values for the postup() and postdown() functions are ignored since there's nothing to do if they indicate failure.

${IFACE} définit l'interface en cours d'activation/désactivation. ${IFVAR} est ${IFACE} convertie en nom de variable utilisable par bash.

FILE /etc/conf.d/netExemple de fonctions pre/post up/down
preup() {
  # Test le lien sur l'interface avant de l'activer. 
  # Cela ne fonctionne que sur certaines cartes réseau et nécessite
  # d'avoir installé le paquet ethtool
  if ethtool ${IFACE} | grep -q 'Link detected: no'; then
    ewarn "No link on ${IFACE}, aborting configuration"
    return 1
  fi
  
  # Ne pas oublier de retourner 0 en cas de succès
  return 0
}
  
predown() {
   # L'action par défaut est de tester la racine NFS et d'interdire
   # la désactivation des interfaces. Noter que si vous spécifiez une
   # fonction predown() vous outrepasserez cette logique. 
  if is_net_fs /; then
    eerror "root filesystem is network mounted -- can't stop ${IFACE}"
    return 1
  fi
  
  # Ne pas oublier de retourner 0 en cas de succès
  return 0
}
  
postup() {
  # Cette fonction peut être utilisée par exemple,
  # pour s'enregistrer au près d'un service DNS dynamique.
  # Une autre possiblité pourrait d 'envoyer/recevoir un mail quand
  # l'interface est activée
       return 0
}
  
postdown() {
  return 0
}
Remarque
Pour plus d'informations sur l'écriture de fonctions, lire /usr/share/doc/netifrc-*/net.example.bz2.

Crochets de fonctions d'outils sans fil

Remarque
Ceci ne fonctionnera pas avec WPA Supplicant - mais les variables ${ESSID} et ${ESSIDVAR} sont disponibles dans la fonction postup().

Two functions can be defined in /etc/conf.d/net:

  • preassociate(), called before association.
  • postassociate(), called after association.

Each of these these functions is called with the interface name, available within each function via the IFACE variable, so that one function can control multiple interfaces.

The return values for the preassociate() function should be:

  • 0 to indicate success, and to continue configuration.
  • A non-zero value otherwise.

If preassociate() returns a non-zero value, interface configuration will be aborted.

La valeur de retour dela fonction postassociate() est ignorée car il n'y a rien à faire si elle indique un échec.

${ESSID} est définie sur l'ESSID exact du point d'accès auquel le système se connecte. ${ESSIDVAR} est la variable ${ESSID} convertie en un nom de variable que bash peut utiliser.

FILE /etc/conf.d/netfonctions de pre/post association
preassociate() {
  # Ici nous ajoutons les deux variable de configuration leap_user_ESSID et leap_pass_ESSID.
  # Quand elles sont toutes deux configurées pour le ESSID auquel le système est connecté,
  # nous éxecutons le script CISCO LEAP. 
  
  local user pass
  eval user=\"\$\{leap_user_${ESSIDVAR}\}\"
  eval pass=\"\$\{leap_pass_${ESSIDVAR}\}\"
  
  if [[ -n ${user} && -n ${pass} ]]; then
    if [[ ! -x /opt/cisco/bin/leapscript ]]; then
      eend "For LEAP support, please emerge net-misc/cisco-aironet-client-utils"
      return 1
    fi
    einfo "Waiting for LEAP Authentication on \"${ESSID//\\\\//}\""
    if /opt/cisco/bin/leapscript ${user} ${pass} | grep -q 'Login incorrect'; then
      ewarn "Login Failed for ${user}"
      return 1
    fi
  fi
  
  return 0
}
  
postassociate() {
  
  return 0
}
Remarque
${ESSID} et ${ESSIDVAR} sont indisponibles dans les fonctions predown() et postdown().
Remarque
Pour plus d'informations sur l'écriture de fonctions personnalisées, lire /usr/share/doc/netifrc-*/net.example.bz2.




Gestion du réseau

Avec les ordinateurs portables, les systèmes peuvent être en mouvement constant. Par conséquence, le système peut ne pas avoir de câble Ethernet branché ou de point d'accès disponible. Aussi, l'utilisateur peut vouloir que le réseau fonctionne automatiquement lorsqu'un câble Ethernet est branché ou qu'un point d'accès est trouvé.

Ce chapitre explique comment résoudre ce problème.

Remarque
Ce document ne traite que d'ifplugd, mais il y a d'autres alternatives comme netplug. netplug est une alternative plus légère à ifplugd, mais il dépend d'un fonctionnement correct des pilotes réseaux du noyau, et beaucoup ne le sont pas.

ifplugd

ifplugd est un démon qui démarre et arrête les interfaces quand un cable Ethernet est inséré ou retiré. Il peut également gérer la détection de l'association aux points d'accès ou lorsque de nouveaux sont à portée.

root #emerge --ask sys-apps/ifplugd

La configuration pour ifplugd est simple. Elle est située dans /etc/conf.d/net. Exécuter man ifplugd pour plus de détails sur les variables disponibles. Aussi, se référer à /usr/share/doc/netifrc-*/net.example.bz2 pour plus d'exemples.

FILE /etc/conf.d/netExemple de configuration d'ifplug
# Remplace eth0 par l'interface à surveiller
ifplugd_eth0="..."
  
# Pour surveiller une interface sans fil
ifplugd_eth0="--api-mode=wlan"

En plus de gérer de multiples connections réseau, les utilisateurs peuvent vouloir un outil permettant de travailler avec plusieurs serveurs DNS et configurations. C'est très pratique quand le système reçoit son adresse IP via DHCP.

root #emerge --ask net-dns/openresolv

Voir man resolvconf pour en apprendre plus sur ses fonctionnalités.



Warning: Display title "Gentoo Linux amd64 Handbook: Network configuration" overrides earlier display title "Handbook:AMD64/Full/Networking/fr".