Menu Fermer

nmcli : configurer le réseau NetworkManager sur Linux (Debian, Ubuntu, …)

nmcli (NetworkManager Command Line Interface) pour network manager CLI est donc une interface de ligne de commande du gestionnaire de réseau Linux.
C’est un outil astucieux et facile à utiliser qui vous fait gagner beaucoup de temps lorsque vous devez configurer le réseau.

Dans ce tutoriel, je vous explique comment utiliser nmcli avec de nombreux exemples pour configurer l’adresse IP, le serveur DNS, la passerelle d’une interface réseau.
Vous trouverez aussi des exemples pour gérer les interfaces réseau et notamment le Wi-Fi.

nmcli : configurer le réseau NetworkManager sur Linux (Debian, Ubuntu, ...)

Comment lister les interfaces réseau avec nmcli

Utiliser le nmcli pour modifier les connexions réseau nous oblige à commencer par lister les connexions réseau, utilisez la commande suivante :

nmcli connection show

Pour filtrer et n’afficher que les connexions actives, ajoutez l’option –active comme ceci :

nmcli connection show --active

Puis pour afficher la configuration d’une interface réseau, saisissez la commande suivante en spécifiant le nom de la connexion réseau obtenue précédemment.
Par exemple, pour afficher la configuration de ‘Wired connection 1’ :

nmcli connection show "Wired connection 1"
Comment lister les interfaces réseau avec nmcli

Vous pouvez aussi utiliser cette commande pour obtenir des informations sur les interfaces réseaux.

nmcli -p device show
Comment lister les interfaces réseau avec nmcli

Comment configurer le réseau avec nmcli

Ajouter une connexion réseau à l’aide de nmcli

Vous pouvez utiliser nmcli pour ajouter une nouvelle connexion au système.
Voici la syntaxe à utiliser :

sudo nmcli connection add type <type-reseau> ifname <nom-connexion>

Modifier une connexion réseau existante à l’aide de nmcli

Avec nmcli, on peut apporter des ajustements et des configurations à une connexion réseau existante, comme basculer entre les configurations statiques et DHCP en utilisant la syntaxe ci-dessous.

sudo nmcli connection modify <connection-id> <parameter> <value>

Voyons maintenant les configurations que nous pouvons ajouter et modifier une connexion à l’aide de nmcli.
Tout d’abord, nous allons créer un nouveau profil de connexion, par exemple sous le nom “Ma-connexion”

nmcli connection add con-name Ma-connexion ifname enp0s3 type ethernet

On obtient la sortie suivante :

Connexion « Ma-connexion » (09fe5b92-f7cd-4725-beb5-061cf7240e05) ajoutée avec succès.

La connexion ‘Ma-connexion’ (09fe5b92-f7cd-4725-beb5-061cf7240e05) a été ajoutée avec succès.
Une fois le profil de connexion ajouté, nous effectuerons les ajustements ci-dessous.
Nous allons voir comment définir votre propre adresse IP, passerelle, serveur DNS, etc. en utilisant une syntaxe similaire à celle que j’ai donnée.
Pour définir le démarrage automatique de la connexion réseau, utilisez :

nmcli connection modify Ma-connexion connection.autoconnect yes

Définir une adresse IPv4 statique avec un masque de sous-réseau /24

Voici la commande à utiliser pour configurer une adresse IPv4 sur notre interface réseau :

sudo nmcli connection modify Ma-connexion ipv4.address 192.168.100.157/24

Définir une adresse IPv6 statique avec un masque de sous-réseau /64

Pour assigner une adresse IPv6, on suit le même procédé :

nmcli connection modify Ma-connexion ipv6.addresses 2001:db8:1::1/64

Configurer une passerelle par défaut en IPv4 ou IPv6

Puis si vous avez besoin de configurer une passerelle par défaut :

#IPv4
nmcli connection modify Ma-connexion ipv4.gateway 192.168.10.1
#IPv6
nmcli connection modify Ma-connexion ipv6.gateway 2001:db8:1::fffe

Configurer un serveur DNS en IPv4 ou IPv6

Pour spécifier les serveurs DNS sur votre connexion internet, utilisez ces commandes :

#IPv4
nmcli connection modify Ma-connexion ipv4.dns "192.168.100.254"
#IPv6
nmcli connection modify Ma-connexion ipv6.dns "2001:db8:1::ffbb"

Définir la méthode de connexion IPv4 et IPv6 en DHCP (IP automatique)

Pour configurer votre connexion en DHCP :

#For IPv4
nmcli connection modify Ma-connexion ipv4.method auto
#For IPv6
nmcli connection modify Ma-connexion ipv6.method auto

Pour que les modifications apportées prennent effet, vous devez activer le profil.

nmcli connection up Ma-connexion

Comment configurer le Wi-Fi avec nmcli

Activer le Wi-Fi

Pour vérifier si votre appareil Wi-Fi est activé ou non, vous pouvez vérifier avec cette commande :

nmcli radio wifi

Puis passez la commande suivante pour activer le Wi-Fi :

nmcli r wifi on

Lister les connexions sans fil

Pour lister les réseaux sans fil ambiants, utilisez la commande suivante :

nmcli d wifi list

Se connecter au Wi-Fi avec nmcli

Avec le Wi-Fi activé et votre SSID identifié, vous êtes maintenant prêt à vous connecter.
Remplacez network-ssid par le nom de votre réseau. Si vous disposez d’une sécurité WEP ou WPA sur votre Wi-Fi, vous pouvez également spécifier le mot de passe du réseau dans la commande.

sudo nmcli dev wifi connect <SSID Wi-Fi> password "<Mot de passe Wi-Fi>"

Si vous ne souhaitez pas saisir le mot de passe dans la commande, utilisez l’option –ask pour que avoir un prompt où saisir le mot de passe.

sudo nmcli --ask dev wifi connect network-ssid

Le système vous demandera maintenant de saisir votre mot de passe réseau sans le rendre visible.

NetworkManager enregistre la connexion et se connectera automatiquement au redémarrage, vous n’aurez donc pas à vous soucier d’émettre la commande à chaque fois que vous démarrez votre machine Linux.

Lister les connexions Wi-Fi enregistrées

Vous pouvez afficher toutes les connexions enregistrées en exécutant la commande suivante :

nmcli con show

Si vous êtes connecté à un réseau, mais que vous souhaitez utiliser une autre connexion, vous pouvez vous déconnecter en éteignant la connexion. Vous devrez spécifier le SSID, ou si vous disposez de plusieurs connexions avec le même SSID, utilisez l’UUID.

nmcli con down ssid/uuid

Pour vous connecter à une autre connexion enregistrée, transmettez simplement l’option up dans la commande nmcli. Assurez-vous de spécifier le SSID ou l’UUID du nouveau réseau auquel vous souhaitez vous connecter.

nmcli con up ssid/uuid