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.