nmcli signifie Network Manager Command Line Interface, c'est le client en ligne de commande qui permet de dialoguer avec le service (daemon) NetworkManager pour gérer le paramétrage des interfaces réseaux de l'hôte.
Pour vérifier l'état du service :
systemclt status NetworkManager
nmcli fonctionne en espace utilisateur, il est particulièrement utile sur des postes nomades amenés à changer régulièrement de réseaux.
Avec nmcli, l'utilisateur peut définir des “profils de connexion” qu'il peut ensuite associer aux périphériques réseaux.
Afficher les périphériques réseaux et leur statut
nmcli device status
Afficher les profils de connexion existants :
nmcli connection show
Les modifications des profils peuvent être faites en immédiat via les paramètres de la ligne de commande ou en utilisant le mode interactif :
# Modification directe d'un paramètre du profil "home" nmcli connection modify home ipv4.ignore-auto-routes no # Modification en immédiat de plusieurs paramètres nmcli connection modify home ipv4.ignore-auto-dns no ipv4.dns-search "home.internal"
# Modification interactive du profil "home" nmcli connection edit home
help) afficher les descriptions des propriétés (describe), leurs valeurs (print) et les modifier avec la syntaxe conf.propertie value. On sauvegardera enfin les modification apportées (save)
Si le profil modifié était en cours d'utilisation, recharger le profil pour que les modifications apportées soient prises en compte :
# Recharge le profil "home-wifi" sur le périphérique réseau "wlp0s20f3"
nmcli connection up home-wifi ifname wlp0s20f3
La commande ci dessous renomme le profil “home” en “home-wifi” :
nmcli connection modify id home con-name home-wifi # Equivalent nmcli connection modify id home connection.id home-wifi
On peut vouloir compléter la liste des serveurs DNS fournie par le DHCP par exemple :
# Ajoute les DNS Google et Cloudflare au profil "home" nmcli connection modify home +ipv4.dns "8.8.8.8 1.1.1.1"
Si on souhaite définir/remplacer les serveur DNS du profil “home”:
nmcli connection modify home ipv4.ignore-auto-dns yes nmcli connection modify home-wifi ipv4.dns "8.8.8.8 1.1.1.1"
Pour définir des routes statiques sur le profil “home” :
# Atteindre le réseau 192.168.10.0/24 via la passerelle 10.10.10.1 nmcli connection modify home +ipv4.routes "192.168.10.0/24 10.10.10.1"
Vérifier l'état de l'interface matérielle :
nmcli radio wifi
Pour activer l'interface matérielle Wifi
# Activer l'interface wifi nmcli radio wifi on # Désactiver l'interface wifi nmcli radio wifi off
nmcli device wifi rescan nmcli device wifi list # Equivalent nmcli device wifi list --rescan yes # N'afficher que les SSID nmcli --fields SSID device wifi
nmcli --ask dev wifi connect aNetworkSSID
Pour vérifier l'état des interfaces et leur connexion associée :
nmcli device status
# équivalent
nmcli device
Déconnecter l'interface nommée wifi0 :
nmcli device down wifi0