Comment gérer les connexions réseau Linux à partir de la ligne de commande

0
259
Roman Samborskyi/Shutterstock.com

Le La commande nmcli vous permet d'exploiter la puissance de Linux NetworkManager directement à partir de la ligne de commande, ce qui le rend parfait pour les serveurs sans environnement de bureau et sans administration de shell SSH à distance.

La Commande nmcli

La commande nmcli n'est pas nouvelle, elle a été publiée en 2010. Avec la commande ip, elle remplace la vénérable—mais obsolète— ifconfig. Les vieilles habitudes ont la vie dure et de nombreux administrateurs système utilisent encore ifconfig. Ils savent déjà comment l'utiliser, il n'y a pas de courbe d'apprentissage et ils ont juste besoin de faire le travail. Alors pourquoi apprendre un autre outil ?

Eh bien, à terme, ifconfig sera abandonné par les distributions, donc c'est un changement qui arrive, qu'on le veuille ou non. Mais nmcli a ses propres astuces intéressantes qui valent la peine de découvrir ce qu'il peut offrir.

Les concepts et la syntaxe ncmli

Comme toutes les commandes CLI, nmcli accepte les paramètres de ligne de commande. Les paramètres sont regroupés en trois catégories.

  • Options : elles modifient le comportement de nmcli‘s
  • Sections : Ceux-ci indiquent à nmcli quel ensemble d'actions vous appelez. Considérez les sections comme des ensembles de commandes.
  • Actions : elles indiquent à nmcli ce que vous voulez qu'il fasse. Considérez-les comme des commandes.

Le format de syntaxe générale est :

nmcli <options> <sections> <action> Mais notez que vous n'avez pas toujours besoin des trois jeux de paramètres pour chaque commande. Les sections nmcli sont :

  • Aide : fournit de courts textes d'aide sur les commandes ncmcli
  • Général : récupère le état et configuration de NetworkManager
  • Réseau : interroge, active ou désactive les connexions réseau
  • Radio : interroge, active ou désactive les connexions réseau Wi-Fi
  • Surveiller : surveille NetworkManager et les changements d'état des connexions réseau
  • Connexion : manipule directement les interfaces réseau, notamment en les activant et en les désactivant, en ajoutant de nouvelles connexions et en supprimant des connexions existantes
  • Appareil : Modifie les paramètres d'un appareil réseau et connecte ou déconnecte un appareil d'un connexion
  • Secret : enregistre nmcli en tant qu'agent secret NetworkManager. Comme nmcli le fait automatiquement, cela est très rarement utilisé.

Premiers pas avec nmcli

Let’s assurez-vous que NetworkManager est installé, en cours d'exécution et que nous pouvons nous y connecter avec nmcli. Nous utiliserons l'action d'état de la section générale.

nmcli état général

Publicité

En fait, status est l'action par défaut pour general, nous aurions donc pu laisser ce mot hors de la commande. Mais nous avons vérifié que nmcli —et donc NetworkManager—est installé et opérationnel. Apprenons-en un peu plus sur cet ordinateur.

Nous pouvons répertorier tous les profils de connexion réseau en mémoire et sur disque en utilisant l'action Afficher de la section connexion :

affichage de la connexion nmcli

La sortie est plus large que la fenêtre du terminal. Nos résultats ont été :

NOM UUID TYPE DEVICE Connexion filaire 1 d2864443-9cee-31ec-ab2e-55e9ebddd53e ethernet enp0s3 ethernet-enp0s8 9aad8efa-3427-4a5c-bef5-270340cdbcd3bcd0 ethernet-net-enp3enp0s8 ethernet-enp0s890 -460b408932b6 ethernet enp0s9

La machine de test utilisée pour cet article exécute une version de pré-lancement d'Ubuntu 21.10. Il contient trois adaptateurs réseau, nommés enp0s3, enp0s8 et enp0s9.

Comprendre la plomberie

Une connexion réseau permet à votre ordinateur de communiquer via un réseau avec un autre appareil. En interne, nmcli contient toutes les informations concernant une connexion réseau dans un objet de données qu'il appelle une connexion.

Une connexion nmcli encapsule toutes les informations relatives à cette connexion, y compris la couche de liaison de données et les informations d'adressage IP. Vous pouvez considérer les connexions nmcli comme les détails de configuration des connexions réseau réelles.

Pour atteindre le monde extérieur, une connexion doit utiliser un périphérique d'interface réseau, tel qu'une carte réseau. Une connexion est liée à un périphérique. Lorsqu'un appareil est actif et capable de recevoir ou de transmettre des données, la connexion est dite active ou établie. L'état inactif correspondant est appelé, sans surprise, inactif ou inactif.

Ajout de connexions réseau

Avec nmcli, vous pouvez créer une connexion réseau et définir certaines de ses options de configuration avec une seule commande. Sur cet ordinateur de test, il n'y a pas de connexion sur enp0s8 , le nom de notre connexion filaire (Ethernet) numéro 2. Nous allons ajouter une connexion à enp0s8. Étant donné que nous apportons des modifications au système, vous devrez utiliser sudo :

sudo nmcli connection add type ethernet ifname enp0s8

Cette commande utilise l'action d'ajout de la section de connexion. Nous avons utilisé l'option type pour demander une connexion Ethernet, et l'option ifname (nom de l'interface) pour spécifier le périphérique d'interface réseau que nous voulons que cette connexion utilise.

Vérifiez ce qui se passe. s'est produit :

nmcli connection show Advertisement

NOM UUID TYPE PÉRIPHÉRIQUE Connexion filaire 1 d2864443-9cee-31ec-ab2e-55e9ebddd53e ethernet enp0s3 ethernet-enp0s8 9aad8efa-3427-4a5c-bef5-270340cd33d0 ethernet enp0s8 ethernet-enp0s89aad8efa-3427-4a5c-bef5-270340cd33d0 ethernet enp0s8 ethernet-bc73-enp0s0s9 1 b874aa09-3a25-4f52-b20b-1b95d9741be9 ethernet —

Notre nouvelle connexion, ethernet-enp0s8-1 , a été créée. Son identifiant universel unique (UUID) a été attribué et le type de connexion est Ethernet. Nous pouvons maintenant le rendre actif avec la commande up. La commande up doit être suivie du nom de la connexion ou de son UUID :

nmcli connection up ethernet-enp0s8-1

Vérifions à nouveau nos connexions actives :

nmcli connection show –active

NAME UUID TYPE PÉRIPHÉRIQUE Connexion filaire 1 d2864443-9cee-31ec-ab2e-55e9ebddd53e ethernet enp0s3 ethernet-enp0s8-1 b874aa09-3a25-4f52-b20b-1b95d9741be9 ethernet enp0s8 ethernet-enp0s9 5bc49bcef-3260 ethernet la connexion, ethernet-enp0s8-1, est maintenant active et liée au périphérique d'interface réseau enp0s8.

Ajuster les connexions

Bien sûr, ncmli vous permet également de modifier les paramètres des connexions existantes. Supposons que nous voulions basculer une interface réseau du protocole DHCP (Dynamic Host Configuration Protocol) à l'utilisation d'une adresse IP statique. Pour correspondre à notre réseau, nous avons besoin d'une adresse IP fixe de 192.168.1.40 pour notre nouvelle connexion.

Pour y parvenir, vous devez émettre deux commandes. Un pour définir l'adresse IP et un pour définir la méthode de connexion pour obtenir une adresse IP sur manuel :

connexion nmcli modifier ethernet-enp0s8-1 ipv4.address 192.168.1.40/24 connexion nmcli modifier ethernet-enp0s8-1 manuel ipv4.method

Publicité

Le “/24” que nous fournissons avec l'adresse IP est le masque de sous-réseau dans le routage inter-domaines sans classe (CIDR). Dans ce contexte “/24” signifie “255.255.255.0.”

Les modifications ne prendront effet qu'une fois la connexion renvoyée. C'est-à-dire désactivé et remis en ligne. La première commande supprime la connexion et la seconde la rétablit.

nmcli connection down ethernet-enp0s8-1 nmcli connection up ethernet-enp0s8-1

Si vous souhaitez annuler la modification et passer d'une adresse IP statique à une adresse IP DHCP, utilisez l'option auto au lieu de manuel.

la connexion nmcli modifie ethernet- enp0s8-1 ipv4.method auto

Gestion des périphériques

La section périphérique nmcli contient des actions (commandes) qui vous permettent de gérer les interfaces réseau installées sur votre ordinateur. Pour voir l'état de toutes les interfaces réseau sur votre ordinateur, utilisez :

nmcli device status

Affichage des détails de l'appareil

Pour examiner les détails d'une interface réseau, nous utilisons l'action show de la section device. Si vous ne fournissez pas de nom d'appareil, les détails de tous les appareils sont récupérés et affichés. Vous pouvez faire défiler la page vers le haut et vers le bas pour les consulter.

Regardons enp0s8, l'appareil utilisé par notre nouvelle connexion. Nous pouvons vérifier que l'adresse IP utilisée est l'adresse que nous avons précédemment demandée.

nmcli device show enp0s8

GENERAL.DEVICE : enp0s8 GENERAL.TYPE : ethernet GENERAL.HWADDR : 08:00:27:79:A7:68 GENERAL.MTU : 1500 GENERAL.STATE : 100 (connecté) GENERAL.CONNECTION : ethernet-enp0s8-1 GENERAL.CON -CHEMIN : /org/freedesktop/NetworkManager/ActiveConnection/8 WIRED-PROPERTIES.CARRIER : sur IP4.ADDRESS[1] : 192.168.1.40/24 IP4.GATEWAY : — IP4.ROUTE[1] : dst = 192.168.1.0 /24, nh = 0.0.0.0, mt = 102 IP6.ADDRESS[1]: fe80::3241:457d:cd1c:2436/64 IP6.GATEWAY: — IP6.ROUTE[1]: dst = fe80::/64, nh = ::, mt = 102

Un écran d'informations est renvoyé par nmcli . Certains des éléments couramment utiles sont :

  • APPAREIL : le nom de l'appareil que nous examinons.
  • TYPE : le type de connexion utilisant cet appareil.
  • < strong>HWADDR : l'adresse MAC de la carte d'interface.
  • STATE : si cet appareil dispose d'une connexion en direct.
  • < strong>IP4.ADDRESS[1] : l'adresse IP et le masque de sous-réseau de cet appareil.
  • CONNEXION : le nom de la connexion utilisant cet appareil.

L'éditeur interactif nmcli

Bien que nmcli soit un outil en ligne de commande, il possède un éditeur interactif élémentaire. L'action d'édition dans la section de connexion ouvre l'éditeur interactif sur la connexion que vous transmettez sur la ligne de commande :

nmcli connection edit ethernet-enp0s8-1

Publicité

Un texte d'aide s'affiche à l'écran et l'icône “nmcli>” invite de commande.

si vous tapez print et appuyez sur “Entrée”, nmcli répertorie toutes les propriétés associées à la connexion. Il y en a beaucoup. Vous pouvez les faire défiler pour les consulter.

print

Modifions notre connexion retour à l'utilisation de DHCP. Nous utiliserons le “ipv4” Les paramètres. Pour ce faire, nous devons “aller” aux paramètres IPv4.

allez à ipv4

La propriété que nous souhaitons modifier est la méthode. Nous voulons le définir sur automatique.

set method auto

Vous verrez le invite suivante :

Voulez-vous également effacer 'ipv4.addresses' ? [oui] : Publicité

Si vous n'effacez pas l'adresse IP, la prochaine fois que vous définirez cette connexion pour utiliser une adresse IP statique, elle utilisera celle qui a été définie précédemment. Si vous l'effacez, vous devrez définir une nouvelle adresse IP si jamais vous modifiez cette connexion en utilisant une adresse IP statique. Tapez “oui” ou appuyez simplement sur “Entrée” pour l'effacer. Tapez “non” et appuyez sur “Entrée” pour le conserver.

Nous devons enregistrer nos modifications :

enregistrer

Tapez “quitter” pour quitter l'éditeur interactif. Si vous ne voulez pas quitter, tapez “back” pour revenir au niveau principal et continuer à utiliser l'éditeur.

Il y a beaucoup plus dans l'homme

La commande nmcli peut faire bien plus. Il a un grand nombre de paramètres et d'options de ligne de commande. Tellement en fait, que sa page de manuel s'étend sur plus de 1200 lignes. Consultez-les pour voir ce que nmcli peut faire d'autre pour vous.

Et bien sûr, si vous administrez à distance des connexions réseau, ne désactivez pas la connexion sur laquelle vous vous êtes connecté. . Ce n'est jamais amusant.