Hur man hanterar nätverk med NetworkManager i RHEL / CentOS 8

i RHEL och CentOS 8 nätverkstjänsten hanteras av NetworkManager-demonen och den används för att dynamiskt konfigurera och styra nätverksenheter och hålla anslutningar uppe och aktiva när de är tillgängliga.

NetworkManager kommer med många fördelar som stöd för enkel nätverksinstallation och hantering med både kommandoradsgränssnitt och grafiska användargränssnitt, ger ett API via D-Bus som möjliggör frågor och kontroll av nätverkskonfiguration, stöd för konfigurationsflexibilitet och mycket mer.

Dessutom kan NetworkManager också konfigureras med hjälp av filer och Cockpit web console och det stöder användningen av anpassade skript för att starta eller stoppa andra tjänster baserat på anslutningsstatus.

Läs också: Så här konfigurerar och hanterar du nätverksanslutningar med ’nmcli’ – verktyget

innan vi går vidare är följande några andra viktiga punkter att notera Om nätverk i CentOS/RHEL 8:

  • den traditionella ifcfg-typkonfigurationen (t.ex. ifcfg-eth0, ifcfg-enp0s3) filer stöds fortfarande.
  • nätverksskript är föråldrade och tillhandahålls inte längre som standard.
  • en minimal installation ger en ny version av ifup och ifdown skript som anropar NetworkManager via nmcli verktyget.
  • för att köra skripten ifup och ifdown måste NetworkManager köras.

installera NetworkManager på CentOS/RHEL 8

NetworkManager ska vara förinstallerat på en CentOS/RHEL 8 grundinstallation, annars kan du installera den med DNF-pakethanteraren som visas.

# dnf install NetworkManager
installera nätverkshanteraren i CentOS 8
installera nätverkshanteraren i CentOS 8

global konfigurationsfil för NetworkManager finns på /ETC/NetworkManager/NetworkManager.conf och ytterligare konfigurationsfiler finns i /etc/NetworkManager/.

NetworkManager konfigurationsfiler
NetworkManager konfigurationsfiler

hantera NetworkManager med Systemctl på CentOS/RHEL 8

i CentOS/RHEL 8 och andra moderna Linux-system som har antagit systemd (system and Service Manager) hanteras tjänster med hjälp av systemctl-verktyget.

Följande är användbara systemctl-kommandon för hantering av NetworkManager-tjänsten.

kontrollera status för NetworkManager

en minimal installation av CentOS/RHEL 8 bör ha NetworkManager startat och aktiverat för att automatiskt starta vid starttid, som standard. Du kan använda följande kommandon för att kontrollera om NetworkManager är aktiv, aktiverad, och print runtime statusinformation för NetworkManager.

# systemctl is-active NetworkManager# systemctl is-enabled NetworkManager# systemctl status NetworkManager 
kontrollera tjänsten NetworkManager
kontrollera tjänsten NetworkManager

starta NetworkManager

om NetworkManager inte körs kan du starta det genom att helt enkelt köra.

# systemctl start NetworkManager

Stoping NetworkManager

för att stoppa eller inaktivera NetworkManager av en eller annan anledning, utfärda följande kommando.

# systemctl stop NetworkManager

starta om NetworkManager

Om du har gjort några ändringar i gränssnittskonfigurationsfiler eller NetworkManager-daemons konfiguration (vanligtvis placerad under katalogen /etc/NetworkManager/) kan du starta om (stoppa och sedan starta) NetworkManager för att tillämpa ändringarna som visas.

# systemctl restart NetworkManager

ladda om NetworkManager

för att ladda om NetworkManager-demonens konfiguration (men inte enhetskonfigurationsfilen för systemd) utan att starta om tjänsten, kör följande kommando.

# systemctl reload NetworkManager

använda NetworkManager – verktyg och arbeta med ifcfg-filer

NetworkManager stöder vissa verktyg för användare att interagera med det, som är:

  1. nmcli-ett kommandoradsverktyg som används för att konfigurera nätverk.
  2. nmtui – en enkel förbannelser baserade text användargränssnitt, som också används för att konfigurera och hantera newtwork gränssnittsanslutningar.
  3. andra verktyg inkluderar nm-connection-editor, control-center och nätverksanslutningsikonen (alla under GUI).

för att lista de enheter som upptäckts av NetworkManager, kör kommandot nmcli.

 # nmcli device OR# nmcli device status
lista enheter som upptäckts av NetworkManager
lista enheter som upptäckts av NetworkManager

för att visa alla aktiva anslutningar, kör följande kommando (Observera att utan -a, listas de tillgängliga anslutningsprofilerna).

# nmcli connection show -a
Visa aktiva nätverksanslutningar
Visa aktiva nätverksanslutningar

Ställ in Statisk IP-adress på CentOS/RHEL 8

nätverksgränssnittsspecifika konfigurationsfiler finns i katalogen /etc/sysconfig/network-scripts/. Du kan redigera någon av dessa filer, till exempel för att ställa in en statisk IP-adress för din CentOS/RHEL 8-server.

# vi /etc/sysconfig/network-scripts/ifcfg-enp0s3

Här är en provkonfiguration för inställning av en statisk IP-adress.

TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=noneDEFROUTE=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_FAILURE_FATAL=noIPV6_ADDR_GEN_MODE=stable-privacyNAME=enp0s3UUID=e81c46b7-441a-4a63-b695-75d8fe633511DEVICE=enp0s3ONBOOT=yesIPADDR=192.168.0.110PREFIX=24GATEWAY=192.168.0.1DNS1=8.8.8.8PEERDNS=no
Visa Nätverksgränssnittskonfiguration
Visa Nätverksgränssnittskonfiguration

När du har sparat ändringarna måste du ladda om alla anslutningsprofiler eller starta om nätverketmanager för att de nya ändringarna ska gälla.

# nmcli connection reloadOR# systemctl restart NetworkManager

starta eller stoppa nätverkstjänster/skript baserat på nätverksanslutning

NetworkManager har ett användbart alternativ som tillåter användare att utföra tjänster (som NFS, SMB, etc.) eller enkla skript baserade på nätverksanslutning.

om du till exempel automatiskt vill montera en fjärrkatalog lokalt med sshfs, montera SMB-aktier eller montera NFS-aktier efter växling mellan nätverk. Du kanske vill att sådana nätverkstjänster ska köras inte förrän NetworkManager är igång (alla anslutningar är aktiva).

den här funktionen tillhandahålls av Tjänsten NetworkManager-dispatcher (som måste startas och aktiveras för att starta automatiskt vid systemstart). När tjänsten är igång kan du lägga till dina skript i / etc/NetworkManager / dispatcher.d katalog.

alla skript måste vara körbara och skrivbara och ägs av root, till exempel:

# chown root:root /etc/NetworkManager/dispatcher.d/10-nfs-mount.sh# chmod 755 /etc/NetworkManager/dispatcher.d/10-nfs-mount.sh

viktigt: sändarskripten kommer att köras i alfabetisk ordning vid anslutningstid och i omvänd alfabetisk ordning vid kopplingstider.

använda äldre Nätverksskript

som vi nämnde tidigare är nätverksskript föråldrade i CentOS / RHEL 8 och installeras inte som standard. Om du fortfarande vill använda nätverksskripten måste du installera paketet network-scripts.

# yum install network-scripts

en gång installerat, detta paket ger en ny version av ifup och ifdown skript som kallar NetworkManager via nmcli verktyget vi har tittat på ovan. Observera att NetworkManager ska köras för att du ska kunna köra dessa skript.

Mer information finns på man-sidorna systemctl och NetworkManager.

# man systemctl# man NetworkManager

det är allt vi förberedde i den här artikeln. Du kan söka förtydligande på någon av punkterna eller ställa frågor eller göra några tillägg till den här guiden via feedbackformuläret nedan.

Lämna ett svar

Din e-postadress kommer inte publiceras.