Netzwerkverbindungen verwalten in Linux Verwendung des nmcli-Konsolenprogramms

Nutzen Sie alle Funktionen des NetworkManager-Befehlszeilentools zur Netzwerkverbindungsverwaltung. Linux unter Verwendung des nmcli-Dienstprogramms.

Netzwerkverbindungen verwalten in Linux Verwendung des nmcli-Konsolenprogramms

Dienstprogramm nmcli ruft die API direkt auf, um auf NetworkManager-Funktionen zuzugreifen.

Es erschien im Jahr 2010 und ist fĂŒr viele Menschen zu einer alternativen Möglichkeit geworden, Netzwerkschnittstellen und -verbindungen zu konfigurieren. Obwohl manche Leute es immer noch benutzen ifconfig. Da nmcli ein Befehlszeilenschnittstellentool (CLI) ist, das fĂŒr die Verwendung in Terminalfenstern und Skripten entwickelt wurde, ist es ideal fĂŒr Systemadministratoren, die ohne GUI arbeiten.

ncmli-Befehlssyntax

Im Allgemeinen sieht die Syntax folgendermaßen aus:

$ nmcli <options> <section> <action>

  • Optionen — das sind die Parameter, die die Feinheiten des nmcli-Betriebs bestimmen,
  • Abschnitt (Abschnitt) - bestimmt, welche Dienstprogrammfunktionen verwendet werden sollen,
  • Aktion (Aktion) – ermöglicht Ihnen anzugeben, was tatsĂ€chlich getan werden muss.

Es gibt insgesamt 8 Abschnitte, von denen jeder mit einem bestimmten Satz von Befehlen (Aktionen) verknĂŒpft ist:

  • Hilfe Bietet Hilfe zu ncmcli-Befehlen und ihrer Verwendung.
  • Allgemein Gibt den NetworkManager-Status und die globale Konfiguration zurĂŒck.
  • Netzwerken EnthĂ€lt Befehle zum Abfragen des Netzwerkverbindungsstatus und zum Aktivieren/Deaktivieren von Verbindungen.
  • Radio EnthĂ€lt Befehle zum Abfragen des WLAN-Netzwerkverbindungsstatus und zum Aktivieren/Deaktivieren von Verbindungen.
  • Überwachen enthĂ€lt Befehle zum Überwachen der NetworkManager-AktivitĂ€t und zum Beobachten von Änderungen im Status von Netzwerkverbindungen.
  • Verbindungen schaffen enthĂ€lt Befehle zum Verwalten von Netzwerkschnittstellen, zum HinzufĂŒgen neuer Verbindungen und zum Entfernen vorhandener Verbindungen.
  • GerĂ€t Wird hauptsĂ€chlich verwendet, um gerĂ€tebezogene Parameter (wie etwa den Schnittstellennamen) zu Ă€ndern oder GerĂ€te ĂŒber eine vorhandene Verbindung zu verbinden.
  • Die Geheime Registriert nmcli als „geheimen Agenten“ von NetworkManager, der auf geheime Nachrichten wartet. Dieser Abschnitt wird selten verwendet, da nmcli beim Herstellen einer Verbindung zu Netzwerken standardmĂ€ĂŸig auf diese Weise funktioniert.

Einfache Beispiele

Stellen Sie vor dem Beginn sicher, dass NetworkManager ausgefĂŒhrt wird und nmcli mit ihm kommunizieren kann:

$ nmcli general
STATE      CONNECTIVITY  WIFI-HW  WIFI     WWAN-HW  WWAN    
connected  full          enabled  enabled  enabled  enabled

Oft beginnt die Arbeit mit der Anzeige aller Netzwerkverbindungsprofile:

$ nmcli connection show
NAME                UUID                                  TYPE      DEVICE
Wired connection 1  ac3241e4-b424-35d6-aaa7-07498561688d  ethernet  enp0s3
Wired connection 2  2279d917-fa02-390c-8603-3083ec5a1d3e  ethernet  enp0s8
Wired connection 3  52d89737-de92-35ec-b082-8cf2e5ac36e6  ethernet  enp0s9

Dieser Befehl verwendet Aktion fĂŒr den Abschnitt „Verbindung“ anzeigen.

Es dreht sich auf der Testmaschine. Ubuntu 04/20 In diesem Fall fanden wir drei drahtgebundene Verbindungen: enp0s3, enp0s8 und enp0s9.

Verbindungen verwalten

Es ist wichtig zu verstehen, dass wir in nmcli mit dem Begriff „Verbindung“ eine EntitĂ€t meinen, die alle Informationen zur Verbindung enthĂ€lt. Mit anderen Worten, es handelt sich um eine Netzwerkkonfiguration. Die Verbindung kapselt alle verbindungsbezogenen Informationen, einschließlich Verbindungsschicht- und IP-Adressinformationen. Dies sind Schicht 2 und Schicht 3 im OSI-Netzwerkmodell.

Wenn Sie ein Netzwerk einrichten in LinuxSie konfigurieren ĂŒblicherweise Verbindungen, die letztendlich an NetzwerkgerĂ€te gebunden werden, welche wiederum Netzwerkschnittstellen des Computers darstellen. Wenn ein GerĂ€t eine Verbindung nutzt, gilt diese als aktiv oder verbunden. Wird eine Verbindung nicht genutzt, ist sie inaktiv oder getrennt.

HinzufĂŒgen von Netzwerkverbindungen

Mit dem Dienstprogramm ncmli können Sie Verbindungen schnell hinzufĂŒgen und sofort konfigurieren. Um beispielsweise die kabelgebundene Verbindung 2 (mit enp0s8) hinzuzufĂŒgen, mĂŒssen Sie den folgenden Befehl als Superuser ausfĂŒhren:

$ sudo nmcli connection add type ethernet ifname enp0s8
Connection 'ethernet-enp0s8' (09d26960-25a0-440f-8b20-c684d7adc2f5) successfully added.

In der Typoption geben wir an, dass es sich um eine Ethernet-Verbindung handelt, und in der Option ifname (Schnittstellenname) geben wir die Netzwerkschnittstelle an, die wir verwenden möchten.

Folgendes passiert nach der AusfĂŒhrung des Befehls:

$ nmcli connection show
NAME                UUID                                  TYPE      DEVICE
Wired connection 1  ac3241e4-b424-35d6-aaa7-07498561688d  ethernet  enp0s3
Wired connection 2  2279d917-fa02-390c-8603-3083ec5a1d3e  ethernet  enp0s8
Wired connection 3  52d89737-de92-35ec-b082-8cf2e5ac36e6  ethernet  enp0s9
ethernet-enp0s8     09d26960-25a0-440f-8b20-c684d7adc2f5  ethernet  --  

Eine neue Verbindung wurde erstellt, Ethernet-enp0s8. Ihm wurde eine UUID zugewiesen und der Verbindungstyp war Ethernet. Erhöhen wir es mit dem Befehl „up“:

$ nmcli connection up ethernet-enp0s8
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/4)

Sehen wir uns die Liste der aktiven Verbindungen noch einmal an:

$ nmcli connection show --active
NAME                UUID                                  TYPE      DEVICE
Wired connection 1  ac3241e4-b424-35d6-aaa7-07498561688d  ethernet  enp0s3
ethernet-enp0s8     09d26960-25a0-440f-8b20-c684d7adc2f5  ethernet  enp0s8
Wired connection 3  52d89737-de92-35ec-b082-8cf2e5ac36e6  ethernet  enp0s9

Eine neue Verbindung Ethernet-enp0s8 wurde hinzugefĂŒgt, sie ist aktiv und verwendet die Netzwerkschnittstelle enp0s8.

Einrichten von Verbindungen

Mit dem Dienstprogramm ncmli können Sie die Parameter vorhandener Verbindungen einfach Ă€ndern. Beispielsweise mĂŒssen Sie eine dynamische (DHCP) IP-Adresse in eine statische IP-Adresse Ă€ndern.

Nehmen wir an, wir mĂŒssen die IP-Adresse auf 192.168.4.26 einstellen. Hierzu verwenden wir zwei Befehle. Mit der ersten wird die IP-Adresse direkt eingestellt, und mit der zweiten wird die Methode zur Einstellung der IP-Adresse auf manuell umgestellt:

$ nmcli connection modify ethernet-enp0s8 ipv4.address 192.168.4.26/24
$ nmcli connection modify ethernet-enp0s8 ipv4.method manual

Vergessen Sie nicht, auch die Subnetzmaske festzulegen. FĂŒr unsere Testverbindung ist dies 255.255.255.0 oder /24 fĂŒr Classless Routing (CIDR).

Damit die Änderungen wirksam werden, mĂŒssen Sie die Verbindung deaktivieren und anschließend erneut aktivieren:

$ nmcli connection down ethernet-enp0s8
Connection 'ethernet-enp0s8' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/4)
$ nmcli connection up ethernet-enp0s8
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveC

Wenn Sie DHCP umgekehrt einstellen mĂŒssen, verwenden Sie „auto“ statt „manual“:

$ nmcli connection modify ethernet-enp0s8 ipv4.method auto

Arbeiten mit GerÀten

Hierzu nutzen wir den Bereich Device.

ÜberprĂŒfen des GerĂ€testatus

$ nmcli device status
DEVICE  TYPE      STATE      CONNECTION        
enp0s3  ethernet  connected  Wired connection 1
enp0s8  ethernet  connected  ethernet-enp0s8    
enp0s9  ethernet  connected  Wired connection 3
lo      loopback  unmanaged  --  

Informationen zum GerÀt anfordern

Verwenden Sie dazu die Aktion „Anzeigen“ aus dem Abschnitt „GerĂ€t“ (Sie mĂŒssen den GerĂ€tenamen angeben). Das Dienstprogramm zeigt ziemlich viele Informationen an, oft auf mehreren Seiten.
Sehen wir uns die enp0s8-Schnittstelle an, die unsere neue Verbindung verwendet. Stellen wir sicher, dass genau die IP-Adresse verwendet wird, die wir zuvor festgelegt haben:

$ nmcli device show enp0s8
GENERAL.DEVICE:                         enp0s8
GENERAL.TYPE:                           ethernet
GENERAL.HWADDR:                         08:00:27:81:16:20
GENERAL.MTU:                            1500
GENERAL.STATE:                          100 (connected)
GENERAL.CONNECTION:                     ethernet-enp0s8
GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/ActiveConnection/6
WIRED-PROPERTIES.CARRIER:               on
IP4.ADDRESS[1]:                         192.168.4.26/24
IP4.GATEWAY:                            --
IP4.ROUTE[1]:                           dst = 192.168.4.0/24, nh = 0.0.0.0, mt = 103
IP6.ADDRESS[1]:                         fe80::6d70:90de:cb83:4491/64
IP6.GATEWAY:                            --
IP6.ROUTE[1]:                           dst = fe80::/64, nh = ::, mt = 103
IP6.ROUTE[2]:                           dst = ff00::/8, nh = ::, mt = 256, table=255

Es gibt ziemlich viele Informationen. Lassen Sie uns die wichtigsten Punkte hervorheben:

  • Name der Netzwerkschnittstelle: enp0s8.
  • Verbindungstyp: kabelgebundene Ethernet-Verbindung.
  • Wir sehen die MAC-Adresse des GerĂ€ts.
  • Maximale Übertragungseinheit (MTU) ist angegeben — die maximale GrĂ¶ĂŸe eines Nutzdatenblocks eines Pakets, der vom Protokoll ohne Fragmentierung ĂŒbertragen werden kann.
  • GerĂ€t derzeit verbunden.
  • Verbindungsname, das das GerĂ€t verwendet: ethernet-enp0s8.
  • Das GerĂ€t nutzt das IP-Adresse, die wir zuvor festgelegt haben: 192.168.4.26/24.

Weitere Informationen beziehen sich auf die Standard-Routing- und Gateway-Parameter der Verbindung. Sie hÀngen vom jeweiligen Netzwerk ab.

Interaktiver Editor nmcli

nmcli verfĂŒgt auch ĂŒber einen einfachen interaktiven Editor, mit dem manche Leute vielleicht angenehmer arbeiten können. Um es beispielsweise fĂŒr die Ethernet-enp0s8-Verbindung auszufĂŒhren, verwenden Sie Aktion edit:

$ nmcli connection edit ethernet-enp0s8

Es verfĂŒgt auch ĂŒber eine kleine Hilfedatei, die jedoch kleiner ist als die Konsolenversion:

===| nmcli interactive connection editor |===
Editing existing '802-3-ethernet' connection: 'ethernet-enp0s8'
Type 'help' or '?' for available commands.
Type 'print' to show all the connection properties.
Type 'describe [<setting>.<prop>]' for detailed property description.
You may edit the following settings: connection, 802-3-ethernet (ethernet), 802-1x, dcb, sriov, ethtool, match, ipv4, ipv6, tc, proxy
nmcli>

Wenn Sie „print“ eingeben und die Eingabetaste drĂŒcken, zeigt nmcli alle Verbindungseigenschaften an:

===============================================================================
                 Connection profile details (ethernet-enp0s8)
===============================================================================
connection.id:                          ethernet-enp0s8
connection.uuid:                        09d26960-25a0-440f-8b20-c684d7adc2f5
connection.stable-id:                   --
connection.type:                        802-3-ethernet
connection.interface-name:              enp0s8
connection.autoconnect:                 yes
connection.autoconnect-priority:        0
connection.autoconnect-retries:         -1 (default)
connection.multi-connect:               0 (default)
connection.auth-retries:                -1
connection.timestamp:                   1593967212
connection.read-only:                   no
connection.permissions:                 --
connection.zone:                        --
connection.master:                      --
connection.slave-type:                  --
connection.autoconnect-slaves:          -1 (default)
connection.secondaries:                 --

Um beispielsweise die Verbindungseigenschaft auf DHCP einzustellen, geben Sie goto ipv4 ein und drĂŒcken Sie Enter:

nmcli> goto ipv4
You may edit the following properties: method, dns, dns-search, 
dns-options, dns-priority, addresses, gateway, routes, route-metric, 
route-table, routing-rules, ignore-auto-routes, ignore-auto-dns, 
dhcp-client-id, dhcp-iaid, dhcp-timeout, dhcp-send-hostname, 
dhcp-hostname, dhcp-fqdn, dhcp-hostname-flags, never-default, may-fail, 
dad-timeout
nmcli ipv4>

Schreiben Sie dann set method auto und drĂŒcken Sie Enter:

nmcli ipv4> set method auto
Do you also want to clear 'ipv4.addresses'? [yes]:

Wenn Sie die statische IP-Adresse löschen möchten, klicken Sie auf Enter. Andernfalls geben Sie „Nein“ ein und drĂŒcken Sie die Eingabetaste. Sie können es speichern, wenn Sie meinen, dass Sie es in Zukunft brauchen werden. Aber auch wenn eine statische IP-Adresse gespeichert ist, wird DHCP verwendet, wenn die Methode auf „Auto“ eingestellt ist.

Verwenden Sie den Befehl „Speichern“, um Ihre Änderungen zu speichern:

nmcli ipv4> save
Connection 'ethernet-enp0s8' (09d26960-25a0-440f-8b20-c684d7adc2f5) successfully updated.
nmcli ipv4>

Geben Sie „quit“ ein, um den interaktiven nmcli-Editor zu beenden. Wenn Sie es sich anders ĂŒberlegen und nicht mehr beenden möchten, verwenden Sie den ZurĂŒck-Befehl.

Und das ist nicht alles

Öffnen Sie den interaktiven nmcli-Editor und sehen Sie, wie viele Einstellungen es gibt und wie viele Eigenschaften jede Einstellung hat. Der interaktive Editor ist ein großartiges Tool, aber wenn Sie nmcli in Einzeilern oder Skripten verwenden möchten, benötigen Sie die regulĂ€re Befehlszeilenversion.

Nachdem Sie nun die Grundlagen kennen, schauen Sie sich Hilfeseite nmcli, um zu sehen, wie es Ihnen sonst noch helfen kann.

Über die Rechte der Werbung

Epische Server - Das virtuelle Server auf Windows oder Linux Mit leistungsstarken AMD EPYC-Prozessoren und ultraschnellen Intel NVMe-Laufwerken. Jetzt bestellen!

Netzwerkverbindungen verwalten in Linux Verwendung des nmcli-Konsolenprogramms

Source: habr.com

Kaufen Sie zuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz und VPS-VDS-Servern đŸ”„ Kaufen Sie zuverlĂ€ssiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server | ProHoster