Zoeken op website

Netwerkbeheer beheren met NetworkManager in RHEL/CentOS 8


In RHEL en CentOS 8 wordt de netwerkservice beheerd door de NetworkManager daemon en wordt deze gebruikt om netwerkapparaten dynamisch te configureren en te besturen en verbindingen in stand te houden en actief wanneer ze beschikbaar zijn.

NetworkManager wordt geleverd met tal van voordelen, zoals ondersteuning voor eenvoudige netwerkconfiguratie en -beheer met behulp van zowel opdrachtregelinterface als grafische gebruikersinterfacetools, biedt een API via D-Bus waarmee u de netwerkconfiguratie kunt opvragen en beheren, ondersteuning voor configuratieflexibiliteit en nog veel meer.

Daarnaast kan de NetworkManager ook worden geconfigureerd met behulp van bestanden en de Cockpit-webconsole en ondersteunt het het gebruik van aangepaste scripts om andere services te starten of te stoppen op basis van de verbindingsstatus.

Lees ook: Netwerkverbindingen configureren en beheren met behulp van de ‘nmcli’-tool

Voordat we verder gaan, volgen nog enkele andere belangrijke punten over netwerken in CentOS/RHEL 8:

  • De traditionele configuratiebestanden van het ifcfg-type (bijv. ifcfg-eth0, ifcfg-enp0s3) worden nog steeds ondersteund.
  • Netwerkscripts zijn verouderd en worden niet langer standaard meegeleverd.
  • Een minimale installatie levert een nieuwe versie op van de ifup en ifdown scripts die NetworkManager aanroepen via de nmcli-tool.
  • Om de scripts ifup en ifdown uit te voeren, moet NetworkManager actief zijn.

NetworkManager installeren op CentOS/RHEL 8

De NetworkManager zou vooraf geïnstalleerd moeten zijn op een CentOS/RHEL 8 basisinstallatie, anders kunt u deze installeren met behulp van de DNF-pakketbeheerder, zoals weergegeven.

dnf install NetworkManager

Het algemene configuratiebestand voor NetworkManager bevindt zich op /etc/NetworkManager/NetworkManager.conf en aanvullende configuratiebestanden kunnen worden gevonden in /etc/NetworkManager/ .

NetworkManager beheren met Systemctl op CentOS/RHEL 8

In CentOS/RHEL 8 en andere moderne Linux-systemen die de systemd (systeem- en servicemanager) hebben aangenomen, worden services beheerd met behulp van de systemctl-tool.

Hieronder volgen handige systemctl-opdrachten voor het beheren van de NetworkManager-service.

De status van NetworkManager controleren

Bij een minimale installatie van CentOS/RHEL 8 zou NetworkManager standaard moeten zijn gestart en ingeschakeld om automatisch te starten tijdens het opstarten. U kunt de volgende opdrachten gebruiken om te controleren of NetworkManager actief en ingeschakeld is, en runtime-statusinformatie van de NetworkManager af te drukken.

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

Netwerkmanager starten

Als NetworkManager niet actief is, kunt u deze eenvoudigweg starten.

systemctl start NetworkManager

Netwerkbeheer stoppen

Om de NetworkManager om de een of andere reden te stoppen of te deactiveren, geeft u de volgende opdracht.

systemctl stop NetworkManager

Netwerkbeheer opnieuw starten

Als u wijzigingen heeft aangebracht in de interfaceconfiguratiebestanden of de configuratie van de NetworkManager-daemon (meestal gelegen onder de map /etc/NetworkManager/), kunt u NetworkManager opnieuw opstarten (stoppen en vervolgens starten) om de wijzigingen toe te passen getoond.

systemctl restart NetworkManager

Netwerkmanager opnieuw laden

Om de configuratie van de NetworkManager daemon (maar niet het unitconfiguratiebestand van systemd) opnieuw te laden zonder de service opnieuw te starten, voert u de volgende opdracht uit.

systemctl reload NetworkManager

NetworkManager Tools gebruiken en werken met ifcfg-bestanden

De NetworkManager ondersteunt enkele tools waarmee gebruikers ermee kunnen communiceren, namelijk:

  1. nmcli – een opdrachtregelprogramma dat wordt gebruikt om netwerken te configureren.
  2. nmtui – een eenvoudige op vloeken gebaseerde tekstgebruikersinterface, die ook wordt gebruikt voor het configureren en beheren van newtwork-interfaceverbindingen.
  3. Andere tools zijn onder meer de nm-connection-editor, controlecentrum en het netwerkverbindingspictogram (allemaal onder GUI).

Om de door NetworkManager gedetecteerde apparaten weer te geven, voert u de nmcli-opdracht uit.

 
nmcli device 
OR
nmcli device status

Om alle actieve verbindingen te bekijken, voert u de volgende opdracht uit (merk op dat zonder de -a de beschikbare verbindingsprofielen worden vermeld).

nmcli connection show -a

Stel een statisch IP-adres in op CentOS/RHEL 8

Netwerkinterfacespecifieke configuratiebestanden bevinden zich in de map /etc/sysconfig/network-scripts/. U kunt elk van deze bestanden bewerken, bijvoorbeeld om een statisch IP-adres in te stellen voor uw CentOS/RHEL 8-server.

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

Hier is een voorbeeldconfiguratie voor het instellen van een statisch IP-adres.

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

Nadat u de wijzigingen heeft opgeslagen, moet u alle verbindingsprofielen opnieuw laden of NetworkManager opnieuw opstarten om de nieuwe wijzigingen toe te passen.

nmcli connection reload
OR
systemctl restart NetworkManager

Netwerkservices/scripts starten of stoppen op basis van netwerkconnectiviteit

NetworkManager heeft een handige optie waarmee gebruikers services (zoals NFS, SMB, etc.) of eenvoudige scripts kunnen uitvoeren op basis van netwerkconnectiviteit.

Als u bijvoorbeeld automatisch een externe map lokaal wilt koppelen met sshfs, koppelt u SMB-shares of koppelt u NFS-shares nadat u tussen netwerken hebt geschakeld. Mogelijk wilt u dat dergelijke netwerkdiensten pas worden uitgevoerd als NetworkManager actief is (alle verbindingen zijn actief).

Deze functie wordt geleverd door de service NetworkManager-dispatcher (die moet worden gestart en ingeschakeld om automatisch te starten bij het opstarten van het systeem). Zodra de service actief is, kunt u uw scripts toevoegen aan de map /etc/NetworkManager/dispatcher.d.

Alle scripts moeten uitvoerbaar en schrijfbaar zijn en eigendom zijn van root, bijvoorbeeld:

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

Belangrijk: de dispatcherscripts worden tijdens de verbindingstijd in alfabetische volgorde uitgevoerd, en in omgekeerde alfabetische volgorde wanneer de verbinding wordt verbroken.

Gebruik van verouderde netwerkscripts

Zoals we eerder vermeldden, zijn netwerkscripts verouderd in CentOS/RHEL 8 en worden ze niet standaard geïnstalleerd. Als u nog steeds de network-scripts wilt gebruiken, moet u het network-scripts-pakket installeren.

yum install network-scripts

Eenmaal geïnstalleerd biedt dit pakket een nieuwe versie van de ifup en ifdown scripts die NetworkManager aanroepen via de nmcli tool we hebben hierboven gekeken. Houd er rekening mee dat NetworkManager actief moet zijn voordat u deze scripts kunt uitvoeren.

Voor meer informatie, zie de manpagina's systemctl en NetworkManager.

man systemctl
man NetworkManager

Dat is alles wat we in dit artikel hebben voorbereid. Via het onderstaande feedbackformulier kunt u opheldering vragen over een van de punten, vragen stellen of aanvullingen op deze handleiding maken.