GNU/Linux >> Tutoriels Linux >  >> Linux

Network Manager sur Linux avec des exemples

Si vous êtes un administrateur système expérimenté et que vous vous concentrez sur la gestion de réseau, vous avez probablement déjà entendu parler du Network Manager .

Sorti en 2004 et développé par Red Hat, le gestionnaire de réseau est un ensemble de différents outils, principalement des interfaces, conçus pour faciliter la gestion du réseau sur votre système.

Si vous souhaitez activer une carte réseau, vous utiliserez probablement le gestionnaire de réseau pour y parvenir.

De même, si vous souhaitez modifier une carte réseau existante afin de changer l'adresse IP qui lui est attribuée, vous utiliserez à nouveau le gestionnaire de réseau.

Dans ce tutoriel, nous allons vous décrire comment vous pouvez utiliser les différents outils de la suite Network Manager afin de gérer facilement vos réseaux.

Après avoir listé les outils embarqués dans la suite (nmcli, nmtui, nm-applet ), nous passerons en revue une liste de cas d'utilisation pratiques pour les administrateurs réseau.

Architecture du gestionnaire de réseau

Avant de plonger dans les capacités du gestionnaire de réseau, décrivons d'abord son architecture et comment il peut communiquer avec les modules liés au noyau.

API du gestionnaire de réseau

Le premier concept à comprendre est que le gestionnaire de réseau se présente comme une API permettant de configurer les interfaces réseau sur votre hôte.

Cependant, le gestionnaire de réseau ne fonctionne pas seul :il fait partie d'un processus de réception d'un message réseau sur un point de terminaison appelé socket réseau.

Une prise réseau est physiquement représentée par une carte réseau Ethernet connectée à un câble Ethernet afin de commencer à partager des données sur un réseau.

Lorsqu'un câble Ethernet est branché, il est d'abord reconnu par le module udev qui enverra un signal au gestionnaire de réseau afin de notifier qu'un nouveau câble a été branché.

De cette façon, le gestionnaire de réseau est capable de maintenir les connexions, mais il est également capable d'exposer la disponibilité du réseau à d'autres applications.

Si vous utilisez Firefox, et si Firefox a besoin de connaître l'état d'une connexion réseau, il peut interroger le gestionnaire de réseau via DBus afin d'obtenir cette information.

Network Manager est vraiment une API réseau qui offrira des détails sur les cartes réseau, les réseaux filaires ou sans fil disponibles.

Il fournira également un moyen simple de configurer vos cartes et interfaces réseau avec des fichiers de configuration dédiés.

Gestionnaire de réseau contre ifupdown

Historiquement, les systèmes d'exploitation Linux géraient les interfaces réseau d'une manière différente, principalement à l'aide de fichiers de configuration situés dans /etc/network.

Dans ce répertoire, un fichier peut être utilisé afin de configurer les interfaces réseaux :le fichier interfaces.

Cependant, sur les distributions récentes, le fichier "interfaces" utilisé par les utilitaires ifup et ifdown n'est pas utilisé.

Par défaut, Network Manager est celui qui gère vos interfaces réseau mais la façon dont le réseau est géré peut être modifiée dans le fichier de configuration de Network Manager.

Précisément, le paramètre "managed" dans la section "ifupdown" du fichier NetworkManager.conf décrit si Network Manager est utilisé sur votre système ou non.

Remarque  :"false" signifie que Network Manager gère vos connexions et vos périphériques, "true" signifie que vous préférez le faire à l'ancienne en utilisant ifup et ifdown.

À propos de systemd-networkd

Sur les systèmes plus récents, systemd est configuré pour gérer à peu près tout et le réseau ne fait pas exception à la règle.

Dans certains cas, votre système peut s'appuyer sur le démon systemd-network afin de gérer les interfaces.

Notez que, afin d'éviter les conflits de configuration liés aux réseaux, un seul service réseau doit être activé à la fois :que ce soit ifupdown, systemd-networkd ou Network Manager.

Si vous avez l'habitude de gérer vos réseaux à l'aide du fichier "interfaces", vous voudrez peut-être continuer à le faire, sinon il est recommandé de passer au gestionnaire de réseau.

Outils du gestionnaire de réseau

Maintenant que vous avez une meilleure compréhension du gestionnaire de réseau, commençons par énumérer les outils fournis dans cette suite.

Le gestionnaire de réseau fournit les outils suivants :

  • nmcli  :l'outil de ligne de commande dédié utilisé pour configurer, ajouter, modifier et supprimer des connexions à l'aide du gestionnaire de réseau ;
  • nmtui :une interface utilisateur graphique qui ne fournit qu'un sous-ensemble de fonctionnalités compatibles avec nmcli. En utilisant nmtui, vous pouvez modifier une connexion, activer une connexion ou changer le nom d'hôte de votre ordinateur ;
  • nm-applet  :disponible dans les environnements de bureau GNOME, cette applet est utilisée comme une superposition d'interface qui peut être utilisée pour se connecter ou se déconnecter des réseaux.

Notez que certaines distributions peuvent avoir des "raccourcis" Network Manager pour les outils décrits ci-dessus :nmtui-connect, nmtui-edit ou nmtui-hostname.

La plupart du temps, ces utilitaires sont en fait de simples liens symboliques vers l'utilitaire principal nmtui.

Dans les sections suivantes, nous allons voir comment vous pouvez utiliser les différents outils cités ci-dessus afin de configurer correctement vos réseaux.

Configuration réseau à l'aide de nmcli

Comme décrit dans la section précédente, nmcli est un utilitaire de ligne de commande qui peut être utilisé pour surveiller votre connectivité réseau , mais aussi pour ajouter, modifier, supprimer des connexions ainsi que pour avoir des informations détaillées sur les appareils de votre système.

Vous pouvez interagir avec nmcli en utilisant la syntaxe suivante

$ nmcli <options> <section> <action>

Le nmcli a un ensemble de huit sections :

  • aide :utilisé pour obtenir une aide générale sur l'utilisation de nmcli ;
  • général  :utilisé pour obtenir le statut et la configuration globale du gestionnaire de réseau lui-même ;
  • réseautage  :expose des méthodes permettant d'arrêter ou de réactiver le gestionnaire de réseau ;
  • radio :utilisé afin de gérer les protocoles de transmissions sans fil tels que le WIFI ou le WAN ;
  • connexion :comme son nom l'indique, cette section est utilisée afin d'activer et de désactiver des interfaces et d'ajouter et de supprimer des connexions existantes ;
  • appareil :principalement utilisé pour modifier des paramètres associés à un appareil donné (le nom de l'interface par exemple) ou pour connecter un appareil à l'aide d'une connexion existante ;
  • agent et moniteur  :ces sections sont utilisées respectivement pour gérer les secrets et pour surveiller les modifications du réseau.

Chaque section décrite comporte un ensemble d'actions prédéfinies que l'on peut trouver en lisant la documentation nmcli (afficher, ajouter, supprimer, modifier, charger, etc.)

Par exemple, si vous deviez répertorier toutes les connexions actuellement actives, vous exécuteriez "nmcli" avec la section "connexion" et l'action "afficher".

$ nmcli connection show

Dans ce cas, mon hôte dispose d'une connexion Ethernet filaire sur une carte réseau nommée "eth0".

Dans les sections suivantes, nous allons voir comment vous pouvez interagir avec les cartes réseau et les connexions afin de configurer correctement votre système.

Gestion des connexions

Lors de l'utilisation de Network Manager, une connexion peut être considérée comme une "configuration réseau “.

Par conséquent, une "connexion" possède toutes les informations relatives aux couches 2 (couche de liaison de données) et aux couches 3 (probablement liées à l'adressage IP).

Lorsqu'une connexion est utilisée par un appareil, à savoir une carte réseau sur votre hôte, elle est définie comme "active" ou "up".

D'autre part, une connexion peut être "inactive" et désormais utilisée par n'importe quelle interface réseau :dans ce cas, elle est définie sur "inactive" ou "down"

Le premier point clé ici est que chaque fois que nous configurons la mise en réseau sur un hôte Linux, nous configurons essentiellement des connexions, qui seront liées aux appareils plus tard.

Liste des connexions réseau

Afin de répertorier les connexions réseau disponibles sur votre hébergeur, vous pouvez exécuter l'action "afficher" de la section "connexion".

$ nmcli connection show

En option, vous pouvez fournir l'indicateur "–active" afin de restreindre le résultat aux connexions actives (c'est-à-dire utilisées par les adaptateurs réseau)

nmcli connection show --active

Ajout de connexions réseau

Dans certains cas, il peut être utile de configurer plusieurs connexions.

Supposons que vous travaillez à deux endroits différents :un qui utilise DHCP pour attribuer votre adresse IP (adressage IP dynamique) et un qui attribue une adresse IP statique à votre ordinateur.

Pour ce faire, vous pouvez créer des connexions réseau supplémentaires qui peuvent être activées en fonction de votre emplacement.

Pour ajouter de nouvelles connexions réseau à l'aide de Network Manager, vous pouvez :

  • Ajoutez votre fichier de configuration aux connexions système répertoire situé dans /etc/NetworkManager ;
  • Ajouter la "connexion nmcli ” avec l'option “ajouter” ;
  • Utilisez nm-connection-editor utilitaire qui fournit une interface graphique afin d'ajouter, de modifier et de supprimer des connexions existantes.

À l'aide de la ligne de commande nmcli, vous pouvez créer une nouvelle connexion en exécutant la commande suivante

$ sudo nmcli connection add type ethernet ifname eth2

En utilisant nmcli, une nouvelle connexion UUID sera attribuée à votre connexion nouvellement créée et vous pourrez commencer à l'utiliser pour vous connecter à Internet par exemple.

Modification des paramètres de connexion

Une grande fonctionnalité de l'utilitaire nmcli est de modifier les paramètres de vos connexions existantes .

Si vous souhaitez modifier votre adresse IP et passer de DHCP à un adressage IP manuel, vous devez également utiliser l'utilitaire nmcli pour modifier ces paramètres.

Afin de modifier les paramètres de connexion existants , vous utiliseriez la syntaxe suivante

$ nmcli connection modify <connection_id> <parameter> <value>

Par exemple, supposons que vous souhaitiez que votre adresse IP soit statique et définie sur la valeur "192.168.1.19"

Pour y parvenir, vous exécuteriez la commande suivante

$ nmcli connection modify <uuid> ipv4.method manual

$ nmcli connection modify <uuid> ipv4.address 192.168.1.19/24

Remarque :lors du changement d'adresse IP, n'oubliez pas de définir le masque de sous-réseau (ici /24), sinon vous risquez d'obtenir un masque par défaut qui sera erroné dans la plupart des cas.

Pour que vos modifications soient effectives, vous devez redémarrer votre connexion en utilisant les actions "monter" et "descendre" de la section "connexion".

$ nmcli connection down <uuid>

$ nmcli connection up <uuid>

Maintenant que vos interfaces sont redémarrées, votre changement d'IP devrait être effectif.

$ hostname -I

192.168.1.19

Gestion des appareils

"Appareil " est l'une des sections de l'utilitaire nmcli et peut être utilisée pour gérer les adaptateurs réseau sur votre hôte.

Répertorier les adaptateurs réseau

Afin d'avoir une liste de l'adaptateur réseau sur votre hôte, vous pouvez exécuter l'action "afficher" dans la section "appareil".

$ nmcli device show

Cette commande décrit en détail votre carte réseau, elle liste :

  • Le nom de l'appareil  :attribué par udev lorsque l'appareil a été connecté à votre ordinateur (eth0 dans ce cas) ;
  • L'adresse MAC de votre appareil , appelée ici l'adresse matérielle ;
  • L'état de l'appareil :s'il est connecté au réseau ou non ;
  • L'adresse IPv4 en utilisant une notation CIDR (192.168.1.16/24)
  • L'IPv4 de votre passerelle de sous-réseau (192.168.1.1);
  • L'IPv4 de votre DNS principal (192.168.1.1)

Remarque :ici, la passerelle agit comme le DNS principal mais vous avez peut-être des serveurs de noms dédiés dans votre entreprise.

Ces caractéristiques sont très utiles si vous souhaitez répertorier les cartes réseau disponibles sur votre hébergeur et déterminer si elles sont connectées ou non.

Modification de la configuration de l'appareil

Dans certains cas, il peut être utile de modifier directement la configuration de l'appareil.

Cependant, il y a un point crucial que vous devez retenir :vous pouvez changer votre appareil en direct, mais si vous voulez que vos changements soient persistants, vous devez plutôt modifier votre configuration de connexion.

En bref, les modifications de configuration de l'appareil sont temporaires.

Pour modifier la configuration de votre appareil, vous devez exécuter la commande "nmcli device" avec l'option "modify" et spécifier le paramètre à modifier.

$ nmcli device modify <interface_name> <parameter> <value>

$ nmcli dev mod <interface_name> <parameter> <value>

Par exemple, disons que vous voulez changer l'adresse IP de votre interface réseau « eth0 ». Vous souhaitez également que l'attribution IP soit statique plutôt que dynamique.

Pour y parvenir, vous devez exécuter la commande suivante

$ nmcli device modify eth0 ipv4.method manual

Connection successfully reapplied to 'eth0'

$ nmcli dev mod eth0 ipv4.address 192.168.1.19/24

Connection successfully reapplied to 'eth0'

Réappliquer les paramètres

Juste pour montrer que les changements sont temporaires , si vous deviez "réappliquer" des paramètres à votre interface, toutes vos modifications seraient perdues.

Au lieu de cela, les paramètres définis dans votre fichier de configuration de connexion (dans /etc/NetworkManager/system-connections) seraient réappliqués.

$ nmcli dev reapply eth0

Connection successfully reapplied to 'eth0'

La réinspection de l'adresse IP vous donnerait une autre adresse IP que celle que vous avez attribuée de manière statique dans la section précédente.

$ hostname -I

192.168.1.18/24

Outils graphiques du gestionnaire de réseau

Dans cette section, nous allons nous intéresser aux outils graphiques inclus dans la suite Network Manager :nmtui et nm-applet.

Utilitaire Nmtui

Le nmtui est, comme son nom l'indique, une interface utilisateur textuelle conçue pour faciliter les opérations réseau avec une interface utilisateur facile à utiliser.

Pour démarrer avec nmtui, exécutez simplement "nmtui" dans un shell de terminal.

$ nmtui

Dans ce menu graphique, vous avez trois options :

  • Modifier une connexion :où vous pouvez sélectionner les interfaces réseau et modifier les paramètres qui leur sont affectés (tels que le DNS, l'adresse IP ou l'adresse de la passerelle);
  • Activer une connexion :mais aussi désactiver les connexions existantes. Pour rappel, les connexions ne sont actives ou activées que lorsqu'elles sont attribuées à un appareil spécifique ;
  • Définir le nom d'hôte du système :comme le "hostnamectl" ou le "hostname", vous pouvez définir le nom du PC sur un réseau.

La navigation dans l'outil nmtui est assez simple :vous pouvez utiliser les touches du clavier pour naviguer, la touche "Entrée" pour confirmer votre sélection et la touche "Echap" pour annuler et revenir à l'écran précédent.

Applet Nm sur GNOME

La dernière application liée au gestionnaire de réseau est nm-applet :une applet graphique disponible pour les interfaces utilisateur GNOME.

L'outil nm-applet est une interface utilisateur superposée disponible dans le coin supérieur droit du menu de votre bureau.

À l'aide de l'applet nm, vous pouvez :voir les connexions existantes, les ajouter, les modifier et les supprimer à volonté.

Vous pouvez voir des informations détaillées sur les paramètres de vos connexions filaires et les modifier afin de changer votre adresse IP ou changer la méthode d'attribution IP (de DHCP à manuel par exemple)

Conclusion

Dans ce didacticiel, vous avez découvert le gestionnaire de réseau :un outil sur les distributions modernes qui est utilisé pour créer, modifier et gérer les connexions réseau.

Vous avez découvert les outils associés au Network Manager (à savoir nmcli, nmtui et nm-applet ) et vous avez appris comment utiliser ces outils pour modifier vos connexions existantes.

Si vous êtes intéressé par la mise en réseau ou l'administration système Linux, nous avons une section complète qui lui est dédiée sur le site Web, alors assurez-vous de la consulter !


Linux
  1. Commande Linux wc avec exemples

  2. Commande de tri Linux avec exemples

  3. Commande Linux Tee avec exemples

  4. Commande principale Linux avec exemples

  5. Commande JQ sous Linux avec exemples

Commande de CD Linux avec exemples

Commande Linux watch avec exemples

Commande Wait sous Linux avec des exemples

Commande d'exportation Linux avec exemples

Commande de redémarrage sous Linux avec des exemples

Commande IP Linux avec exemples