Table des matières
![]() |
Astuce |
---|---|
Pour un guide d’ordre général concernant le réseau sous GNU/Linux, lire le Guide de l’administrateur réseau de Linux (« Linux Network Administrators Guide »). |
![]() |
Astuce |
---|---|
Bien que ce document utilise encore l’ancien
ifconfig(8)
avec IPv4 comme exemples de configuration réseau, Debian se dirige vers
ip(8)
avec IPv4 et IPv6 à partir de |
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 | popcon | taille | type | description |
---|---|---|---|---|
ifupdown
|
V:580, I:996 | 119 | config::ifupdown | outil standard pour activer ou désactiver le réseau (spécifique à Debian) |
ifplugd
|
V:3, I:10 | 352 | , , | gérer automatiquement le réseau filaire |
ifupdown-extra
|
V:0, I:2 | 120 | , , |
script de test du réseau pour améliorer le paquet
« ifupdown »
|
ifmetric
|
V:0, I:1 | 21 | , , | définir les métriques de routage d’une interface réseau |
guessnet
|
V:0, I:1 | 532 | , , |
script de cartographie réseau améliorant le paquet
« ifupdown » par l’intermédiaire du fichier
« /etc/network/interfaces »
|
ifscheme
|
V:0, I:0 | 132 | , , |
script de cartographie réseau pour améliorer le paquet
« ifupdown »
|
ifupdown-scripts-zg2
|
V:0, I:0 | 147 | , , | scripts d’interface de Zugschlus fournissant une méthode manuelle à ifupdown |
network-manager
|
V:364, I:483 | 4650 | config::NM | NetworkManager (démon) : gère automatiquement le réseau |
network-manager-gnome
|
V:256, I:428 | 6267 | , , | NetworkManager (frontal de GNOME) |
plasma-widget-networkmanagement
|
V:40, I:66 | 8067 | , , | NetworkManager (frontal de KDE) |
wicd
|
I:24 | 16 | config::wicd | gestionnaire de réseau filaire ou sans fil (métapaquet) |
wicd-cli
|
V:0, I:3 | 28 | , , | gestionnaire de réseau filaire ou sans fil (client en ligne de commandes) |
wicd-curses
|
V:1, I:6 | 128 | , , | gestionnaire de réseau filaire ou sans fil (client Curses) |
wicd-daemon
|
V:26, I:30 | 1103 | , , | gestionnaire de réseau filaire ou sans fil (démon) |
wicd-gtk
|
V:20, I:27 | 387 | , , | gestionnaire de réseau filaire ou sans fil (client GTK+) |
iptables
|
V:238, I:993 | 1400 | config::Netfilter | outils d’administration pour le filtrage des paquets et NAT (Netfilter) |
iproute
|
V:592, I:982 | 39 | config::iproute2 | iproute2, IPv6 et autres configurations avancées du réseau : ip(8), tc(8), etc |
ifrename
|
V:2, I:3 | 192 | , , | renommer une interface réseau en fonction de divers critères statiques : ifrename(8) |
ethtool
|
V:116, I:208 | 314 | , , | afficher ou modifier les paramètres d’un périphérique Ethernet |
iputils-ping
|
V:322, I:997 | 153 | test::iproute2 | tester l’accessibilité d’une machine distante par nom de machine ou adresse IP (iproute2) |
iputils-arping
|
V:3, I:26 | 76 | , , | tester l’accessibilité réseau d’une machine distante spécifiée par une adresse ARP |
iputils-tracepath
|
V:26, I:290 | 110 | , , | tracer le chemin du réseau vers une machine distante |
net-tools
|
V:667, I:998 | 910 | config::net-tools | boîte à outils réseau NET-3 (net-tools, configuration réseau IPv4) : ifconfig(8), etc. |
inetutils-ping
|
V:0, I:1 | 338 | test::net-tools | tester l’accessibilité réseau d’une machine distante par nom de machine ou adresse IP (ancien, GNU) |
arping
|
V:3, I:29 | 46 | , , | tester l’accessibilité réseau d’une machine distante spécifiée par une adresse ARP (ancien) |
traceroute
|
V:96, I:994 | 176 | , , | tracer le chemin réseau vers une machine distante (ancien, console) |
isc-dhcp-client
|
V:495, I:893 | 1765 | config::low-level | client DHCP |
wpasupplicant
|
V:388, I:539 | 1364 | , , | client prenant en charge WPA et WPA2 (IEEE 802.11i) |
wpagui
|
V:0, I:5 | 790 | , , | client graphique (Qt) pour wpa_supplicant |
wireless-tools
|
V:81, I:271 | 325 | , , | outils pour manipuler les « Extensions Linux sans fil » (Linux Wireless Extensions) |
ppp
|
V:59, I:537 | 746 | , , |
connexion PPP/PPPoE avec chat
|
pppoeconf
|
V:1, I:20 | 340 | config::helper | assistant de configuration d’une connexion PPPoE |
pppconfig
|
V:0, I:9 | 990 | , , |
assistant de configuration pour une connexion PPP avec
chat
|
wvdial
|
V:2, I:13 | 276 | , , |
assistant de configuration pour une connexion PPP avec
wvdial et ppp
|
mtr-tiny
|
V:10, I:84 | 123 | test::low-level | tracer le chemin réseau vers une machine distante (curses) |
mtr
|
V:6, I:34 | 167 | , , | tracer le chemin réseau vers une machine distante (curses et GTK+) |
gnome-nettool
|
V:27, I:370 | 2752 | , , | outils pour des opérations d’informations habituelles sur le réseau (GNOME) |
nmap
|
V:62, I:465 | 17329 | , , | cartographie réseau / balayage de ports (Nmap, console) |
zenmap
|
V:2, I:13 | 2651 | , , | cartographie réseau / balayage de ports (GTK+) |
tcpdump
|
V:27, I:200 | 1037 | , , | analyseur de trafic réseau (Tcpdump, console) |
wireshark
|
V:11, I:76 | 2569 | , , | analyseur de trafic réseau (Wireshark, GTK+) |
tshark
|
V:3, I:32 | 338 | , , | analyseur de trafic réseau (console) |
nagios3
|
V:2, I:14 | 29 | , , | système de surveillance et de gestion pour les machines, les services et les réseaux (Nagios) |
tcptrace
|
V:0, I:2 | 389 | , , |
produit un résumé des connexions à partir d’une sortie de
tcpdump
|
snort
|
V:2, I:3 | 1707 | , , | système souple de détection d’intrusion par le réseau (Snort) |
ntop
|
V:5, I:11 | 1549 | , , | afficher l’utilisation du réseau dans le navigateur web |
dnsutils
|
V:116, I:930 | 333 | , , | clients réseau fournis par BIND : nslookup(8), nsupdate(8), dig(8) |
dlint
|
V:2, I:58 | 96 | , , | vérifier les zones d’information DNS en utilisant des requêtes du serveur de noms |
dnstracer
|
V:0, I:3 | 81 | , , | tracer une chaîne de serveurs DNS jusqu’à la source |
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 :
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
»).
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
»).
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.
Par exemple, « /etc/hosts
» ressemble à ce qui
suit :
127.0.0.1 localhost 127.0.1.1 <nom_hote> # Les lignes suivantes servent pour les machines pouvant utiliser IPv6 ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts
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
».
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, Zeroconf) en plus des méthodes
traditionnelles par fichiers
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 mdns4
».
La résolution est appliquée aux noms d’hôtes se terminant avec le pseudo-top-level domain (TLD) « .local ».
L’adresse IPV4 de lien-local multicast mDNS
« 224.0.0.251
» ou son équivalente pour l’IPV6
« FF02::FB
est utilisée pour faire une requête
DNS sur les noms se terminant en « .local
».
La résolution du nom de machine par le protocole obsolète NETBios over TCP/IP utilisé par les
systèmes Windows plus anciens peut être fournie en installant le paquet
winbind
. Le fichier
« /etc/nsswitch.conf
» devra avoir une entrée
semblable à « hosts: files mdns4_minimal [NOTFOUND=return] dns
mdns4 wins
» afin d’activer cette fonctionnalité (les
systèmes Windows récents utilisent normalement la méthode
dns
pour la résolution de nom d’hôte).
Le nom de l’interface réseau, par exemple eth0
, est
assigné dans le noyau Linux à chaque matériel par le mécanisme
udev
de configuration de l’espace utilisateur (consultez
Section 3.3, « Le système udev »), lorsqu’il est trouvé. On appelle
l’interface réseau interface physique
(« physical interface ») dans
ifup(8)
et
interfaces(5).
De manière à ce que les interfaces réseau aient un nom homogène lors des
redémarrages en utilisant l’adresse MAC,
etc., il existe un fichier de règles
« /etc/udev/rules.d/70-persistent-net.rules
».
Ce fichier est créé automatiquement par le programme
« /lib/udev/write_net_rules
», probablement
lancé par le fichier de règles
« persistent-net-generator.rules
». Vous pouvez
le modifier pour changer la règle de nommage.
![]() |
Attention |
---|---|
En éditant le fichier de règles
« |
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.
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. |
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.9.6, « Pilotes de matériel et microprogramme ».
À partir de la version squeeze
, les systèmes Debian
peuvent gérer la connexion au réseau à l’aide de démons tels que NetworkManager (NM) (paquet network-manager
et les paquets associés) ou Wicd (paquet wicd et
les 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
».
![]() |
Note |
---|---|
Certaines fonctionnalités de ces outils de configuration automatique du
réseau peuvent souffrir de régressions. Ils ne sont pas aussi robustes que
l’ancien paquet |
Les documentations officielles de NM et Wicd sous Debian sont fournies
respectivement par
« /usr/share/doc/network-manager/README.Debian
»
et « /usr/share/doc/wicd/README.Debian
».
Essentiellement, la configuration réseau pour un ordinateur de bureau est faite de la manière suivante :
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 adduser toto netdev
Gardez la configuration de
« /etc/network/interfaces
» aussi simple que
possible comme ce qui suit :
auto lo iface lo inet loopback
Redémarrez NM ou Wicd de la manière suivante :
$ sudo /etc/init.d/network-manager restart
$ sudo /etc/init.d/wicd restart
Configurez votre réseau à l’aide d’une interface graphique.
![]() |
Note |
---|---|
Afin d’éviter les conflits avec |
![]() |
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 |
![]() |
Attention |
---|---|
Ces outils de configuration automatique peuvent ne pas être compatibles avec
des configurations ésotériques de l’ancien |
Lorsque la méthode décrite dans Section 5.2, « Configuration moderne de réseau pour ordinateur de bureau » ne suffit pas à vos besoins, vous pouvez utiliser les anciennes connexion au réseau et méthode de configuration qui combinent de nombreux outils simples.
L’ancienne connexion au réseau est spécifique pour chacune des méthodes (consultez Section 5.4, « Méthode de connexion réseau (ancienne) »).
Il existe deux types de programmes de bas niveau pour la configuration du réseau sous un système Linux (consultez Section 5.7.1, « Commandes Iproute2 »).
Les programmes net-tools anciens (ifconfig(8), …) proviennent du système de réseau NET-3 de Linux. La plupart d’entre-eux sont aujourd’hui obsolètes.
Les nouveaux programmes Linux iproute2 (ip(8), …) représentent le système actuel de gestion de réseau sous Linux.
Bien que ces programmes de bas niveau soient puissants, ils sont lourds à utiliser. Des systèmes de haut niveau de configuration du système ont donc été créés.
Le paquet ifupdown
est le standard de fait pour un tel
système de configuration de haut niveau du réseau sur Debian. Il vous permet
d’activer un réseau en utilisant simplement, par exemple,
« ifup eth0
». Son fichier de configuration est
le fichier /etc/network/interfaces
» et son contenu
typique est le suivant :
auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp
Le paquet resolvconf
a été créé pour complément au
système ifupdown
afin de prendre en charge une
reconfiguration en douceur de la résolution d’adresse du réseau en
automatisant la réécriture du fichier de configuration de la résolution
« /etc/resolv.conf
». Maintenant, la plupart
des paquets de Debian servant à la configuration du réseau sont modifiés
pour utiliser le paquet resolvconf
(consultez
« /usr/share/doc/resolvconf/README.Debian
»).
Des scripts d’aide pour le paquet ifupdown
comme
ifplugd
, guessnet
,
ifscheme
, etc. ont été créés pour automatiser la
configuration de l’environnement réseau comme dans le cas d’un PC mobile sur
un réseau local câblé. Ils sont relativement difficiles à utiliser mais
fonctionnent bien en conjonction avec un système ifupdown
existant.
Cela est expliqué en détail et avec des exemples (consultez Section 5.5, « Configuration de base du réseau avec ifupdown (ancienne) » et Section 5.6, « Configuration réseau avancée avec ifupdown (ancienne) »).
![]() |
Attention |
---|---|
La méthode de test de connexion décrite dans cette section est destinée à
des fins de test. Elle n’est pas destinée à être directement utilisée pour
la connexion réseau de tous les jours. Vous êtes invité à utiliser à la
place NM, Wicd ou le paquet |
La connexion typique au réseau et le chemin de connexion pour un PC peuvent être résumés comme suit :
Tableau 5.3. Liste des méthodes de connexions réseau et des chemins de connexion
PC | méthode de connexion | chemin de connexion |
---|---|---|
Port série (ppp0 )
|
PPP | ⇔ modem ⇔ POTS ⇔ point d’accès réseau commuté ⇔ FAI |
Port Ethernet (eth0 )
|
PPPoE/DHCP/Statique | ⇔ BB-modem ⇔ BB service ⇔ BB access point ⇔ FAI |
Port Ethernet (eth0 )
|
DHCP/Statique | ⇔ LAN ⇔ routeur BB avec traduction d’adresse (NAT) (⇔ modem BB …) |
Voici un résumé des scripts de configuration de chaque méthode de connexion :
Tableau 5.4. Liste des configurations de connexions réseau
méthode de connexion | configuration | paquets(s) de support |
---|---|---|
PPP | pppconfig pour créer un chat déterministe
|
pppconfig , ppp |
PPP (alternative) | wvdialconf pour créer un chat heuristique
|
ppp , wvdial |
PPPoE | pppoeconf pour créer un chat déterministe
|
pppoeconf , ppp |
DHCP |
décrit dans « /etc/dhcp/dhclient.conf »
|
isc-dhcp-client
|
IP statique (IPv4) |
décrit dans « /etc/network/interfaces »
|
iproute ou net-tools (obsolète)
|
IP statique (IPv6) |
décrit dans « /etc/network/interfaces »
|
iproute
|
Les acronymes de connexion au réseau ont la signification suivante :
Tableau 5.5. Liste des acronymes de connexion au réseau
acronyme | signification |
---|---|
POTS | service téléphonique analogique classique (« plain old telephone service ») |
BB | large bande |
BB-service | par exemple, l’ADSL, la télévision par câble ou les services sur fibre optique (FTTP) |
BB-modem | par exemple, le modem ADSL, le modem sur réseau câblé ou le terminal de réseau optique (ONT) |
LAN | réseau local (« local area network ») |
WAN | réseau étendu |
DHCP | protocole de configuration dynamique des machines (« dynamic host configuration protocol ») |
PPP | protocole point à point (« point to point protocol ») |
PPPoE | protocole point à point avec encapsulation Ethernet |
FAI (« ISP ») | fournisseur d’accès à Internet |
![]() |
Note |
---|---|
Les services de connexion au réseau étendu (WAN) par l’intermédiaire du câble du réseau de télévision sont en général servis par DHCP ou PPPoE. Ceux qui sont connectés en ADSL et FTTP sont en général servis par PPPoE. Vous devrez consulter votre FAI afin de connaître les exigences exactes de configuration de la connexion WAN. |
![]() |
Note |
---|---|
Lorsqu’un routeur large bande (« BB-router ») est utilisé pour créer un environnement de réseau local domestique, les PC sur le réseau local sont connectés au réseau étendu (WAN) par l’intermédiaire du routeur large bande par traduction d’adresse réseau (NAT). Dans ce cas, les interfaces réseau des PC sur le réseau local sont servies avec des adresses IP statiques ou par DHCP depuis le routeur large bande. Le routeur large bande, pour se connecter au réseau étendu, doit être configuré en suivant les instructions de votre FAI. |
Le réseau moderne domestique ou pour une petite entreprise typique (réseau local, LAN) est connecté au réseau étendu (« WAN ») (Internet) en utilisant un routeur à large bande grand public. Le réseau local derrière ce routeur est habituellement configuré par un serveur de protocole de configuration dynamique de l’hôte (DHCP) (« dynamic host configuration protocol ») tournant sur le routeur.
Installez simplement le paquet isc-dhcp-client
pour
Ethernet desservi par le
protocole de configuration dynamique de l’hôte (DHCP).
Consultez dhclient.conf(5).
Il n’y a pas d’action spécifique nécessaire pour la configuration Ethernet avec une adresse IP statique.
Le script de configuration pppconfig
configure la
connexion PPP de manière interactive en
sélectionnant simplement les éléments suivants :
numéro de téléphone ;
identifiant chez le fournisseur d’accès (FAI) ;
mot de passe chez le FAI ;
vitesse du port ;
port de communication avec le modem ;
méthode d’authentification.
Tableau 5.6. Liste des fichiers de configuration pour la connexion PPP avec pppconfig
fichier | fonction |
---|---|
/etc/ppp/peers/<nom_fai>
|
fichier de configuration spécifique à <nom_fai> créé par
pppconfig pour pppd
|
/etc/chatscripts/<nom_fai>
|
fichier de configuration spécifique à <nom_fai> créé par
pppconfig pour chat
|
/etc/ppp/options
|
paramètres généraux d’exécution de pppd
|
/etc/ppp/pap-secret
|
données d’authentification pour PAP (risque de sécurité) |
/etc/ppp/chap-secret
|
données d’authentification pour CHAP (plus sécurisé) |
![]() |
Attention |
---|---|
La valeur « <nom_fai> » du champ
« |
Vous pouvez tester la configuration de la manière suivante, en utilisant des outils de configuration de réseau de bas niveau :
$ sudo pon <nom_fai> ... $ sudo poff <nom_fai>
Consultez
« /usr/share/doc/ppp/README.Debian.gz
».
Une approche différente de l’utilisation de
pppd(8)
est de le lancer depuis
wvdial(1)
qui est fourni par le paquet wvdial
. Plutôt que
pppd
faisant tourner chat
(8) pour
numéroter et négocier la connexion, wvdial
effectue la
numérotation et la négociation initiale puis démarre pppd
pour effectuer le reste.
Le script de configuration wvdialconf
configure la
connexion PPP de manière interactive en sélectionnant simplement ce qui
suit :
numéro de téléphone ;
identifiant chez le fournisseur d’accès (FAI) ;
mot de passe chez le FAI ;
wvdial
réussit à réaliser la connexion dans la plupart
des cas et conserve automatiquement la liste des données d’authentification.
Tableau 5.7. Liste des fichiers de configuration pour une connexion PPP avec wvdialconf
fichier | fonction |
---|---|
/etc/ppp/peers/wvdial
|
fichier de configuration spécifique à wvdial créé par
wvdialconf pour pppd
|
/etc/wvdial.conf
|
fichier de configuration créé par wvdialconf
|
/etc/ppp/options
|
paramètres généraux d’exécution de pppd
|
/etc/ppp/pap-secret
|
données d’authentification pour PAP (risque de sécurité) |
/etc/ppp/chap-secret
|
données d’authentification pour CHAP (plus sécurisé) |
Vous pouvez tester la configuration de la manière suivante, en utilisant des outils de configuration de réseau de bas niveau :
$ sudo wvdial ... $ sudo killall wvdial
Consultez wvdial(1) et wvdial.conf(5).
Lorsque votre FAI vous propose une connexion avec PPPoE et que vous décidez
de connecter directement votre PC au WAN, le réseau de votre PC doit être
configuré avec PPPoE. PPPoE signifie « PPP over Ethernet » (PPP
encapsulé par Ethernet). Le script de configuration
pppoeconf
configure la connexion PPPoE de manière
interactive.
Les fichiers de configuration sont les suivants :
Tableau 5.8. Liste des fichiers de configuration pour une connexion PPPoE avec pppoeconf
fichier | fonction |
---|---|
/etc/ppp/peers/fournisseur-accès-adsl
|
fichier de configuration spécifique à pppoe créé par
pppoeconf pour pppd
|
/etc/ppp/options
|
paramètres généraux d’exécution de pppd
|
/etc/ppp/pap-secret
|
données d’authentification pour PAP (risque de sécurité) |
/etc/ppp/chap-secret
|
données d’authentification pour CHAP (plus sécurisé) |
Vous pouvez tester la configuration de la manière suivante, en utilisant des outils de configuration de réseau de bas niveau :
$ sudo /sbin/ifconfig eth0 up $ sudo pon fournisseur-accès-adsl ... $ sudo poff fournisseur-accès-adsl $ sudo /sbin/ifconfig eth0 down
Consultez
« /usr/share/doc/pppoeconf/README.Debian
».
La configuration traditionnelle du réseau
TCP/IP sur un système Debian utilise le paquet
ifupdown
comme outil de haut niveau. Il y a deux cas
typiques :
Pour les systèmes utilisant une adresse IP
dynamique tels que les PC portables, vous devrez configurer le
réseau TCP/IP avec le paquet
resolvconf
et ce qui vous permettra changer facilement la
configuration de votre réseau (consultez Section 5.5.4, « Interfaces réseau gérées par DHCP »).
Pour les systèmes ayant une adresse IP
statique tels que les serveurs, vous devrez configurer le réseau
TCP/IP sans le paquet
resolvconf
et garder un système simple (see Section 5.5.5, « Interface réseau avec une adresse IP fixe »).
Ces méthodes traditionnelles de configuration sont assez utiles si vous désirez définir une configuration avancée ; plus de détails dans ce qui suit :
Le paquet ifupdown
fournit l’ossature standardisée pour
la configuration du réseau de haut niveau sur un système Debian. Dans cette
section, nous apprenons les bases de la configuration du réseau avec
ifupdown
avec une introduction simplifiée et de nombreux
exemples typiques.
Le paquet ifupdown
contient 2 commandes :
ifup(8)
et
ifdown(8).
Elles offrent une configuration de réseau de haut niveau à l’aide du fichier
de configuration « /etc/network/interfaces ».
Tableau 5.9. Liste des commandes de base de configuration du réseau avec ifupdown
commande | action |
---|---|
ifup eth0
|
activer l’interface réseau eth0 avec la configuration
eth0 si l’entrée « iface
eth0 » existe
|
ifdown eth0
|
désactiver l’interface réseau eth0 avec la
configurationeth0 si l’entrée « iface
eth0 »
|
![]() |
Avertissement |
---|---|
Ne pas utiliser les outils de configuration de bas niveau tels que ifconfig(8) ni les commandes ip(8) pour configurer une interface se trouvant dans l’état actif (« up »). |
![]() |
Note |
---|---|
Il n’y a pas de commande |
La syntaxe clé de « /etc/network/interfaces
»
telle qu’expliquée dans
interfaces(5)
peut être résumée comme suit :
Tableau 5.10. Liste des entrées de
« /etc/network/interfaces
»
entrée | signification |
---|---|
« auto <nom_interface> »
|
démarrer l’interface <nom_interface> lors du démarrage du système |
« allow-auto <nom_interface> »
|
, , |
« allow-hotplug <nom_interface> »
|
démarrer l’interface <nom_interface> lorsque le noyau détecte un événement « à chaud » depuis cette interface |
Les lignes qui commencent par « iface <nom_config>
… »
|
définissent la configuration de réseau <nom_config> |
Les lignes qui commencent par « mapping
<nom_interface_glob> »
|
définissent une valeur de correspondance de <nom_config> pour l’interface correspondant à <nom_interface> |
Une ligne commençant par le signe « # »
|
est traitée comme commentaire et ignorée (les commentaires de fin de ligne ne sont pas pris en charge) |
Une barre oblique inversée (« \ », « back
slash » en anglais) en fin de ligne
|
étend la configuration à la ligne suivante |
Les lignes commençant par l’entrée iface
ont la syntaxe
suivante :
iface <nom_config> <famille_adresse> <nom_méthode> <option1> <valeur1> <option2> <valeur2> ...
Pour la configuration de base, l’entrée de mapping
n’est pas utilisée si
vous utilisez le nom de l’interface réseau comme nom de configuration du
réseau (consultez Section 5.6.5, « L’entrée « mapping » »).
![]() |
Avertissement |
---|---|
Ne pas définir dans « |
L’entrée de configuration suivante du fichier
« /etc/network/interfaces
» active l’interface
réseau « loopback » lo
lors du démarrage du
système (grâce à l’entrée auto
) :
auto lo iface lo inet loopback
Elle existe toujours dans le fichier
« /etc/network/interfaces
».
Après avoir préparé le système selon Section 5.4.1, « La connexion DHCP avec Ethernet », l’interface réseau gérée
par le DHCP est configurée en créant l’entrée de configuration suivante dans
le fichier « /etc/network/interfaces
» :
allow-hotplug eth0 iface eth0 inet dhcp
Lorsque le noyau de Linux détecte l’interface physique
eth0
, l’entrée allow-hotplug
permet à
ifup
d’activer l’interface et l’entrée iface
demande à
ifup
d’utiliser DHCP pour configurer l’interface.
Une interface réseau avec une adresse IP fixe est configurée en créant de la
manière suivante une entrée de configuration du fichier
« /etc/network/interfaces
» :
allow-hotplug eth0 iface eth0 inet static address 192.168.11.100 netmask 255.255.255.0 gateway 192.168.11.1 dns-domain example.com dns-nameservers 192.168.11.1
Lorsque le noyau de Linux détecte l’interface physique
eth0
, l’entrée allow-hotplug
permet à
ifup
d’activer l’interface et l'entrée iface
permet à
ifup
d'utiliser l’IP statique pour la configurer.
Ici, je suppose ce qui suit :
plage d’adresses IP du réseau local : 192.168.11.0
-
192.168.11.255
adresse IP de la passerelle : 192.168.11.1
adresse IP du PC : 192.168.11.100
paquet resolvconf
: installé
nom de domaine : « example.com
»
adresse IP address du serveur DNS : 192.168.11.1
Si le paquet resolvconf
n’est pas installé, vous devrez
faire vous-même la configuration associée au DNS en éditant le fichier
« /etc/resolv.conf
» comme suit :
nameserver 192.168.11.1 domain example.com
![]() |
Attention |
---|---|
Les adresses IP utilisées dans l’exemple ci-dessus ne sont pas destinées à être recopiées littéralement. Vous devrez adapter les adresses IP à la configuration réelle de votre réseau. |
Le réseau local sans fil (« wireless LAN ou WLAN ») permet une connexion sans fil à haute vitesse par une communication en spectre étalé « spread-spectrum » sur des bandes radio ne nécessitant pas de licence en utilisant un ensemble de normes appelées IEEE 802.11.
Les interfaces WLAN se comportent sensiblement de la même manière que les
interfaces Ethernet normales mais elles demandent un identifiant de réseau
et des données de clé de chiffrement lors de leur initialisation. Leurs
outils réseau de haut niveau sont exactement les mêmes que pour les
interfaces Ethernet mais les noms des interfaces sont un peu différents,
comme eth1
, wlan0
,
ath0
, wifi0
, … selon les pilotes du
noyau utilisés.
![]() |
Astuce |
---|---|
Le périphérique |
Voici quelques mot-clés à se souvenir pour le WLAN :
Tableau 5.11. Liste d’acronymes pour le WLAN
acronyme | en entier | signification |
---|---|---|
NWID | ID du réseau | ID du réseau sur 16 bits utilisées par les réseaux WaveLAN pre-802.11 (complètement dépassé) |
(E)SSID | Service Set Identifier (étendu) | nom de réseau des Points d’accès sans fil (AP) interconnectés pour former un réseau local sans fil 802.11, identifiant de domaine |
WEP, (WEP2) | Wired Equivalent Privacy (confidentialité équivalente à un réseau câblé) | première génération de norme de chiffrement sans fil sur 64 bits (128 bits) avec une clé sur 40 bits (dépassé) |
WPA | Wi-Fi Protected Access (Accès Wi-Fi protégé) | seconde génération de norme de chiffrement sans fil (la plus grande partie de 802.11i), compatible avec WEP |
WPA2 | Wi-Fi Protected Access 2 (Accès protégé Wi-FI 2) | troisième génération de norme de chiffrement sans fil (802.11i complète), non compatible avec WEP |
Le choix du protocole est normalement restreint par le routeur sans fil déployé.
Vous devrez installer le paquet wpasupplicant
afin de
prendre en compte le WLAN avec les nouveaux protocoles WPA/WPA2.
Dans le cas d’IP fournies par DHCP sur une
connexion WLAN, l’entrée du fichier
« /etc/network/interfaces
» doit être similaire
à ce qui suit :
allow-hotplug ath0 iface ath0 inet dhcp wpa-ssid zonemaison # la clé psk hexadécimale est encodée depuis une phrase de passe en texte clair wpa-psk 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
Consultez
« /usr/share/doc/wpasupplicant/README.modes.gz
».
Vous devrez installer le paquet wireless-tools
pour
prendre en charge le WLAN avec l’ancien protocole WEP. (Votre routeur grand
public peut encore utiliser cette infrastructure non sûre mais c’est mieux
que rien).
![]() |
Attention |
---|---|
Remarquez que le trafic réseau sur votre WLAN avec WEP peut être espionné par d’autres. |
Dans le cas d’IP fournies par DHCP sur une
connexion WLAN, l’entrée du fichier
« /etc/network/interfaces
» doit être similaire
à ce qui suit :
allow-hotplug eth0 iface eth0 inet dhcp wireless-essid Maison wireless-key1 0123-4567-89ab-cdef wireless-key2 12345678 wireless-key3 s:mot_de_passe wireless-defaultkey 2 wireless-keymode open
Consultez
« /usr/share/doc/wireless-tools/README.Debian
».
Vous devrez d’abord configurer la connexion PPP comme décrit précédemment
(consultez Section 5.4.3, « La connexion PPP avec pppconfig »). Ensuite,
ajoutez dans le fichier
« /etc/network/interfaces
» une entrée pour le
périphérique PPP primaire ppp0
comme suit :
iface ppp0 inet ppp provider <nom_fai>
Vous devrez d’abord configurer la connexion PPP alternative avec
wvdial
comme décrit précédemment (consultez Section 5.4.4, « Autre connexion PPP avec wvdialconf »). Ajoutez
ensuite dans le fichier
« /etc/network/interfaces
» une entrée pour le
périphérique primaire PPP ppp0
comme suit :
iface ppp0 inet wvdial
Pour le PC directement connecté au WAN et utilisant PPPoE, vous devez
configurer votre système pour une connexion PPPoE comme cela a été décrit
précédemment (consultez Section 5.4.5, « La connexion PPPoE avec pppoeconf »). Ajoutez ensuite dans le
fichier « /etc/network/interfaces
» une entrée
pour le premier périphérique PPPoE eth0
comme suit :
allow-hotplug eth0 iface eth0 inet manual pre-up /sbin/ifconfig eth0 up up ifup ppp0=dsl down ifdown ppp0=dsl post-down /sbin/ifconfig eth0 down # Ce qui suit est utilisé uniquement de manière interne iface dsl inet ppp provider fournisseur-internet
Le fichier « /etc/network/run/ifstate
»
enregistre l’état désiré de la connexion
réseau pour toutes les interfaces réseau actuellement actives et gérées par
le paquet ifupdown
. Malheureusement, même si le système
ifupdown
échoue dans l’activation de l’interface comme
désiré, le fichier « /etc/network/run/ifstate
»
l’affichera comme active.
Si la sortie de la commande ifconfig(8) d’une interface n’a pas de ligne telle que la suivante, elle ne peut pas être utilisée en tant qu’élément d’un réseau IPV4.
inet addr:192.168.11.2 Bcast:192.168.11.255 Mask:255.255.255.0
![]() |
Note |
---|---|
Pour un périphérique Ethernet connecté en PPPoE, la sortie de la commande ifconfig(8) ne produit pas de ligne semblable à celle de l’exemple ci-dessus. |
Lorsque vous tentez de reconfigurer une interface, par exemple
eth0
, vous devez d’abord la désactiver par la commande
« sudo ifdown
eth0
». Cela supprime l’entrée
eth0
du fichier
« /etc/network/run/ifstate
» (quelques messages
d’erreur peuvent être émis si eth0
n’est pas active ou a
été mal configurée auparavant. Jusqu’à présent, il semble qu’il soit sans
danger de le faire n’importe quand sur une simple station de travail n’ayant
qu’un seul utilisateur).
Vous pouvez maintenant réécrire le contenu du fichier
« /etc/network/interfaces
» selon vos besoins
pour reconfigurer l’interface réseau eth0
.
Ensuite, vous pourrez réactiver eth0
avec la commande
sudo ifup
eth0
».
![]() |
Astuce |
---|---|
Vous pouvez (ré)initialiser l’interface réseau simplement par
« |
Le paquet ifupdown-extra
fournit des tests de connexion
au réseau faciles à utiliser avec le paquet ifupdown
.
La commande network-test(1) peut être utilisée depuis l’interpréteur de commandes.
Les scripts automatiques sont lancés pour chaque exécution de la commande
ifup
.
La commande network-test
vous libère de l’exécution
d’ennuyeuses commandes de bas niveau pour analyser les problèmes du réseau.
Les scripts automatiques sont installés dans
« /etc/network/*/
» et effectuent ce qui
suit :
vérifier la connexion du câble réseau
vérifier l’utilisation d’une adresse IP dupliquée
définir les routes statiques du système basées sur la définition de
« /etc/network/routes
»
vérifier si la passerelle réseau peut être atteinte
enregistrer les résultats dans le fichier
« /var/log/syslog
»
L’enregistrement dans syslog est assez utile pour l’administration des problèmes de réseau sur un système distant.
![]() |
Astuce |
---|---|
Le comportement automatique du paquet |
Les fonctionnalités du paquet ifupdown
peuvent être
améliorées au-delà de ce qui est décrit dans Section 5.5, « Configuration de base du réseau avec ifupdown (ancienne) » avec des
connaissances avancées.
Les fonctionnalités décrites ici sont entièrement facultatives. Étant paresseux et minimaliste, je me suis rarement ennuyé à les utiliser.
![]() |
Attention |
---|---|
Si vous n’êtes pas arrivé à établir une connexion réseau à l’aide des informations de Section 5.5, « Configuration de base du réseau avec ifupdown (ancienne) », vous ne ferez qu’empirer la situation en utilisant les informations qui suivent : |
Le paquet ifplugd
est un ancien outil de configuration
automatique de réseau qui ne peut gérer que les connexions Ethernet. Il
permet de régler le problème des connexions et déconnexions des câbles
Ethernet avec les PC mobiles, etc. Si vous avez installé NetworkManager ou Wicd (consultez Section 5.2, « Configuration moderne de réseau pour ordinateur de bureau »), vous n’avez pas besoin
de ce paquet.
Ce paquet fait tourner un démon qui remplace
les fonctionnalités auto ou allow-hotplug (consultez Tableau 5.10, « Liste des entrées de
« /etc/network/interfaces
» ») et qui active les interfaces lors de
leur connexion au réseau.
Voici comment utiliser le paquet ifplugd
pour le port
Ethernet interne, par exemple, eth0
.
Supprimez l’entrée « auto eth0
» ou
« allow-hotplug eth0
» de
« /etc/network/interfaces
»
Conservez les entrées « iface eth0 inet …
» et
« mapping …
» de
« /etc/network/interfaces
»
Installez le paquet ifplugd
.
Lancez « sudo dpkg-reconfigure ifplugd
»
Mettez eth0
comme interface « statique devant être
surveillée par ifplugd ».
Le réseau fonctionne maintenant comme vous le désirez.
Lors de la mise sous tension ou lors de la découverte du matériel, l’interface n’est pas activée par elle-même.
Processus de démarrage rapide sans le long délai de dépassement de temps de DHCP.
Pas d’interface bizarre activée sans une adresse IPV4 correcte (consultez Section 5.5.12, « État de configuration réseau de ifupdown »).
L’interface est activée lors de la découverte du câble Ethernet.
L’interface est désactivée quelque temps après que le câble Ethernet ait été débranché.
L’interface est activée dans le nouvel environnement de réseau lors de la connexion d’un autre câble Ethernet.
![]() |
Astuce |
---|---|
Les paramètres de la commande ifplugd(8) peuvent définir son comportement tel que le délai de reconfiguration des interfaces. |
Le paquet ifmetric
permet de manipuler a posteriori la
métrique de routes même avec DHCP.
Ce qui suit permettra de rendre l’interface eth0
prioritaire sur l’interface wlan0
:
installer le paquet ifmetric
:
ajouter l’option avec « metric 0
» juste
en-dessous de la ligne « iface eth0 inet dhcp
»
dans « /etc/network/interfaces
».
ajouter une ligne d’option avec « metric 1
»
juste en-dessous de la ligne « iface wlan0 inet
dhcp
» dans
« /etc/network/interfaces
».
« metric 0 » indique la route de plus haute priorité et c’est celle par défaut. La plus grande valeur de « metric » indique une route de moindre priorité. L’adresse IP de l’interface active ayant la valeur de « metric » la plus basse devient celle d’origine. Consultez ifmetric(8).
Une seule interface Ethernet physique peut être configurée en tant que de multiples interfaces virtuelles avec différentes adresses IP. Habituellement, le but est de connecter une interface à plusieurs sous-réseaux ayant des IP différentes. Par exemple, l’hébergement web virtuel basé sur l’IP avec une seule interface réseau est une application de ce type.
Supposons, par exemple, ce qui suit :
une seule interface Ethernet de votre machine est raccordée à un « hub Ethernet » (pas au routeur à large bande) :
le concentrateur Ethernet est connecté à la fois à Internet et au réseau local :
le réseau local utilise le sous-réseau
192.168.0.x/24
:
votre machine utilise une adresse IP fournie par DHCP avec l’interface
physique eth0
pour Internet :
votre machine utilise 192.168.0.1
avec l’interface
virtuelle eth0:0
pour le réseau local.
Les entrées suivantes de
« /etc/network/interfaces
» permettent de
configurer votre réseau :
iface eth0 inet dhcp metric 0 iface eth0:0 inet static address 192.168.0.1 netmask 255.255.255.0 network 192.168.0.0 metric 1
![]() |
Attention |
---|---|
Bien que cet exemple de configuration avec traduction d’adresse réseau (NAT) en utilisant netfilter/iptables (consultez Section 5.9, « Infrastructure de netfilter ») puisse fournir un routeur économique pour le réseau local avec une seule interface, il n’y a pas, avec votre configuration, de possibilité réelle de pare-feu. Vous devriez utiliser deux interfaces physiques avec NAT afin de sécuriser le réseau local contre ce qui provient d’Internet. |
Le paquet ifupdown
fournit une configuration avancée du
réseau en utilisant le nom configuration
réseau et le nom interface
réseau. J’utilise une terminologie un peu différente de celle
utilisée dans
ifup(8)
et
interfaces(5).
Tableau 5.12. Terminologie des périphériques réseau
terminologie de la page de manuel | ma terminologie | exemple dans le texte suivant : | description |
---|---|---|---|
nom de l’interface physique | nom de l’interface réseau | lo , eth0 ,
<nom_interface> |
nom donné dans le noyau Linux (utilisant le mécanisme
udev )
|
nom de l’interface logique | nom de la configuration réseau | config1 , config2 ,
<nom_config> |
noms suivants iface
dans le fichier « /etc/network/interfaces »
|
Les commandes élémentaires de configuration du réseau se trouvant dans Section 5.5.1, « La syntaxe de commande simplifiée » exigent que le nom de la
configuration réseau de l’entrée
iface
corresponde au
nom de l’interface réseau dans le fichier
« /etc/network/interfaces
».
Les commandes avancées de configuration du réseau permettent de séparer de
la manière suivante le nom de la configuration
réseau et le nom de l’interface
réseau dans le fichier
« /etc/network/interfaces
» :
Tableau 5.13. Liste des commandes avancées de configuration du réseau par ifupdown
commande | action |
---|---|
ifup eth0=config1
|
activer une interface réseau eth0 avec la configuration
config1
|
ifdown eth0=config1
|
désactiver une interface réseau eth0 avec la
configuration config1
|
ifup eth0
|
activer une interface réseau eth0 avec la configuration
sélectionnée par l’entrée mapping
|
ifdown eth0
|
désactiver une interface réseau eth0 avec la
configuration sélectionnée par l’entrée
mapping
|
Nous avons sauté l’explication de l’entrée mapping
du fichier
« /etc/network/interfaces
» dans la Section 5.5.2, « Syntaxe de base de « /etc/network/interfaces » » pour éviter des
complications. Cette entrée possède la syntaxe suivante :
mapping <motif_nom_interface> script <nom_script> map <script_entrée1> map <script_entrée2> map ...
Cela fournit des fonctionnalités avancées au fichier
« /etc/network/interfaces
» en automatisant le
choix de la configuration avec le script de « mapping » indiqué
par <nom_script>
.
Suivons l’exécution de ce qui suit :
$ sudo ifup eth0
Lorsque « <motif_nom_interface>
»
correspond à « eth0
», cette exécution lance
l’exécution de la commande suivante afin de configurer automatiquement
eth0
:
$ sudo ifup eth0=$(echo -e '<script_entrée1> \n <script_entrée2> \n ...' | <nom_script> eth0)
Ici, les lignes d’entrée du script contenant
« map
» sont facultatives et peuvent être
répétées.
![]() |
Note |
---|---|
Le motif générique (glob) pour l’entrée |
Voici comment commuter manuellement entre plusieurs configurations de réseau
sans réécrire le fichier
« /etc/network/interfaces
» comme dans Section 5.5.13, « Configuration réseau de base ».
Créez un paragraphe distinct dans le fichier
« /etc/network/interfaces
» pour chaque
configuration de réseau auquel vous souhaitez accéder, comme dans les
exemples suivants :
auto lo iface lo inet loopback iface config1 inet dhcp iface config2 inet static address 192.168.11.100 netmask 255.255.255.0 gateway 192.168.11.1 dns-domain example.com dns-nameservers 192.168.11.1 iface pppoe inet manual pre-up /sbin/ifconfig eth0 up up ifup ppp0=dsl down ifdown ppp0=dsl post-down /sbin/ifconfig eth0 down # Ce qui suit n'est utilisé que de manière interne iface dsl inet ppp provider fai_adsl iface pots inet ppp provider fai
Vous remarquez que le nom de configuration de
réseau qui est l’élément suivant iface
n’utilise pas l’élément
pour le nom d’interface réseau. Notez
aussi qu’il n’y a pas d’entrée auto
ni d’entrée allow-hotplug
pour démarrer
automatiquement l’interface réseau eth0
sur événement.
Vous êtes maintenant prêt à commuter la configuration de votre réseau.
Déplaçons votre PC vers un réseau local desservi par DHCP. Vous activez
l’interface réseau (l’interface physique)
eth0
en lui assignant le nom de configuration réseau (le nom de l’interface
logique) config1
de la manière suivante :
$ sudo ifup eth0=config1 Password: ...
L’interface eth0
est active, configurée par DHCP et
connectée au réseau local.
$ sudo ifdown eth0=config1 ...
L’interface eth0
est inactive et déconnectée du réseau
local.
Déplaçons votre PC vers un réseau local avec une adresse IP fixe. Vous
activez l’interface réseau
eth0
en lui assignant le nom de configuration réseau config2
de
la manière suivante :
$ sudo ifup eth0=config2 ...
L’interface eth0
est active, configurée avec une IP
statique et connectée au réseau local. Les paramètres supplémentaires donnés
sous la forme dns-*
configurent le contenu de
« /etc/resolv.conf
». Ce fichier
« /etc/resolv.conf
» est mieux géré si le
paquet resolvconf
est installé.
$ sudo ifdown eth0=config2 ...
L’interface eth0
est de nouveau inactive et déconnectée
du réseau local.
Déplaçons votre PC sur le port d’un modem large bande connecté au service
par PPPoE. Vous activez l’interface
réseaueth0
en lui assignant le nom de
configuration réseau
pppoe
de la manière suivante :
$ sudo ifup eth0=pppoe ...
L’interface eth0
est active, configurée avec une
connexion PPPoE, directement vers le FAI.
$ sudo ifdown eth0=pppoe ...
L’interface eth0
est de nouveau désactivée et
déconnectée.
Déplaçons votre PC à un emplacement sans réseau local et sans modem large
bande mais avec un POTS et un modem (modem sur le réseau commuté). Vous
activez l’interface réseau
ppp0
en lui assignant le nom de configuration réseau pots
de la
manière suivante :
$ sudo ifup ppp0=pots ...
L’interface ppp0
est active et connectée à Internet par
PPP.
$ sudo ifdown ppp0=pots ...
L’interface ppp0
est inactive et déconnectée d’Internet.
Vous devriez vérifier l’état actuel de la configuration du réseau du système
ifupdown
dans le fichier
« /etc/network/run/ifstate
».
![]() |
Avertissement |
---|---|
Il se peut que vous ayez besoin d’ajuster le nombre à la fin de
|
Le système ifupdown
lance automatiquement les scripts qui
sont installés dans « /etc/network/*/
» en
exportant les variables d’environnement vers les scripts.
Tableau 5.14. Liste des variables d’environnement passées par le système ifupdown
variable d’environnement | valeur passée |
---|---|
« $IFACE »
|
nom physique (nom d’interface) de l’interface en cours de traitement |
« $LOGICAL »
|
nom logique (nom de configuration) de l’interface en cours de traitement |
« $ADDRFAM »
|
<famille_d_adresses> de l’interface |
« $METHOD »
|
<nom_méthode> de l’interface. (par exemple « static ») |
« $MODE »
|
« » si lancé depuis ifup , « stop »
si lancé depuis ifdown
|
« $PHASE »
|
comme pour « $MODE » mais avec une plus faible
granularité permettant de distinguer les phases pre-up ,
post-up , pre-down et
post-down
|
« $VERBOSITY »
|
indique si « --verbose » a été
utilisé. Positionnée à 1 dans ce cas, à 0 sinon
|
« $PATH »
|
chemin de recherche de la commande :
« /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin »
|
« $IF_<OPTION> »
|
valeur de l’option correspondante de l’entrée iface
|
Ici, chaque variable d’environnement, « $IF_<OPTION>
», est créée à partir du nom de l’option correspondante
comme <option1> et <option2> en les préfixant avec
« $IF_
», et en convertissant la casse en
majuscules, en remplaçant les tirets (« - ») par des tirets
soulignés (« _ ») et en supprimant les caractères non
alphanumériques.
![]() |
Astuce |
---|---|
Consultez Section 5.5.2, « Syntaxe de base de « /etc/network/interfaces » » pour <famille_adresse>, <nom_méthode>, <option1> et <option2>. |
Le paquet ifupdown-extra
(consultez Section 5.5.14, « La paquet ifupdown-extra ») utilise ces variables
d’environnement pour étendre les fonctionnalités du paquet
ifupdown
. Le paquet ifmetric
(consultez Section 5.6.2, « Le paquet ifmetric ») installe le script
« /etc/network/if-up.d/ifmetric
» qui définit
la métrique par l’intermédiaire de la variable
« $IF_METRIC
». Le paquet
guessnet
(consultez Section 5.6.8, « Cartographie réseau avec guessnet »), qui fournit une ossature simple et
puissante pour la sélection automatique de la configuration du réseau par le
mécanisme de cartographie de réseau (« mapping »), les utilise
aussi.
![]() |
Note |
---|---|
Pour des exemples plus spécifiques de scripts personnalisés de configuration
du réseau en utilisant les variables d’environnement, vous pouvez consulter
les scripts d’exemples se trouvant dans
« |
Plutôt que de choisir manuellement la configuration comme il est décrit dans la Section 5.6.6, « Configuration réseau commutable manuellement », vous pouvez utiliser le mécanisme de cartographie réseau décrit dans la Section 5.6.5, « L’entrée « mapping » » pour sélectionner automatiquement la configuration du réseau à l’aide de scripts personnalisés.
La commande
guessnet-ifupdown(8)
fournie par le paquet guessnet
est conçue pour être
utilisée comme script de cartographie réseau et fournit une infrastructure
puissante pour améliorer le système ifupdown
.
Vous listez la condition de test comme valeur des options de guessnet
pour chacune des
configurations de réseau de l’entrée iface
.
La cartographie du réseau choisit la première entrée iface
donnant un résultat qui ne
soit pas en erreur comme configuration du réseau.
Cette double utilisation du fichier
« /etc/network/interfaces
» par le script de
mapping, guessnet-ifupdown
et l’infrastructure d’origine
de configuration du réseau, ifupdown
, n’a pas d’impact
négatif car les options de guessnet
n’exportent que des
variables d’environnement supplémentaires vers les scripts lancés par le
système ifupdown
. Consultez
guessnet-ifupdown(8)
pour davantage d’informations.
![]() |
Note |
---|---|
Lorsqu’il est nécessaire d’avoir plusieurs lignes d’options de |
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 obsolètes vers les nouvelles commandes iproute2, etc.
Tableau 5.15. 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 |
Consultez ip(8) et Howto de la suite utilitaire IPROUTE2.
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.16. Liste des commandes de réseau de bas niveau
commande | description |
---|---|
ifconfig
|
afficher l’état et l’adresse du lien des interfaces actives |
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-serveur.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 |
netstat -a
|
rechercher tous les ports ouverts |
netstat -l --inet
|
rechercher les ports à l’écoute |
netstat -ln --tcp
|
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
« |
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.17. Liste des outils d’optimisation du réseau.
paquets | popcon | taille | description |
---|---|---|---|
iftop
|
V:10, I:95 | 112 | afficher l’utilisation de la bande passante d’une interface réseau |
iperf
|
V:5, I:48 | 126 | outil de mesure de la bande passante du protocole Internet |
apt-spy
|
V:1, I:8 | 105 |
écrire un fichier « /etc/apt/sources.list » en
fonction de tests de bande passante
|
ifstat
|
V:1, I:12 | 41 | InterFace STATistics Monitoring (surveillance des statistiques de l’interface) |
bmon
|
V:1, I:9 | 115 | surveillance portable de la bande passante et estimation du débit |
ethstatus
|
V:0, I:4 | 84 | script qui mesure rapidement le débit d"une interface réseau |
bing
|
V:0, I:4 | 96 | testeur de bande passante empirique et stochastique |
bwm-ng
|
V:2, I:16 | 114 | moniteur de bande passante simple en mode console |
ethstats
|
V:0, I:2 | 52 | moniteur de statistiques Ethernet en mode console |
ipfm
|
V:0, I:0 | 156 | outil d’analyse de bande passante |
La valeur du Maximum Transmission
Unit (MTU) (Unité de transmission maximum) peut être déterminée
expérimentalement par
ping(8)
avec l’option « -M do
» qui envoie des paquets
ICMP dont la taille commence par 1500 (avec un décalage de 28 octets pour
l’en-tête IP+ICMP) et recherche la taille la plus grande sans fragmentation
d’IP.
Essayez, par exemple, ce qui suit :
$ ping -c 1 -s $((1500-28)) -M do www.debian.org PING www.debian.org (194.109.137.218) 1472(1500) bytes of data. From 192.168.11.2 icmp_seq=1 Frag needed and DF set (mtu = 1454) --- www.debian.org ping statistics --- 0 packets transmitted, 0 received, +1 errors
Essayez 1454 à la place de 1500
Vous voyez que ping(8) a réussi avec 1454.
Ce processus est la découverte du chemin MTU (PMTU) (RFC1191) et la commande tracepath(8) peut l’automatiser.
![]() |
Astuce |
---|---|
L’exemple ci-dessus avec une valeur de PMTU de 1454 correspond à mon fournisseur FTTP précédent qui utilisait Asynchronous Transfer Mode (ATM) comme réseau fédérateur (« backbone ») et servait ses clients avec PPPoE. La valeur réelle de PMTU dépend de votre environnement, par exemple, 1500 avec mon nouveau fournisseur FTTP. |
Tableau 5.18. Lignes directrices pour une valeur optimum 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 |
lien Ethernet (IP : PPPoE) | 1492 (=1500-8) | 2 octets pour l’en-tête PPP et 6 octets pour l’en-tête PPPoE |
lien Ethernet (épine dorsale de réseau du FAI : ATM, IP : DHCP ou fixe) | 1462 (=48*31-18-8) | spéculations de l’auteur : 18 octets pour l’en-tête Ethernet, 8 octets pour le « trailer » SAR |
lien Ethernet (réseau fédérateur du FAI : ATM, IP : PPPoE) | 1454 (=48*31-8-18-8) | consultez une justification dans « Configuration optimum du MTU pour les connexions ADSL PPPoE » |
En plus de ces lignes directrices, vous devriez savoir 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.
Voici des exemples de définition de la valeur de MTU à partir de ses valeurs par défaut 1500 à 1454.
Pour le DHCP (consultez Section 5.5.4, « Interfaces réseau gérées par DHCP »), vous pouvez
remplacer les lignes d’entrée iface
pertinentes du fichier
« /etc/network/interfaces
» avec ce qui
suit :
iface eth0 inet dhcp pre-up /sbin/ifconfig $IFACE mtu 1454
Pour une IP statique (consultez Section 5.5.5, « Interface réseau avec une adresse IP fixe »), vous pouvez
remplacer les lignes d’entrées iface
pertinentes du fichier
« /etc/network/interfaces
» avec ce qui
suit :
iface eth0 inet static address 192.168.11.100 netmask 255.255.255.0 gateway 192.168.11.1 mtu 1454 dns-domain example.com dns-nameservers 192.168.11.1
Pour une connexion PPPoE directe (consultez Section 5.4.5, « La connexion PPPoE avec pppoeconf »), vous pouvez remplacer la
ligne « mtu
» pertinente du fichier
« /etc/ppp/peers/dsl-provider
» par ce qui
suit :
mtu 1454
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.9, « Infrastructure de netfilter ») peuvent limiter la taille des paquets au MSS, ce qui est utile pour le routeur. Consultez "TCPMSS" dans iptables(8). |
Le débit de TCP peut être maximisé en ajustant les paramètres de taille de tampon TCP comme cela est décrit dans « Guide de réglage de TCP » (« TCP Tuning Guide ») et « réglage de TCP » (« TCP tuning ») 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 lorsque mon réseau local est connecté par l’intermédiaire d’un service rapide sur fibre optique (FTTP) à 1Gb/s.
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.3.1, « Initialisation des modules du noyau »).
Tableau 5.19. Liste d’outils de pare-feu
paquets | popcon | taille | description |
---|---|---|---|
iptables
|
V:238, I:993 | 1400 | outils d’administration pour netfilter (iptables(8) pour IPv4, ip6tables(8) for IPv6) |
arptables
|
V:0, I:2 | 124 | outils d’administration pour netfilter (arptables(8) pour ARP) |
ebtables
|
V:35, I:54 | 309 | outils d’administration pour netfilter (ebtables(8) pour le pontage Ethernet) |
iptstate
|
V:0, I:5 | 135 | surveillance continue de l’état de netfilter (semblable à top(1)) |
shorewall-init
|
I:1 | 147 | initialisation de Shoreline Firewall |
shorewall
|
V:9, I:21 | 2021 | Shoreline Firewall, générateur de fichier de configuration pour netfilter |
shorewall-lite
|
V:0, I:0 | 128 | Shoreline Firewall, générateur de fichier de configuration pour netfilter (version légère) |
shorewall6
|
V:0, I:2 | 806 | Shoreline Firewall, générateur de fichier de configuration pour netfilter (version IPv6) |
shorewall6-lite
|
V:0, I:0 | 126 | 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 sur http://www.netfilter.org/documentation/
(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. |