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

Dienstprogramm 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 . 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 enabledOft 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 enp0s9Dieser 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 enp0s9Eine 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 manualVergessen 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/ActiveCWenn Sie DHCP umgekehrt einstellen mĂŒssen, verwenden Sie âautoâ statt âmanualâ:
$ nmcli connection modify ethernet-enp0s8 ipv4.method autoArbeiten 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=255Es 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-enp0s8Es 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 nmcli, um zu sehen, wie es Ihnen sonst noch helfen kann.
Ăber die Rechte der Werbung
Epische Server - Das oder Linux Mit leistungsstarken AMD EPYC-Prozessoren und ultraschnellen Intel NVMe-Laufwerken. Jetzt bestellen!
Source: habr.com
