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
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.
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 :
Adresse IP de l'interface :
$ 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
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.
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.
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é?)
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é
Remplacer NOM_RESEAU_WIFI par sa valeur
Remplacer mot de passe_chiffré par le résultat de la commande wpa_passphrase, conformément à l'aide fournie par la commande :
$ 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.
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.
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).
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
Désormais, les commandes ifup et ifdown assureront la connexion et la déconnexion :
Connexion :
$ sudo ifup wlan0
Déconnexion :
$ sudo ifdown wlan0
Etc....
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