Netzwerk Konfiguration unter CentOS 8 mit dem Befehl nmcli (20 Beispiele)

nmcli ist ein Befehlszeilen-Tool, das zur Steuerung von NetworkManager verwendet werden kann. Dieses Werkzeug hilft Ihnen bei der Anzeige des Status von Netzwerkgeräten, beim Erstellen, Bearbeiten, Aktivieren/Deaktivieren, Löschen von Netzwerkverbindungen und auch bei der Fehlersuche im Netzwerk in Ihrem Linux-System. Es ist sehr nützlich für Server, um systemweite Verbindungen zu kontrollieren.

In diesem Tutorial zeigen wir Ihnen anhand von Beispielen, wie der nmcli-Befehl zur Steuerung von Netzwerkverbindungen verwendet wird.

Voraussetzungen

  • Ein Server mit CentOS 8.
  • Ein Root-Passwort wird auf Ihrem Server eingerichtet.

1. NetworkManager-Status überprüfen

Um zu überprüfen, ob der Netzwerk-Manager läuft oder nicht, führen Sie folgenden Befehl aus:

nmcli -t -f RUNNING general

Sie sollten die folgende Ausgabe sehen:

running

Um einen allgemeinen Status zu erhalten, führen Sie den folgenden Befehl aus:

nmcli general

Sie sollten die folgende Ausgabe sehen:

STATE      CONNECTIVITY  WIFI-HW  WIFI     WWAN-HW  WWAN    
connected  full          enabled  enabled  enabled  enabled 

2. Alle verfügbaren Geräte prüfen

Sie können alle verfügbaren Geräte in Ihrem System anzeigen, führen Sie folgenden Befehl aus:

nmcli dev status

Sie sollten die folgende Ausgabe sehen:

DEVICE  TYPE      STATE      CONNECTION  
eth0    ethernet  connected  System eth0 
eth1    ethernet  connected  System eth1 
lo      loopback  unmanaged  --      

3. Aktive Verbindung prüfen

Um alle aktiven Verbindungen in Ihrem System aufzulisten, führen Sie den folgenden Befehl aus:

nmcli con show

Sie sollten die folgende Ausgabe erhalten:

NAME         UUID                                  TYPE      DEVICE 
System eth0  5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03  ethernet  eth0   
System eth1  9c92fad9-6ecb-3e6c-eb4d-8a47c6f50c04  ethernet  eth1

4. Informationen über die Ethernet-Verbindung anzeigen

Sie können die Kurzinformationen über die Ethernet-Verbindung mit dem folgenden Befehl ausgeben:

nmcli con show "System eth0"

Sie sollten die folgende Ausgabe erhalten:

connection.id:                          System eth0
connection.uuid:                        5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03
connection.stable-id:                   --
connection.type:                        802-3-ethernet
connection.interface-name:              eth0
connection.autoconnect:                 yes
connection.autoconnect-priority:        0
connection.autoconnect-retries:         -1 (default)
connection.multi-connect:               0 (default)
connection.auth-retries:                -1
connection.timestamp:                   1588217245
connection.read-only:                   no
connection.permissions:                 --
connection.zone:                        --
connection.master:                      --
connection.slave-type:                  --
connection.autoconnect-slaves:          -1 (default)
connection.secondaries:                 --
connection.gateway-ping-timeout:        0
connection.metered:                     unknown
cat /etc/sysconfig/network-scripts/ifcfg-eth1 | grep BOOTPROTO
BOOTPROTO=dhcp

5. Direktive „Automatisch verbinden“ ändern

Standardmäßig werden alle Ethernet-Verbindungen automatisch hergestellt. Sie können sie mit dem folgenden Befehl deaktivieren:

nmcli con mod "System eth1" connection.autoconnect no

Sie können die Änderungen mit dem folgenden Befehl überprüfen:

cat /etc/sysconfig/network-scripts/ifcfg-eth1 | grep ONBOOT

Sie sollten die folgende Ausgabe sehen: Sie sollten die folgende Ausgabe sehen: Sie sollten die folgende Ausgabe sehen:

ONBOOT=no

6. Ändern der BOOTPROTO-Richtlinie für Netzwerkverbindungen

Sie können die BOOTPROTO-Direktive der Ethernet-Verbindung mit dem folgenden Befehl von statisch auf DHCP ändern:

nmcli con mod "System eth1" ipv4.method auto

Sie können nun die Änderungen mit dem folgenden Befehl verifizieren:

cat /etc/sysconfig/network-scripts/ifcfg-eth1 | grep BOOTPROTO

Sie sollten die folgende Ausgabe sehen:

BOOTPROTO=dhcp

Um die Ethernet-Verbindung mit der BOOTPROTO-Direktive statisch in DHCP zu ändern, verwenden Sie den folgenden Befehl:

nmcli con mod "System eth1" ipv4.method manual ipv4.address 192.168.0.10/24 ipv4.gateway 192.168.0.1

7. Deaktivieren der IPv6-Adresse mit nmcli

Standardmäßig ist in CentOS 8 sowohl die IPv6- als auch die IPv4-Verbindung aktiviert. Sie können die IPv6-Verbindung mit dem folgenden Befehl deaktivieren:

nmcli con mod "System eth1" ipv6.method ignore

8. DNS-Server zu vorhandener Verbindung hinzufügen

So fügen Sie mit dem folgenden Befehl einen neuen DNS-Server zu einer bestehenden Verbindung hinzu:

nmcli con mod "System eth1" ipv4.dns 8.8.4.4

Sie können die Änderungen mit dem folgenden Befehl überprüfen:

cat /etc/sysconfig/network-scripts/ifcfg-eth1 | grep DNS

Ausgabe:

DNS1=8.8.4.4

Sie können auch einen neuen DNS-Server mit der Option +ipv4.dns anhängen:

nmcli con mod "System eth1" +ipv4.dns 4.4.4.4

9. DNS-Server aus vorhandener Verbindung entfernen

Um den einzelnen DNS-Server von der Verbindung zu entfernen, führen Sie den folgenden Befehl aus:

nmcli con mod "System eth1" -ipv4.dns 8.8.4.4

Um die mehreren DNS-Server aus der Verbindung zu entfernen, führen Sie den folgenden Befehl aus:

nmcli con mod "System eth1" -ipv4.dns 8.8.4.4,8.8.2.2

10. Verbindung interaktiv hinzufügen/bearbeiten

Sie können auch eine neue Verbindung erstellen oder eine bestehende Verbindung mit einem interaktiven Editor bearbeiten.

Bearbeiten Sie zum Beispiel eine bestehende Verbindung, führen Sie folgenden Befehl aus: Führen Sie den folgenden Befehl aus:

nmcli con edit "System eth1"

Sie sollten die folgende Ausgabe sehen:

===| nmcli interactive connection editor |===

Editing existing '802-3-ethernet' connection: 'System eth1'

Type 'help' or '?' for available commands.
Type 'print' to show all the connection properties.
Type 'describe [.]' 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> 

Zeigen Sie nun eine vorhandene IP-Adresse an und führen Sie den folgenden Befehl aus:

nmcli> print ipv4.address

Ausgabe:

ipv4.addresses: 192.168.0.10/32

Um eine neue IP-Adresse einzustellen, führen Sie den folgenden Befehl aus:

nmcli> set ipv4.address 192.168.0.11

Sie können die Verbindung mit dem folgenden Befehl überprüfen und speichern:

nmcli> verify

Ausgabe:

Verify connection: OK
nmcli> save

Ausgabe:

Connection 'System eth1' (9c92fad9-6ecb-3e6c-eb4d-8a47c6f50c04) successfully updated.

Sie können nun die gespeicherte Verbindung mit dem folgenden Befehl überprüfen:

cat /etc/sysconfig/network-scripts/ifcfg-eth1 | grep IPADDR

Sie sollten die folgende Ausgabe sehen:

IPADDR=192.168.0.10
IPADDR1=192.168.0.11

11. Verbindungsaktivität überwachen

Sie können die NetworkManager-Aktivität auch mit Hilfe von nmcli wie, Änderungen des Verbindungsstatus, Profile, Geräte usw. überwachen.

Nachdem Sie die Ethernet-Verbindung geändert haben, führen Sie den folgenden Befehl aus, um sie zu überwachen:

nmcli con monitor "System eth1"

12. Erstellen einer neuen Verbindung mit statischer IP

Sie können auch eine neue statische Ethernet-Verbindung mit nmcli erstellen. Erstellen Sie zum Beispiel eine neue Ethernet-Verbindung mit dem Namen eth2, IP 192.168.0.12/24, Gateway 192.168.0.1, „onboot=yes“, indem Sie den folgenden Befehl ausführen:

nmcli con add con-name eth2 type ethernet ifname eth2 ipv4.method manual ipv4.address 192.168.0.15/24 ipv4.gateway 192.168.0.1

Sie sollten die folgende Ausgabe sehen:

Connection 'eth2' (cefb3f7d-424c-42f8-b4e8-ed54e7dcb880) successfully added.

Überprüfen Sie nun die Verbindung mit dem folgenden Befehl:

nmcli con

Ausgabe:

NAME         UUID                                  TYPE      DEVICE 
System eth0  5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03  ethernet  eth0   
System eth1  9c92fad9-6ecb-3e6c-eb4d-8a47c6f50c04  ethernet  eth1   
eth2         cefb3f7d-424c-42f8-b4e8-ed54e7dcb880  ethernet  eth2 

13. Erstellen einer neuen Verbindung mit DHCP

Sie können auch eine neue DHCP-Verbindung mit nmcli erstellen. Erstellen Sie beispielsweise eine neue DHCP-Ethernet-Verbindung mit dem Namen eth3 mit dem folgenden Befehl:

nmcli con add con-name eth3 type ethernet ifname eth3 ipv4.method auto

Sie sollten die folgende Ausgabe sehen:

Connection 'eth3' (ff54dbd6-255d-4935-abc8-73773bef5b55) successfully added.

14. Aktivieren einer neuen Verbindung

Um die neue Ethernet-Verbindung eth2 zu aktivieren, führen Sie den folgenden Befehl aus:

nmcli con up eth2

Sie sollten die folgende Ausgabe sehen:

Connection successfully activated

Sie können nun die aktive Verbindung mit dem folgenden Befehl überprüfen:

nmcli con show --active

Sie sollten die folgende Ausgabe sehen:

Ausgabe:

NAME         UUID                                  TYPE      DEVICE 
System eth0  5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03  ethernet  eth0   
System eth1  9c92fad9-6ecb-3e6c-eb4d-8a47c6f50c04  ethernet  eth1   
eth2         cefb3f7d-424c-42f8-b4e8-ed54e7dcb880  ethernet  eth2 

15. Deaktivieren einer Verbindung

Um die Verbindung eth2 zu deaktivieren, führen Sie den folgenden Befehl aus:

nmcli con down eth2

16. Eine Verbindung löschen

Sie können auch eine bestimmte Ethernet-Verbindung mit nmcli löschen.

Um z.B. eine Verbindung eth2 zu löschen, führen Sie folgenden Befehl aus: Um eine neue IP-Adresse einzustellen, führen Sie folgenden Befehl aus:

nmcli con del eth2

Sie sollten die folgende Ausgabe sehen:

Connection 'eth2' (cefb3f7d-424c-42f8-b4e8-ed54e7dcb880) successfully deleted.

17. Hostname mit nmcli ändern

Um den aktuellen Hostnamen Ihres Systems zu finden, führen Sie den folgenden Befehl aus:

nmcli general hostname

Sie sollten die folgende Ausgabe sehen:

centos8

Ändern Sie dann den Hostnamen von centos8 in linux mit folgendem Befehl:

nmcli general hostname linux

Überprüfen Sie anschließend den Hostnamen mit dem folgenden Befehl:

nmcli general hostname

Sie sollten die folgende Ausgabe sehen:

linux

18. Ändern der DEFROUTE-Richtlinie

Die DEFROUTE-Direktive wird verwendet, um das Standard-Gateway Ihrer Ethernet-Verbindung zu deaktivieren und zu aktivieren.

Um den DEFROUTE directove für eth2 zu aktivieren, führen Sie den folgenden Befehl aus:

nmcli con mod "System eth2" ipv4.never-default yes

19. Ethernet-Verbindung neu starten

Sie können Ihre Ethernet-Verbindung mit dem folgenden Befehl neu starten oder neu laden:

nmcli con reload

20. nmcli Hilfe

Um weitere Informationen über den Befehl nmcli zu erhalten, führen Sie den folgenden Befehl aus:

nmcli --help

Sie sollten die folgende Ausgabe sehen:

Usage: nmcli [OPTIONS] OBJECT { COMMAND | help }

OPTIONS
  -a, --ask                                ask for missing parameters
  -c, --colors auto|yes|no                 whether to use colors in output
  -e, --escape yes|no                      escape columns separators in values
  -f, --fields <field,...>|all|common      specify fields to output
  -g, --get-values <field,...>|all|common  shortcut for -m tabular -t -f
  -h, --help                               print this help
  -m, --mode tabular|multiline             output mode
  -o, --overview                           overview mode
  -p, --pretty                             pretty output
  -s, --show-secrets                       allow displaying passwords
  -t, --terse                              terse output
  -v, --version                            show program version
  -w, --wait                      set timeout waiting for finishing operations

OBJECT
  g[eneral]       NetworkManager's general status and operations
  n[etworking]    overall networking control
  r[adio]         NetworkManager radio switches
  c[onnection]    NetworkManager's connections
  d[evice]        devices managed by NetworkManager
  a[gent]         NetworkManager secret agent or polkit agent
  m[onitor]       monitor NetworkManager changes

Schlussfolgerung

Im obigen Leitfaden haben wir gelernt, wie man nmcli zur Verwaltung und Steuerung der Ethernet-Verbindung in CentOS 8 verwendet. Ich hoffe, Sie können nun einfach eine neue Verbindung mit nmcli hinzufügen, bearbeiten oder erstellen. Zögern Sie nicht, mich zu fragen, wenn Sie irgendwelche Fragen haben.

Das könnte dich auch interessieren …