Configuration d'une interface réseau sous Linux

Cet article traite de la configuration basique des cartes réseaux avec les distributions Linux.

Il existe deux techniques pour configurer une carte réseau sous Linux :

  • Netplan, outil utilisé dans les distributions Ubuntu depuis la version 17.10
  • Le fichier /etc/network/interfaces, utilisé dans d'autres distributions Linux

 

Avec Netplan

La configuration d'une carte réseau avec Netplan se fait par un fichier .yaml devant se trouver dans le répertoire /etc/netplan. Par défaut, il y a déjà un fichier de configuration dans ce répertoire (nommé 01-network-manager.yaml). Vous pouvez le modifier ou en créer un autre. Mais n'en laissez qu'un seul, de préférence, dans ce répertoire. Si le répertoire /etc/netplan est vide, vous pouvez créer un fichier par défaut avec la commande netplan generate.

Configuration d'une interface en adressage dynamique (DHCP)Configuration d'une interface en adressage statique

network:
 version: 2
 renderer: NetworkManager
 ethernets:
  enp0s3:
   dhcp4: true
   dhcp-identifier: mac

network:
  version: 2
  renderer: NetworkManager
  ethernets:
    enp0s3:
      addresses:
      - 192.168.0.1/24
      gateway4: 192.168.0.254
      nameservers:
        search: [domaine.com]
        addresses: [194.0.27.4]

LigneRôle
network: Indique qu'il s'agit d'une configuration réseau
version: 2 Version de Netplan (version 2 actuellement)
renderer: NetworkManager Démon gérant la configuration réseau de la machine. Actuellement, Netplan supporte deux démons :
  • NetworkManager : pour les machines Ubuntu à interface graphique. La configuration des cartes réseaux peut être également modifiée avec l’outil graphique du système.
  • networkd : par défaut, pour toutes les machines Ubuntu (désactivez le Network Manager si vous utilisez ce processus pour les systèmes avec interface graphique).
ethernets: Indique que les configurations qui suivent concernent des cartes Ethernet. Pour la configuration des cartes WiFi, vous devez créer une rubrique wifis.
enp0s3: Nom de la carte à configurer
dhcp4: true Active le DHCP sur la carte réseau. Il est possible également (mais pas obligatoire) de mettre false pour une configuration statique.
dhcp-identifier: mac A ajouter seulement sir le serveur DHCP est un serveur Windows, afin d'assurer l'interopérabilité.
addresses:
- 192.168.0.1/24
Configuration IP de la carte réseau. Il est possible d'ajouter plusieurs adresses à la ligne afin d'avoir une interface avec plusieurs adresses IP. Il est également possible de mettre cette configuration IP entre crochets, après l'instruction addresses.
gateway4: 192.168.0.254 Passerelle (si nécessaire)
nameservers:
 search: [domaine.com]
 addresses: [194.0.27.4]
Serveur(s) DNS (si nécessaire). La rubrique search est facultative. Il est possible de préciser plusieurs domaines et/ou plusieurs serveurs DNS dans les crochets, en les séparant par des virgules.

Après avoir écrit votre fichier de configuration, vous devez utiliser la commande netplan apply pour appliquer la configuration de vos cartes réseaux.

Quelques remarques :

  • Vous pouvez configurer plusieurs cartes réseaux dans votre fichier, en écrivant à la suite les configurations des différentes cartes.
  • Ne mettez pas de tabulation dans les fichiers yaml, cela génère des erreurs au moment de l'application de la configuration des cartes réseaux. Utilisez seulement une suite d'espaces.
  • Les indentations sont importantes dans le fichier yaml. Vous devez indenter vos lignes comme dans le modèle ci-dessus sous rique d'avoir des erreurs lors de l'application de la configuration.

La documentation officielle et complète de Netplan, avec des exemples, est disponible à cette adresse : https://netplan.io/

Avec le fichier interfaces

Dans les versions d'Ubuntu antérieures à la version 17.10 et dans d'autres distributions Linux, la configuration IP se fait avec le fichier /etc/network/interfaces. La configuration de chaque carte réseau doit suivre le modèle suivant (remplacez eth0 par le nom de la carte réseau à configurer)  :

Configuration d'une interface en adressage dynamique (DHCP)Configuration d'une interface en adressage statique

auto eth0
iface eth0 inet dhcp

auto eth0
iface eth0 inet static
address 192.168.0.1
netmask 255.255.255.0
broadcast 192.168.0.255
gateway 192.168.0.254
dns-nameservers 194.0.27.4

LigneRôle
auto eth0
Monte la carte réseau automatiquement au démarrage de la machine
iface eth0

Type de configuration pour l'interface :

  • iface eth0 inet dhcp : configuration DHCP
  • iface eth0 inet static : configuration statique
address 192.168.0.1
Adresse IP de l'interface (obligatoire en configuration statique)
netmask 255.255.255.0
Masque de sous-réseau (obligatoire en configuration statique)
broadcast 192.168.0.255
Adresse de diffusion (facultatif)
gateway 192.168.0.254
Adresse de passerelle (si nécessaire)
dns-nameservers 194.0.27.4 Adresse du(des) serveur(s) DNS (si nécessaire)

Après avoir écrit votre fichier interfaces, vous avez deux solutions pour appliquer votre configuration :

  • Soit redémarrer le service networking avec la commande service networking restart (ou /etc/init.d/networking restart) ;
  • Soit désactiver puis réactiver les cartes réseaux avec la commande ifdown eth0 puis ifup eth0 (en remplaçant eth0 par le nom de votre carte réseau).

Avec les distributions Ubuntu à interface graphique, pour éviter un conflit avec l’outil graphique de gestion des cartes réseaux, il fallait parfois désactiver le NetworkManager, en passant la ligne managed=false à managed=true pour l’option [ifupdown] dans le fichier de configuration /etc/NetworkManager/NetworkManager.conf.