Comment configurer le réseau sur Linux

Dans cet article, je détaille comment configurer le réseau sur Linux.
Quels sont les fichiers de configuration ?
Quel est le contenu et les paramètres pour mettre une adresse IP fixe ou en DHCP ?

En effet, on trouve toutes sortes d'options qui diffèrent d'un type de distribution à l'autre.
Même si depuis peu NetworkManager permet d'uniformiser la configuration réseaux.

Voici comment comment modifier la configuration réseau.

comment-configurer-le-reseau-sur-linux

Comment configurer le réseau en graphique sur Linux

Les distributions Linux proposent des outils graphiques pour configurer le réseau.
La présentation diffère d'une distribution à l'autre, surtout selon l'environnement de bureau Gnome, KDE, XFCE, etc.

  • Cliquez sur l'icône en haut à droite puis filaire ou Wifi et paramètres
Comment configurer le réseau en graphique sur Linux
  • Cliquez sur l'icône roue crantée afin d'ouvrir les paramètres réseaux de l'interface
Comment configurer le réseau en graphique sur Linux

Depuis l'onglet IPv4 ou IPv6, vous pouvez configurer l'adressage IP.
Par exemple vous pouvez alors configurer une adresse IP fixe ou mettre l'interface en DHCP.

Comment configurer le réseau en graphique sur Linux

Mais les distributions Linux embarquent aussi des fichiers de configuration réseaux que l'on peut modifier directement.

Comment configurer le réseau sur RHEL/CentOS/Fedora

Les fichiers de configuration sont stockés dans le dossier /etc/sysconfig/network-scripts/
On y trouve un fichier ifcfg- avec le nom de l'interface. Par exemple ifcfg-eth0, ifcfg-eth1, etc.

Ainsi pour l'éditer :

vi /etc/sysconfig/network-scripts/ifcfg-eth0

Voici un exemple de contenu avec une adresse IP fixe :

DEVICE="eth0"
BOOTPROTO=static
ONBOOT=yes
TYPE="Ethernet"
MTU=1350
IPADDR=192.168.50.2
NAME="System eth0"
HWADDR=00:0C:29:28:FD:4C
GATEWAY=192.168.50.1

Voici un autre exemple de déclaration eth0 en DHCP :

DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes

Les paramètres de la configuration réseaux :

EntréesDescription
BOOTPROTO = protocole: où protocole est l'un des suivants:
none: aucun protocole de démarrage n'est utilisé.
bootp: utilisez BOOTP (protocole d'amorçage).
dhcp: utilisez DHCP (Dynamic Host Configuration Protocol).
DEFROUTE | IPV6_DEFROUTEyes: cette interface est définie comme route par défaut pour le trafic IPv4 | IPv6.
no: cette interface n'est pas définie comme route par défaut.
IPV6INITyes: activez IPv6 sur cette interface. Si IPV6INIT = yes, les paramètres suivants peuvent également être définis dans ce fichier:
IPV6ADDR = adresse IPv6
IPV6_DEFAULTGW = La route par défaut via la passerelle spécifiée
no: désactivez IPv6 sur cette interface.
IPV4_FAILURE_FATALyes: cette interface est désactivée si la configuration IPv4 ou IPv6 échoue.
no: cette interface n'est pas désactivée si la configuration échoue.
ONBOOTyes: cette interface est activée au démarrage.
no: Cette interface n'est pas activée au démarrage.
HWADDRMAC-address: L'adresse matérielle du périphérique Ethernet
IPADDRNadresse: l'adresse IPv4 attribuée à l'interface
PREFIXNN: longueur de la valeur du masque de réseau IPv4
GATEWAYNadresse: adresse de passerelle IPv4 attribuée à l'interface. Étant donné qu'une interface peut être associée à plusieurs combinaisons d'adresse IP, de longueur de préfixe de masque de réseau et d'adresse de passerelle, celles-ci sont numérotées à partir de 0.
DNSNadresse: l'adresse des serveurs de noms de domaine (DNS)
DOMAINDNS_search_domain: le domaine de recherche DNS
MTUspécifie la taille du MTU
Les paramètres du fichier de configuration réseau Redhat

Enfin on redémarre le service réseau pour prendre en compte les modifications :

/etc/init.d/network restart

Comment configurer le réseau sur Ubuntu/Debian/Linux Mint

Sur les distributions à base de Debian, c'est le service networking qui gère la configuration des interfaces réseaux notamment au démarrage du PC.
La configuration est stockée dans le fichier /etc/network/interfaces dont voici un exemple.

Ci-dessous l'interface eth0 possède une configuration statique en IPv4 et IPv6.

# 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

auto eth0
iface eth0 inet static
        address 37.187.125.200
        netmask 255.255.255.0
        network 37.187.125.0
        broadcast 37.187.125.255
        gateway 37.187.125.254

iface eth0 inet6 static
        address 2001:41D0:A:F6d2::1
        netmask 128
        post-up /sbin/ip -family inet6 route add 2001:41D0:A:F6ff:ff:ff:ff:ff dev eth0
        post-up /sbin/ip -family inet6 route add default via 2001:41D0:A:F6ff:ff:ff:ff:ff
        pre-down /sbin/ip -family inet6 route del default via 2001:41D0:A:F6ff:ff:ff:ff:ff
        pre-down /sbin/ip -family inet6 route del 2001:41D0:A:F6ff:ff:ff:ff:ff dev eth0

Voici une déclaration d'une interface eth0 en DHCP :

auto eth0
iface eth0 inet dhcp

Voici les principales entrées possibles dans le fichier.

EntréesDescription
autosuivi du nom de l'interface réseau à configurer
iface <nom interface>inet static pour configurer en IPV4 statique
inet6 static pour configurer en IPV6 statique
inet dhcp pour mettre l'interface en DHCP
addressadresse IP à configurer
netmaskLe masque de sous réseau
broadcastL'adresse du broadcast
gatewayL'adresse de la passerelle par défaut
metricMétrique de routage pour la passerelle par défaut (entier)
pointopointAdresse de l'autre point final (quadruple pointillé)
hwaddressPermet de définir l'adresse MAC.
hwaddress ether 00:11:22:33:44:55
mtutaille du MTU (maximum transmission unit)
pre-up
up
post-up
pre-down
down
post-down
Permet de lancer des commandes avant, pendant et après que l'interface réseau se monte
Les entrées et paramtères du fichier de configuration réseau Debian

Enfin on redémarre le service networking de cette manière :

/etc/init.d/networking restart

Comment configurer le réseau avec NetworkManager

NetworkManager est un utilitaire logiciel qui vise à simplifier l'utilisation des réseaux informatiques.

  • Le fichier de configuration : /etc/NetworkManager/NetworkManager.conf
  • La configuration des interface réseau est stockée dans /etc/NetworkManager/system-connections/

Voici un exemple de fichier de configuration d'une interface :

connection]
id=Connexion filaire 1
uuid=94508109-47e7-396e-a77d-0385854d08e4
type=ethernet
autoconnect-priority=-999
interface-name=ens33
permissions=
timestamp=1603882029

[ethernet]
cloned-mac-address=permanent
mac-address-blacklist=

[ipv4]
address1=192.168.1.50/24,192.168.1.1
dns-search=
method=auto

[ipv6]
addr-gen-mode=stable-privacy
dns-search=
ip6-privacy=0
method=auto

[proxy]

Enfin pour relancer le service :

sudo /etc/init.d/network-manager restart

nmcli (NetworkManager Command Line Interface)

nmcli (NetworkManager Command Line Interface) est l'interface de ligne de commande intégrée de NetworkManager. nmcli permet d'afficher facilement l'état actuel de NetworkManager, de gérer les connexions et les périphériques, de surveiller les connexions.

L'utilitaire de ligne de commande nmcli est utilisé pour contrôler NetworkManager et signaler l'état du réseau.
nmcli est utilisé pour créer, afficher, modifier, supprimer, activer et désactiver les connexions réseau, ainsi que pour contrôler et afficher l'état des périphériques réseau.

Voici les principaux exemples de l'utilisation de nmcli.

Lister les interfaces avec les profils :

nmcli con show

Ou encore pour lister les interfaces réseaux :

nmcli -t device
nmcli configurer NetworkManager en ligne de commandes

Afficher la configuration IP d'une connexion réseau "Connexion filaire 1" :

sudo nmcli -g ip4 connection show "Connexion filaire 1"
nmcli configurer NetworkManager en ligne de commandes

Lister les connexions et réseaux WiFi :

nmcli device wifi list

Se connecter en WiFi en remplaçant le SSID et le mot de passe.

nmcli device wifi connect "$SSID" password "$PASSWORD"

Afficher les informations d'une connexion WiFi :

nmcli -p -f general,wifi-properties device show wlan0

Ouvrir l'éditeur nmcli

nmcli con edit

Enfin pour créer une connexion Ethernet statique avec uniquement une adresse IPv4 et une passerelle

nmcli con add type ethernet con-name Ethernet ifname ens33 ip4 10.10.10.10/24 \
gw4 10.10.10.254

Les outils graphiques

  • nm-applet est l'applet GNOME pour NetworkManager.
  • nm-connection-editor : éditeur graphique pour modifier la configuration réseau
  • nmtui est une interface utilisateur textuelle intégrée. nmtui est relativement basique par rapport à nmcli, qui permet uniquement aux utilisateurs d'ajouter / modifier une connexion, d'activer une connexion et de définir le nom d'hôte du système.
  • cnetworkmanager Interface de ligne de commande cnetworkmanager pour NetworkManager.

Par exemple, ci-dessous nmtui.

nmtui est une interface utilisateur textuelle intégrée

Ou encore nm-connection-editor l'éditeur graphique des interfaces réseaux NetworkManager.

nm-connection-editor l'éditeur graphique des interfaces réseaux  NetworkManager