Hvordan administrere nettverk med NetworkManager i RHEL/CentOS 8


I RHEL og CentOS 8 administreres nettverkstjenesten av NetworkManager-demonen, og den brukes til å dynamisk konfigurere og kontrollere nettverksenheter og holde forbindelsene oppe og aktive når de er tilgjengelige.

NetworkManager kommer med en rekke fordeler som støtte for enkelt nettverksoppsett og -administrasjon ved bruk av både kommandolinjegrensesnitt og grafiske brukergrensesnittverktøy, gir en API gjennom D-Bus som gjør det mulig å spørre og kontrollere nettverkskonfigurasjon, støtte for konfigurasjonsfleksibilitet og mye mer.

Dessuten kan NetworkManager også konfigureres ved hjelp av filer og Cockpit-nettkonsoll, og den støtter bruk av egendefinerte skript for å starte eller stoppe andre tjenester basert på tilkoblingsstatusen.

Les også: Hvordan konfigurere og administrere nettverkstilkoblinger ved hjelp av nmcli-verktøyet

Før vi går videre, er det følgende noen andre viktige punkter å merke seg om nettverksbygging i CentOS/RHEL 8:

  • De tradisjonelle ifcfg-filene (f.eks. ifcfg-eth0, ifcfg-enp0s3) støttes fortsatt.
  • Nettverksskript er utdatert og leveres ikke lenger som standard.
  • En minimal installasjon gir en ny versjon av ifup- og ifdown-skriptene som kaller NetworkManager via nmcli-verktøyet.
  • For å kjøre ifup- og ifdown-skriptene, må NetworkManager kjøres.

Installere NetworkManager på CentOS/RHEL 8

NetworkManager skal være forhåndsinstallert på en CentOS/RHEL 8 grunnleggende installasjon, ellers kan du installere den ved å bruke DNF-pakkebehandlingen som vist.

dnf install NetworkManager

Den globale konfigurasjonsfilen for NetworkManager er plassert på /etc/NetworkManager/NetworkManager.conf og flere konfigurasjonsfiler finner du i /etc/NetworkManager/ >.

Administrere NetworkManager ved å bruke Systemctl på CentOS/RHEL 8

I CentOS/RHEL 8 og andre moderne Linux-systemer som har tatt i bruk systemd (system- og tjenestebehandling), administreres tjenester ved hjelp av systemctl-verktøyet.

Følgende er nyttige systemctl-kommandoer for å administrere NetworkManager-tjenesten.

Kontrollerer statusen til NetworkManager

En minimal installasjon av CentOS/RHEL 8 bør ha NetworkManager startet og aktivert for å starte automatisk ved oppstart, som standard. Du kan bruke følgende kommandoer for å sjekke om NetworkManager er aktiv, aktivert og skrive ut kjøretidsstatusinformasjon for NetworkManager.

systemctl is-active NetworkManager
systemctl is-enabled NetworkManager
systemctl status NetworkManager 

Starter NetworkManager

Hvis NetworkManager ikke kjører, kan du starte den ved å kjøre.

systemctl start NetworkManager

Stopper NetworkManager

For å stoppe eller deaktivere NetworkManager av en eller annen grunn, utfør følgende kommando.

systemctl stop NetworkManager

Starter NetworkManager på nytt

Hvis du har gjort endringer i grensesnittkonfigurasjonsfiler eller NetworkManager-demonens konfigurasjon (vanligvis plassert under /etc/NetworkManager/-katalogen), kan du starte NetworkManager på nytt (stoppe og deretter starte) for å bruke endringene som vist.

systemctl restart NetworkManager

Laster inn NetworkManager på nytt

For å laste inn NetworkManager-daemonens konfigurasjon (men ikke enhetskonfigurasjonsfilen til systemd) uten å starte tjenesten på nytt, kjør følgende kommando.

systemctl reload NetworkManager

Bruke NetworkManager-verktøy og arbeide med ifcfg-filer

NetworkManager støtter noen verktøy for brukere å samhandle med den, som er:

  1. nmcli – et kommandolinjeverktøy som brukes til å konfigurere nettverk.
  2. nmtui – et enkelt forbannelsesbasert tekstbrukergrensesnitt, som også brukes til å konfigurere og administrere newtwork-grensesnittforbindelser.
  3. Andre verktøy inkluderer nm-connection-editor, kontrollsenter og nettverkstilkoblingsikon (alle under GUI).

For å liste enhetene oppdaget av NetworkManager, kjør nmcli-kommandoen.

 
nmcli device 
OR
nmcli device status

For å se alle aktive tilkoblinger, kjør følgende kommando (merk at uten -a, viser den de tilgjengelige tilkoblingsprofilene).

nmcli connection show -a

Angi statisk IP-adresse på CentOS/RHEL 8

Nettverksgrensesnittspesifikke konfigurasjonsfiler er plassert i katalogen /etc/sysconfig/network-scripts/. Du kan redigere hvilken som helst av disse filene, for eksempel for å angi en statisk IP-adresse for CentOS/RHEL 8-serveren.

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

Her er en eksempelkonfigurasjon for å angi en statisk IP-adresse.

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s3
UUID=e81c46b7-441a-4a63-b695-75d8fe633511
DEVICE=enp0s3
ONBOOT=yes
IPADDR=192.168.0.110
PREFIX=24
GATEWAY=192.168.0.1
DNS1=8.8.8.8
PEERDNS=no

Etter å ha lagret endringene, må du laste inn alle tilkoblingsprofiler på nytt eller starte NetworkManager på nytt for at de nye endringene skal gjelde.

nmcli connection reload
OR
systemctl restart NetworkManager

Starte eller stoppe nettverkstjenester/skript basert på nettverkstilkobling

NetworkManager har et nyttig alternativ som lar brukere utføre tjenester (som NFS, SMB osv.) eller enkle skript basert på nettverkstilkobling.

For eksempel, hvis du vil automatisk montere en ekstern katalog lokalt med sshfs, montere SMB-aksjer eller montere NFS-aksjer etter å ha byttet mellom nettverk. Du vil kanskje at slike nettverkstjenester ikke skal kjøres før NetworkManager er oppe og kjører (alle tilkoblinger er aktive).

Denne funksjonen leveres av NetworkManager-dispatcher-tjenesten (som må startes og aktiveres for å starte automatisk ved systemoppstart). Når tjenesten kjører, kan du legge til skriptene dine i katalogen /etc/NetworkManager/dispatcher.d.

Alle skript må være kjørbare og skrivbare, og eies av root, for eksempel:

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

Viktig: Dispatcher-skriptene vil bli utført i alfabetisk rekkefølge ved tilkoblingstidspunktet, og i omvendt alfabetisk rekkefølge ved frakoblingstidspunkter.

Bruke eldre nettverksskript

Som vi nevnte tidligere, er nettverksskript avviklet i CentOS/RHEL 8 og kommer ikke installert som standard. Hvis du fortsatt vil bruke nnettverksskriptene, må du installere pakken nettverksskript.

yum install network-scripts

Når den er installert, gir denne pakken en ny versjon av ifup- og ifdown-skriptene som kaller NetworkManager via nmcli-verktøyet vi har sett på ovenfor. Merk at NetworkManager skal kjøre for at du skal kunne kjøre disse skriptene.

For mer informasjon, se man-sidene systemctl og NetworkManager.

man systemctl
man NetworkManager

Det er alt vi har forberedt i denne artikkelen. Du kan søke avklaring på alle punktene eller stille spørsmål eller legge til denne veiledningen via tilbakemeldingsskjemaet nedenfor.