Skip to main content

Configuration IP et interfaces sur Ubuntu (⩾20.04)

Ubuntu à partir de Ubuntu 20.04 (environ) utilise Netplan pour la configuration IP. Netplan s'appuie sur des fichiers YAML situé dans /etc/netplan/.

Pour appliquer les modification du fichier, exécuter :

$ sudo netplan apply

Usage courant

Exemple de fichier pour une configuration via DHCPv4 :

network:
  ethernets:
    enp3s0:
      dhcp4: true
  version: 2

Exemple de fichier pour une configuration IPv4 statique :

network:
  version: 2
  ethernets:
    eth0:
      addresses:
        - 10.10.10.2/24
      routes:
        - to: default
          via: 10.10.10.1
      nameservers:
        search: [mydomain, otherdomain]
        addresses: [10.10.10.1, 1.1.1.1]

Exemple de fichier pour une configuration IPv4 via DHCP et IPv6 statique :

network:
  ethernets:
    ens18:
      dhcp4: true
      dhcp6: false
      addresses:
        - 2a01:9093:fd2e:5a0e:7714:59ce:0f8a:4
      #gateway6: fe80::7e2b:1302:814a:ea68    # Obsolete
      routes:
        - to: "::/0"    # defaut ipv6
          via: "fe80::7e2b:1302:814a:ea68"
          on-link: true

  version: 2

on-link: true indique que la passerelle spécifiée (via) est directement accessible sur le lien local (le réseau local). Cela signifie que l'interface réseau n'a pas besoin de savoir exactement où se trouve la passerelle par l'intermédiaire d'une autre route.

Usage avancé

LACP

Exemple de fichier pour lier deux interfaces via LACP :

network:
  version: 2
  renderer: networkd
  ethernets:
    eno1:
      dhcp4: no
    eno2:
      dhcp4: no
  bonds:
    bond0:
      interfaces: [eno1, eno2]
      addresses: [192.168.2.2/24]
      # gateway4: 192.186.2.1    # Obsolete
      routes:
        - to: "0.0.0.0/0"  # Route par défaut pour tout le trafic IPv4
          via: 192.168.2.1
      parameters:
        mode: 802.3ad
        transmit-hash-policy: layer3+4
        mii-monitor-interval: 1
      nameservers:
        addresses:
          - "8.8.8.8"
          - "9.9.9.9"

Paramètres du bond :

  • mode: 802.3ad : Il s'agit du mode d'agrégation LACP (Link Aggregation Control Protocol), conforme à la norme IEEE 802.3ad. Ce mode est utilisé pour équilibrer la charge et offrir la tolérance aux pannes si le commutateur réseau supporte LACP.
  • transmit-hash-policy: layer3+4 : Cette politique d'agrégation hash sur la base des informations des couches 3 (IP) et 4 (port TCP/UDP), ce qui permet un équilibrage de charge plus efficace.
  • mii-monitor-interval: 1 : Cela configure la fréquence de surveillance de l'état des interfaces membres du bond, ici toutes les 1 ms. Si une interface tombe, elle sera retirée du bond et le trafic sera redirigé via les autres interfaces.

VLAN

Prérequis

Pour pouvoir utiliser les tags vlan et configurer nos cartes réseau pour les utiliser avec Netplan, il faut d’abord s'assurer que le module VLAN (8021q) est chargé dans le noyau Linux.

Pour vérifier si le module VLAN (8021q) est chargé sur un système Linux, utilisez la commande `lsmod` pour lister les modules du noyau chargés. Ouvrez un terminal et exécutez :

$ lsmod | grep 8021q

Si le module VLAN est chargé, vous verrez "8021q" dans le résultat. Sinon, cela signifie que le module n'est pas chargé.

Si le module n'est pas chargé, vous pouvez le faire manuellement avec la commande `modprobe` :

$ sudo modprobe 8021q

Après cela, vérifiez à nouveau son statut avec `lsmod | grep 8021q`. Si le module est chargé, il apparaîtra dans la liste.

Pour que le module VLAN (8021q) soit chargé automatiquement au démarrage, ajoutez-le au fichier `/etc/modules` :

$ echo '8021q' | sudo tee -a /etc/modules

Cela garantira que le module est chargé à chaque démarrage du système.

Exemples de configurations

Exemple de fichier pour configurer une interface physique et une interface VLAN :

network:
  version: 2
  renderer: networkd
  ethernets:
    ens18:
      dhcp4: no
      addresses:
        - 192.168.1.40/24
      routes:
        - to: default
          via: 192.168.1.101
      nameservers:
          addresses: [8.8.8.8, 8.8.4.4]

  vlans:
    vlan10:
      id: 10
      link: ens18
      addresses: [192.168.10.2/24]