Comment gérer les connexions réseau Linux à partir de la ligne de commande - CloudSavvy IT
Agence web » Actualités du digital » Comment gérer les connexions réseau Linux à partir de la ligne de commande –

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

Le nmcli La commande 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.

Le nmcli La commande n’est pas nouvelle, elle a été publiée en 2010. Avec la commande ip, elle remplace le 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, finalement, 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.

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

Mais notez que vous n’avez pas toujours besoin des trois jeux de paramètres pour chaque commande. Le nmcli les rubriques sont :

  • Aider: Fournit de courts textes d’aide sur le ncmcli commandes
  • Général: Récupère l’état et la configuration de NetworkManager
  • La mise en 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 les connexions existantes
  • Dispositif: Modifie les paramètres du périphérique réseau et connecte ou déconnecte un périphérique d’une connexion existante
  • Secret: Registres nmcli en tant qu’agent secret NetworkManager. Parce que nmcli le fait automatiquement, c’est très rarement utilisé.

Premiers pas avec nmcli

Assurons-nous que NetworkManager est installé, en cours d’exécution et que nous pouvons nous y connecter avec nmcli. Nous utiliserons le status action de la general section.

nmcli general status

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. Découvrons un peu plus cet ordinateur.

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

nmcli connection show

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

NAME               UUID                                 TYPE     DEVICE 
Wired connection 1 d2864443-9cee-31ec-ab2e-55e9ebddd53e ethernet enp0s3 
ethernet-enp0s8    9aad8efa-3427-4a5c-bef5-270340cd33d0 ethernet enp0s8 
ethernet-enp0s9    5bc49cef-bc3d-4832-9073-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. Intérieurement, nmcli contient toutes les informations concernant une connexion réseau dans un objet de données qu’il appelle une connexion.

Une nmcli La connexion encapsule toutes les informations relatives à cette connexion, y compris les informations sur la couche liaison de données et les informations d’adressage IP. Vous pouvez penser à nmclicomme les détails de configuration pour les connexions réseau du monde réel.

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 alors up. L’état inactif correspondant est appelé, sans surprise, inactive ou alors down.

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 le add action de la connection section. Nous avons utilisé le type possibilité de demander une connexion Ethernet, et le ifname (nom de l’interface) pour spécifier le périphérique d’interface réseau que nous voulons que cette connexion utilise.

Vérifions ce qui s’est passé :

nmcli connection show

NAME               UUID                                 TYPE     DEVICE 
Wired connection 1 d2864443-9cee-31ec-ab2e-55e9ebddd53e ethernet enp0s3 
ethernet-enp0s8    9aad8efa-3427-4a5c-bef5-270340cd33d0 ethernet enp0s8 
ethernet-enp0s9    5bc49cef-bc3d-4832-9073-460b408932b6 ethernet enp0s9 
ethernet-enp0s8-1  b874aa09-3a25-4f52-b20b-1b95d9741be9 ethernet --

Notre nouvelle connexion, ethernet-enp0s8-1 , a été créé. Son identifiant universel unique (UUID) a été attribué et le type de connexion est Ethernet. Nous pouvons maintenant le rendre actif avec le up commander. Le up La commande 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     DEVICE 
Wired connection 1 d2864443-9cee-31ec-ab2e-55e9ebddd53e ethernet enp0s3 
ethernet-enp0s8-1  b874aa09-3a25-4f52-b20b-1b95d9741be9 ethernet enp0s8 
ethernet-enp0s9    5bc49cef-bc3d-4832-9073-460b408932b6 ethernet enp0s9

Notre nouvelle connexion, ethernet-enp0s8-1, est maintenant actif et lié au enp0s8 périphérique d’interface réseau.

Ajustement des 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 :

nmcli connection modify ethernet-enp0s8-1 ipv4.address 192.168.1.40/24
nmcli connection modify ethernet-enp0s8-1 ipv4.method manual

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 que lorsque la connexion sera « rebondie ». C’est-à-dire désactivé et remis en ligne. La première commande coupe 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 le auto option au lieu de manual.

nmcli connection modify ethernet-enp0s8-1 ipv4.method auto

Gestion d’appareils

Le nmcli device 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 le show action de la device section. 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 et faire défiler vers le haut et vers le bas pour les consulter.

Jetons un coup d’oeil à 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 (connected)
GENERAL.CONNECTION:       ethernet-enp0s8-1
GENERAL.CON-PATH:         /org/freedesktop/NetworkManager/ActiveConnection/8
WIRED-PROPERTIES.CARRIER: on
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 :

  • DISPOSITIF: Le nom de l’appareil que nous examinons.
  • TAPER: Le type de connexion utilisant cet appareil.
  • HWADDR: L’adresse MAC de la carte d’interface.
  • ETAT: si cet appareil dispose d’une connexion en direct.
  • IP4.ADRESSE[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 est un outil en ligne de commande, il possède un éditeur interactif élémentaire. L’action d’édition dans la section connexion ouvre l’éditeur interactif sur la connexion que vous passez en ligne de commande :

nmcli connection edit ethernet-enp0s8-1

Un texte d’aide est affiché à l’écran et l’invite de commande « nmcli> » s’affiche.

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 à nouveau notre connexion en utilisant DHCP. Nous utiliserons les paramètres « ipv4 ». Pour ce faire, nous devons « aller » dans les paramètres IPv4.

goto ipv4

La propriété que nous voulons changer est method. Nous voulons le mettre en automatique.

set method auto

L’invite suivante s’affiche :

Do you also want to clear 'ipv4.addresses'? [yes]:

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 :

save

Tapez « quit » pour quitter l’éditeur interactif. Si vous ne voulez pas quitter, tapez « back » pour revenir au niveau principal et continuez à utiliser l’éditeur.

Il y a beaucoup plus dans l’homme

Le nmcli commande peut faire beaucoup 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. Examinez-les pour voir quoi d’autre nmcli peut faire 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.