Linux sans magie #62 — nmtui et les interfaces graphiques : administrer le même réseau autrement
Comprendre nmtui, nmcli et les interfaces graphiques de NetworkManager, retrouver les mêmes profils et éviter les coupures SSH lors des modifications.
Un administrateur voit « Production » dans nmcli connection show. Son collègue ouvre nmtui dans un terminal et y retrouve « Production ». Sur un poste de travail, le panneau Réseau affiche lui aussi cette connexion. Ont-ils créé trois configurations différentes ? Non : ces interfaces peuvent agir sur les mêmes profils NetworkManager. En revanche, elles ne montrent pas toujours les mêmes détails et leurs boutons peuvent déclencher des opérations différentes.
Après le #60 consacré aux profils et le #61 consacré à nmcli, voici l'autre façon d'aborder NetworkManager : une interface texte interactive ou un panneau graphique. Nous allons repérer leurs limites, apprendre à consulter sans modifier et surtout distinguer enregistrer un profil et activer une connexion.
Trois interfaces, un même gestionnaire
nmcli utilise des sous-commandes dans le shell. nmtui est une interface texte interactive, utilisable dans un terminal. Les paramètres réseau des bureaux GNOME, KDE Plasma et d'autres environnements peuvent, selon la distribution et leur intégration, dialoguer avec NetworkManager.
nmcli nmtui Panneau réseau graphique
| | |
'-----------------+-------------------------'
|
NetworkManager
| |
Profils enregistrés
|
Activations sur les périphériques
|
État courant du noyau
ip address / ip route
Une interface graphique ne devient pas un nouveau gestionnaire parce qu'elle possède ses propres menus. Les paramètres sont souvent exposés via les mêmes services NetworkManager. Il existe toutefois d'autres piles réseau : si le système utilise systemd-networkd ou ifupdown, ce raisonnement ne doit pas être appliqué automatiquement.
NetworkManager expose une interface D-Bus utilisée par ses clients. Le même profil peut donc être consulté depuis plusieurs outils, mais les opérations autorisées et les champs visibles varient.
À quoi sert nmtui ?
Le programme nmtui est une Text User Interface (TUI), basée sur une bibliothèque d'affichage en mode texte. Il n'exige pas de session graphique et constitue une alternative pratique quand on dispose d'une console locale ou d'un terminal.
Son menu principal propose généralement trois activités :
- Edit a connection : afficher, créer, modifier ou supprimer des profils.
- Activate a connection : activer ou désactiver une connexion.
- Set system hostname : modifier le nom d'hôte du système.
Ces activités ne sont pas équivalentes. L'éditeur porte sur des profils ; l'écran d'activation peut modifier immédiatement la connectivité. Le réglage du nom d'hôte touche une autre propriété du système.
La documentation officielle décrit aussi les entrées nmtui edit, nmtui connect et nmtui hostname, ainsi que les exécutables correspondants. Il n'existe pas de bouton universel « inspecter sans risque » : une validation dans l'éditeur peut enregistrer des changements.
Avant le lab : vérifier quel service gère l'interface
Notre laboratoire se limite aux consultations. Il ne nécessite ni droits administrateur ni modification de profil. Sur une machine autorisée :
command -v nmcli
command -v nmtui
nmcli general status
nmcli device status
nmcli connection show
nmcli connection show --active
Le programme nmtui peut manquer alors que nmcli est présent ; le packaging varie selon les distributions. N'installez pas et n'activez pas un gestionnaire réseau en parallèle pour les besoins de ce lab.
Si nmcli indique qu'une interface est unmanaged, n'en déduisez pas qu'elle est en panne. Un autre composant peut l'administrer. Ce chapitre concerne avant tout les interfaces effectivement gérées par NetworkManager.
Étape 1 — Observer un profil en ligne de commande
Imaginez un serveur dont la sortie de nmcli connection show ressemble à ceci :
NAME UUID TYPE DEVICE
Production 11111111-1111-4111-8111-111111111111 ethernet ens160
Maintenance 22222222-2222-4222-8222-222222222222 ethernet --
Les UUID sont fictifs. La connexion « Maintenance » n'est pas nécessairement défectueuse : elle est simplement inactive dans cette vue. Le champ DEVICE d'un profil ne permet pas, seul, de conclure qu'une carte physique supplémentaire existe.
Pour observer les valeurs courantes du noyau :
ip -br link
ip -br address
ip route show
Retenez déjà la séparation : profil enregistré, connexion active et état du noyau. Ce sont les mêmes trois couches décrites au #59.
Étape 2 — Parcourir nmtui sans enregistrer
Sur une console locale ou une VM de laboratoire, lancez :
nmtui
Dans son menu, naviguez avec les flèches, Tab ou Maj+Tab, validez une sélection avec Entrée et utilisez Espace pour une case à cocher. Les libellés exacts dépendent des traductions et de la version.
Choisissez Edit a connection, sélectionnez un profil déjà présent et regardez les champs disponibles : nom, interface cible éventuelle, IPv4, IPv6, routes ou paramètres spécifiques au type de connexion.
Ne modifiez aucun champ et ne validez pas d'enregistrement. Quittez l'écran avec la commande de retour ou d'annulation appropriée. Vérifiez ensuite que rien n'a changé avec nmcli connection show et ip -br address.
Ce lab est adapté à une console de VM ou à un poste de test. Sur un serveur exclusivement accessible en SSH, il est préférable de s'en tenir aux commandes de lecture tant qu'une procédure de récupération n'existe pas.
Étape 3 — Comparer les trois vues d'une même connexion
| Question | nmcli | nmtui | Panneau graphique |
|---|---|---|---|
| Quels profils existent ? | connection show | Liste de l'éditeur | Liste des connexions, selon l'environnement |
| Quel profil est actif ? | connection show --active | Écran d'activation | Connexion affichée comme active |
| Où voit-on IPv4 / DNS ? | Propriétés de profil et périphérique | Champs du profil | Section IPv4 ou réseau |
| Comment changer un profil ? | connection modify | Écran d'édition | Formulaire du panneau |
| Comment appliquer ? | Activation / réapplication selon le cas | Activation selon l'interface | Opération propre au panneau |
Ce tableau résume une logique commune, pas une équivalence de boutons. Les panneaux de bureau ne présentent pas forcément toutes les propriétés. Certaines fonctions réseau avancées exigent nmcli ou un autre outil ; nmtui n'expose pas toutes les capacités du gestionnaire.
Ne confondez pas non plus nmcli connection edit, l'éditeur interactif en ligne de commande, avec nmtui, qui fournit une interface en mode texte à menus.
Étape 4 — Comprendre « enregistrer » et « activer »
Une erreur fréquente consiste à modifier un profil en pensant que le périphérique utilise déjà les nouvelles valeurs.
Enregistrer le profil écrit des paramètres souhaités. Activer la connexion demande à NetworkManager de l'utiliser sur un périphérique. Selon la propriété changée et l'état du réseau, il peut falloir une réapplication ou une nouvelle activation. Cela peut affecter IP, routes, DNS et SSH.
Dans nmtui, l'entrée Activate a connection n'est pas une fonction purement informative : elle sert à activer ou désactiver. Sur une interface d'administration, ces opérations sont potentiellement disruptives.
La même prudence s'applique aux boutons d'un panneau graphique : « connecter », « déconnecter », « appliquer » ou « enregistrer » n'ont pas toujours la même portée. Il faut identifier la cible et la conséquence attendue avant de confirmer.
Serveur, Desktop et cloud : choisir l'outil pertinent
Sur un Desktop, un panneau graphique est souvent le chemin le plus rapide pour rejoindre un Wi-Fi ou consulter une connexion. Sur un serveur, nmcli offre des sorties exploitables en diagnostic et en automatisation ; nmtui aide à visualiser des profils depuis une console.
Un serveur RHEL ou apparenté peut utiliser NetworkManager sans interface graphique. Un poste Ubuntu peut utiliser Netplan avec NetworkManager comme moteur ; un serveur Ubuntu peut au contraire utiliser systemd-networkd. Une image cloud peut recevoir des profils générés par un outil de provisionnement.
| Contexte | Méthode de consultation à privilégier | Point de vigilance |
|---|---|---|
| Serveur distant en SSH | nmcli en lecture seule | Perte possible de l'accès lors d'une activation |
| VM avec console hyperviseur | nmcli puis nmtui | Vérifier le profil réellement utilisé |
| Desktop avec GUI | Panneau réseau et nmcli | Les champs peuvent être masqués ou simplifiés |
| Cloud avec configuration générée | Inventaire des profils et de leur origine | Un agent peut réécrire la configuration |
| Système sans NetworkManager | Identifier le gestionnaire effectif | nmtui n'est pas l'outil adapté |
Le nom de la distribution ne suffit pas à choisir le gestionnaire. Le diagnostic commence par les périphériques gérés et les profils actifs.
Petit défi : retrouver la même connexion sans rien changer
Sur un poste ou une VM autorisée, identifiez une connexion avec :
nmcli device status
nmcli connection show
nmcli connection show --active
ip -br address
Ouvrez ensuite nmtui dans un terminal local, choisissez l'éditeur et recherchez le même nom de profil. N'effectuez aucun changement.
Répondez aux questions suivantes : ce profil est-il actif ? Quel périphérique lui est associé ? Le panneau présente-t-il tous les champs consultables dans nmcli ? Une adresse affichée dans l'éditeur correspond-elle forcément à l'adresse actuellement attribuée par DHCP ?
Vérification : vous devez savoir désigner un profil identique à travers deux interfaces, et expliquer pourquoi le nom du profil et celui de la carte ne sont pas interchangeables.
Après avoir quitté nmtui, relancez nmcli connection show --active et ip -br address. Le lab ne modifie rien ; aucun rollback n'est donc requis.
Sécurité, limites et retour arrière
Les outils graphiques ne rendent pas une opération réseau intrinsèquement sûre. Désactiver la connexion qui porte SSH, changer sa route par défaut ou valider une adresse erronée peut rendre le serveur inaccessible. Un écran d'édition agréable ne remplace pas un plan de maintenance.
Avant toute modification réelle, relevez l'UUID du profil, sauvegardez les paramètres d'origine, identifiez le service ou générateur responsable du profil, prévoyez une console indépendante et documentez la vérification ainsi qu'un retour arrière testé. Les fonctions de checkpoint de NetworkManager peuvent aider dans certains scénarios, sans garantir à elles seules le rétablissement de tous les services.
N'affichez pas publiquement des profils complets ou des captures d'écran contenant des secrets Wi-Fi. Certaines fonctions d'édition de nmtui peuvent montrer des informations d'authentification ou un QR code Wi-Fi : ces données ne doivent pas être partagées.
Références officielles
- nmtui — manuel de référence NetworkManager
- nmcli — manuel de référence NetworkManager
- NetworkManager — démon et API D-Bus
- Red Hat RHEL 10 — utiliser nmtui avec les connexions Wi-Fi
- Paramètres des profils NetworkManager
Conclusion
nmcli, nmtui et les panneaux graphiques peuvent présenter les mêmes profils NetworkManager, mais avec des vues, des contrôles et des limites différents. La meilleure interface est celle qui permet d'identifier précisément le profil et l'opération à effectuer, pas nécessairement celle qui comporte le moins de clics.
Dans le #63, nous quitterons NetworkManager pour découvrir systemd-networkd et networkctl, une autre manière d'administrer le réseau — particulièrement fréquente côté serveur.
