Table des matières
Astuce | |
---|---|
Pour un guide actualisé de la gestion réseau sous Debian, lire le Guide de l’administrateur Debian - configurer le réseau (« The Debian Administrator's Handbook — Configuring the Network »). |
Astuce | |
---|---|
Sous systemd, networkd peut être utilisé pour gérer les
réseaux. Consultez |
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 |
---|---|---|---|---|
network-manager
|
V:363, I:428 | 14803 | config::NM | NetworkManager (démon) : gère automatiquement le réseau |
network-manager-gnome
|
V:122, I:354 | 5570 | config::NM | NetworkManager (frontal de GNOME) |
ifupdown
|
V:586, I:983 | 199 | config::ifupdown | outil standard pour activer ou désactiver le réseau (spécifique à Debian) |
isc-dhcp-client
|
V:218, I:981 | 2857 | config::low-level | client DHCP |
pppoeconf
|
V:0, I:7 | 192 | config::helper | assistant de configuration d’une connexion PPPoE |
wpasupplicant
|
V:332, I:486 | 3851 | , , | client prenant en charge WPA et WPA2 (IEEE 802.11i) |
wpagui
|
V:0, I:2 | 758 | , , | client graphique (Qt) pour wpa_supplicant |
wireless-tools
|
V:163, I:220 | 292 | , , | outils pour manipuler les « Extensions Linux sans fil » (Linux Wireless Extensions) |
iw
|
V:156, I:454 | 302 | , , | tool for configuring Linux wireless devices |
iproute2
|
V:709, I:958 | 3514 | config::iproute2 | iproute2, IPv6 et autres configurations
avancées du réseau : ip (8),
tc (8), etc |
iptables
|
V:315, I:889 | 2408 | config::Netfilter | outils d’administration pour le filtrage des paquets et NAT (Netfilter) |
iputils-ping
|
V:204, I:997 | 120 | test | tester l’accessibilité d’une machine distante par nom de machine ou adresse IP (iproute2) |
iputils-arping
|
V:4, I:57 | 49 | test | tester l’accessibilité réseau d’une machine distante spécifiée par une adresse ARP |
iputils-tracepath
|
V:3, I:39 | 45 | test | tracer le chemin du réseau vers une machine distante |
ethtool
|
V:98, I:278 | 668 | test | afficher ou modifier les paramètres d’un périphérique Ethernet |
mtr-tiny
|
V:7, I:52 | 161 | test::low-level | tracer le chemin réseau vers une machine distante (curses) |
mtr
|
V:4, I:44 | 214 | , , | tracer le chemin réseau vers une machine distante (curses et GTK) |
gnome-nettool
|
V:1, I:25 | 2492 | , , | outils pour des opérations d’informations habituelles sur le réseau (GNOME) |
nmap
|
V:25, I:222 | 4434 | , , | cartographie réseau / balayage de ports (Nmap, console) |
zenmap
|
V:0, I:2 | 2939 | , , | cartographie réseau / balayage de ports (GTK) |
tcpdump
|
V:17, I:196 | 1332 | , , | analyseur de trafic réseau (Tcpdump, console) |
wireshark
|
I:48 | 37 | , , | analyseur de trafic réseau (Wireshark, GTK) |
tshark
|
V:2, I:28 | 403 | , , | analyseur de trafic réseau (console) |
tcptrace
|
V:0, I:2 | 401 | , , | produit un résumé des connexions à partir d’une sortie de
tcpdump |
snort
|
V:0, I:1 | 2203 | , , | système souple de détection d’intrusion par le réseau (Snort) |
ntopng
|
V:1, I:1 | 15904 | , , | afficher l’utilisation du réseau dans le navigateur web |
dnsutils
|
V:26, I:369 | 260 | , , | clients réseau fournis par BIND :
nslookup (8), nsupdate (8),
dig (8) |
dlint
|
V:0, I:5 | 53 | , , | vérifier les zones d’information DNS en utilisant des requêtes du serveur de noms |
dnstracer
|
V:0, I:1 | 61 | , , | 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 host_name
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
Chaque ligne commence par une adresse IP et est suivie du nom d’hôte associé.
L’adresse IP 127.0.1.1
en deuxième ligne de cet exemple
pourrait ne pas être présente sur d’autres systèmes de type UNIX. L’installateur Debian ajoute cette entrée pour
les systèmes sans adresse IP permanente en tant que contournement pour
certains programmes (par exemple GNOME) comme expliqué dans le bogue nº 719621.
Le nom_hote correspond au nom d’hôte défini dans
« /etc/hostname
».
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).
Note | |
---|---|
L'expansion de nom de domaine de premier niveau générique « generic Top-Level Domains (gTLD) » dans le système de noms de domaine est en cours de réalisation. Soyez attentifs aux conflits de noms lors du choix d'un nom de domaine utilisé uniquement au sein d'un réseau local « LAN ». |
The systemd uses "Predictable Network Interface
Names" such as "enp0s25
".
Un rappel des plages d’adresses IPv4 32 bits de chacune des classes réservées à l’utilisation sur un réseau local (LAN) par la rfc1918. Ces adresses garantissent qu’aucun conflit ne sera créé avec aucune des adresses présentes sur Internet proprement dit.
Note | |
---|---|
IP address written with colon are IPv6
address, e.g., " |
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 | of subnets |
---|---|---|---|---|
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.10.5, « Pilotes de matériel et microprogramme ».
Network interfaces are typically initialized in
"networking.service
" for the lo
interface and "NetworkManager.service
" for other
interfaces on modern Debian desktop system under systemd
.
Debian can manage the network connection via management daemon software such as NetworkManager (NM) (network-manager and associated packages).
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
».
Official documentations for NM on Debian are provided in
"/usr/share/doc/network-manager/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 foo netdev
Gardez la configuration de
« /etc/network/interfaces
» aussi simple que
possible comme ce qui suit :
auto lo iface lo inet loopback
Restart NM by the following.
$ sudo systemctl restart network-manager
Configurez votre réseau à l’aide d’une interface graphique.
Note | |
---|---|
Only interfaces which are not listed in
" |
Astuce | |
---|---|
If you wish to extend network configuration capabilities of NM, please seek
appropriate plug-in modules and supplemental packages such as
|
Sous systemd, le réseau peut aussi être
configuré dans /etc/systemd/network/
. Voir :
systemd-resolved
(8), resolved.conf
(5),
et systemd-networkd
(8).
This allows the modern network configuration without GUI.
A DHCP client configuration can be set up by creating
"/etc/systemd/network/dhcp.network
". E.g.:
[Match] Name=en* [Network] DHCP=yes
A static network configuration can be set up by creating
"/etc/systemd/network/static.network
". E.g.:
[Match] Name=en* [Network] Address=192.168.0.15/24 Gateway=192.168.0.1
For the low level network configuration on Linux, use the iproute2 programs (ip
(8), …) .
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.3. Table de conversion depuis les commandes obsolètes
net-tools
vers les nouvelles commandes
iproute2
net-tools obsolètes | nouveau iproute2, etc. | manipulation |
---|---|---|
ifconfig (8) |
ip addr |
adresse de protocole (IP ou IPv6) d’un périphérique |
route (8) |
ip route |
entrée de la table de routage |
arp (8) |
ip neigh |
entrée de cache ARP ou NDISC |
ipmaddr |
ip maddr |
adresse multicast |
iptunnel |
ip tunnel |
tunnel sur IP |
nameif (8) |
ifrename (8) |
nommer les interfaces réseau en se basant sur l’adresse MAC |
mii-tool (8) |
ethtool (8) |
paramétrage du périphérique Ethernet |
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.4. Liste des commandes de réseau de bas niveau
commande | description |
---|---|
ip addr show |
afficher l’état et l’adresse du lien des interfaces actives |
route -n |
afficher toutes les tables de routage sous forme d’adresses numériques |
ip route show |
afficher toutes les tables de routage sous forme d’adresses numériques |
arp |
afficher le contenu actuel des tables de cache d’ARP |
ip neigh |
afficher le contenu actuel des tables de cache d’ARP |
plog |
afficher le journal du démon ppp |
ping yahoo.com |
vérifier la connexion internet vers
« yahoo.com » |
whois yahoo.com |
vérifier qui a enregistré « yahoo.com » dans la
base de données des domaines |
traceroute yahoo.com |
tracer la connexion Internet vers « yahoo.com » |
tracepath yahoo.com |
tracer la connexion Internet vers « yahoo.com » |
mtr yahoo.com |
tracer la connexion Internet vers « yahoo.com »
(de manière répétitive) |
dig [@dns-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.5. Liste des outils d’optimisation du réseau.
paquets | popcon | taille | description |
---|---|---|---|
iftop
|
V:6, I:113 | 93 | afficher l’utilisation de la bande passante d’une interface réseau |
iperf
|
V:3, I:50 | 349 | outil de mesure de la bande passante du protocole Internet |
ifstat
|
V:0, I:8 | 59 | InterFace STATistics Monitoring (surveillance des statistiques de l’interface) |
bmon
|
V:1, I:18 | 144 | surveillance portable de la bande passante et estimation du débit |
ethstatus
|
V:0, I:4 | 40 | script qui mesure rapidement le débit d"une interface réseau |
bing
|
V:0, I:1 | 80 | testeur de bande passante empirique et stochastique |
bwm-ng
|
V:1, I:16 | 95 | moniteur de bande passante simple en mode console |
ethstats
|
V:0, I:0 | 23 | moniteur de statistiques Ethernet en mode console |
ipfm
|
V:0, I:0 | 78 | outil d’analyse de bande passante |
NM normally sets optimal Maximum Transmission Unit (MTU) automatically.
In some occasion, you may wish to set MTU manually after experiments with
ping
(8) with "-M do
" option to send a
ICMP packet with various data packet size. MTU is the maximum succeeding
data packet size without IP fragmentation plus 28 bytes for the IPv4 and
plus 48 bytes for the IPv6. For example the following finds MTU for IPv4
connection to be 1460 and MTU for IPv6 connection to be 1500.
$ ping -4 -c 1 -s $((1500-28)) -M do www.debian.org PING (149.20.4.15) 1472(1500) bytes of data. ping: local error: message too long, mtu=1460 --- ping statistics --- 1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms $ ping -4 -c 1 -s $((1460-28)) -M do www.debian.org PING (130.89.148.77) 1432(1460) bytes of data. 1440 bytes from klecker-misc.debian.org (130.89.148.77): icmp_seq=1 ttl=50 time=325 ms --- ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 325.318/325.318/325.318/0.000 ms $ ping -6 -c 1 -s $((1500-48)) -M do www.debian.org PING www.debian.org(mirror-csail.debian.org (2603:400a:ffff:bb8::801f:3e)) 1452 data bytes 1460 bytes from mirror-csail.debian.org (2603:400a:ffff:bb8::801f:3e): icmp_seq=1 ttl=47 time=191 ms --- www.debian.org ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 191.332/191.332/191.332/0.000 ms
Ce processus est la découverte du chemin
MTU (PMTU) (RFC1191) et la commande
tracepath
(8) peut l’automatiser.
Tableau 5.6. Lignes directrices pour une valeur 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 |
In addition to these basic guide lines, you should know the following.
Toute utilisation d’une méthode de tunneling (VPN, etc.) peut réduire le MTU optimal en raison de la surcharge qu’elle engendre.
La valeur de MTU ne doit pas excéder la valeur expérimentale déterminée de PMTU .
La valeur de MTU la plus élevée est généralement meilleure lors que les autres limitations sont remplies.
La taille maximum de segment (MSS : « maximum segment size ») est utilisée comme mesure de remplacement de la taille des paquets. La relation entre MSS et MTU est la suivante :
MSS = MTU - 40 pour IPv4
MSS = MTU - 60 pour IPv6
Note | |
---|---|
Les optimisations basées sur |
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.8.1, « Initialisation des modules du noyau »).
Tableau 5.7. Liste d’outils de pare-feu
paquets | popcon | taille | description |
---|---|---|---|
iptables
|
V:315, I:889 | 2408 | outils d’administration pour netfilter
(iptables (8) pour IPv4, ip6tables (8)
for IPv6) |
arptables
|
V:0, I:2 | 100 | outils d’administration pour netfilter
(arptables (8) pour ARP) |
ebtables
|
V:13, I:31 | 264 | outils d’administration pour netfilter
(ebtables (8) pour le pontage Ethernet) |
iptstate
|
V:0, I:3 | 119 | surveillance continue de l’état de netfilter (semblable à top (1)) |
shorewall-init
|
V:0, I:0 | 85 | initialisation de Shoreline Firewall |
shorewall
|
V:4, I:10 | 3090 | Shoreline Firewall, générateur de fichier de configuration pour netfilter |
shorewall-lite
|
V:0, I:0 | 71 | Shoreline Firewall, générateur de fichier de configuration pour netfilter (version légère) |
shorewall6
|
V:1, I:2 | 1334 | Shoreline Firewall, générateur de fichier de configuration pour netfilter (version IPv6) |
shorewall6-lite
|
V:0, I:0 | 71 | Shoreline Firewall, générateur de fichier de configuration pour netfilter (version légère, IPv6) |
L’outil netfilter principal de l’espace
utilisateur est iptables
(8). Vous pouvez configurer
vous-même netfilter de manière interactive
depuis l’interpréteur de commandes, enregistrer son état avec
iptables-save
(8) et le restaurer par l’intermédiaire d’un
script d’init avec iptables-restore
(8) lors du
redémarrage du système.
Des scripts d’assistant tels que shorewall facilitent ce processus.
Consultez les documentations se trouvant 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 |