Gestion du réseau avec les fichiers network/interfaces

Mise à jour : Debian 9

Le fichier /etc/network/interfaces comprend pour chaque interface réseau concernée les informations nécessaires à sa configuration. Cette configuration sera appliquée automatiquement au démarrage du système, et sur demande avec les commandes ipup / ifdown et service networking

Sommaire

1 - Fichier interfaces

1.1 - Boucle locale, interface Ethernet filaire DHCP

Par défaut, le fichier /etc/network/interfaces est défini à l'installation et comprend la configuration de la boucle locale lo, et si une interface a été configurée avec succès pendant l'installation, la configuration de cette interface.

Dans le cas d'une interface internet Ethernet filaire, configurée en dhcp, le fichier ressemble à :

$ cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
iface eth0 inet dhcp

Il est ensuite possible de faire évoluer ce fichier en modifiant, ajoutant, supprimant des interfaces.

1.2 - Interface filaire IP fixe

Dans l'exemple ci-dessus, la configuration était réalisée par dhcp. Pour une connexion avec une adresse fixe, remplacer

iface eth0 inet dchp

par

iface eth0 inet static
        address 192.168.0.13
        netmask 255.255.255.0
        gateway 192.168.0.1

et remplacer les valeurs address, netmask et gateway par

Après activation de la configuration (voir ci-dessous), les valeurs sont prises en compte :

$ ip route get 1 | awk '{print $(NF-2);exit}'
192.168.0.13
$ ip route get 1 | awk '{print $(NF-4);exit}'
192.168.0.1
# route -n
Table de routage IP du noyau
Destination Passerelle Genmask Indic Metric Ref Use Iface
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 wlan0
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 wlan0

1.3 - Interface Wifi

Ajouter après l'interface lo, avant ou après l'interface filaire, en fonction de la priorité souhaitée, la description de la configuration de l'interface wifi. Celle-ci dépend du chiffrage de la connexion.

1.3.1 Wifi ouvert

Dans le cas d'un réseau ouvert (sans chiffrage), ajouter

# Interface réseau wifi
allow-hotplug wlan0
iface wlan0 inet dhcp
wireless-essid NOM_RESEAU_WIFI

en remplaçant NOM_RESEAU_WIFI par sa valeur.

1.3.2 Chiffrage WEP

Dans le cas d'un chiffrage WEP, ajouter :

# Interface réseau wifi WEP
allow-hotplug wlan0
iface wlan0 inet dhcp
wireless-essid NOM_RESEAU_WIFI
wireless-key mot_de_passe

Remplacer NOM_RESEAU_WIFI et mot_de_passe par leurs valeurs. Le mot de passe est un nombre héxadécimal (mot de passe ascii non accepté?)

1.3.3 Chiffrage WPA

Pour configurer une interface wifi avec chiffrage WPA2-PSK, ajouter les lignes suivantes :

# Interface réseau wifi WPA
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-ssid NOM_RESEAU_WIFI
#psk="mot_de_passe_en_clair"
wpa-psk mot_de_passe_chiffré
$ sudo wpa_passphrase
usage: wpa_passphrase <ssid> [passphrase]

If passphrase is left out, it will be read from stdin
allow-hotplug wlan0
iface wlan0 inet manual
wpa-driver wext
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf

et programmer en conséquence le fichier wpa_supplicant.conf.

2 - Utilisation

2.1 - Configuration automatique

Au démarrage du système, les configurations des différentes interfaces sont lues et traitées séquentiellement, assurant la configuration automatique du réseau.

2.2 - Configuration en ligne de commande

Il est possible de faire d'arrêter / reprendre etc... la configuration soit d'une interface à la fois (commandes ifup /ifdown), soit de toutes les interfaces à la fois (commande systemctl networking).

2.2.1 ifup / ifdown

Les commandes ifup et ifdown, suivies du nom de l'interface à configurer, permettent de faire prendre en compte la configuration définie dans le fichier /etc/network/interfaces.

Pour par exemple, (ré-)activer l'interface wlan0 définie dans le fichier interfaces :

$ sudo ip link set wlan0 down
$ sudo ifup wlan0
$ sudo ifdown wlan0 

2.2.2 service networking

La commande systemctl networking suivie de start, stop ou restart, démarre, stop ou redémarre l'ensemble du réseau selon la configuration définie dans /etc/network/interfaces :

$ sudo systemctl [start |stop |restart] networking

A noter que si une configuration par dhcp est prévue dans le fichier interfaces, elle ne sera pas nécessairement prise en compte. Il pourra être nécessaire de la relancer après l'exécution de la commande, avec par exemple,

$ sudo dhclient eth0

Il arrive que les interrupteurs rfkill soient bloqués, ce qui empêche d'activer wlan0. Les débloquer à l'aide de :

$ sudo rfkill unblock wifi