Kako upravljati mreženje z NetworkManagerjem v RHEL/CentOS 8


V RHEL in CentOS 8 mrežno storitev upravlja demon NetworkManager in se uporablja za dinamično konfiguriranje in nadzor omrežnih naprav ter ohranjanje povezav in njihovo delovanje, ko so na voljo.

NetworkManager ima številne prednosti, kot so podpora za enostavno nastavitev in upravljanje omrežja z uporabo vmesnika ukazne vrstice in orodij grafičnega uporabniškega vmesnika, ponuja API prek D-Bus, ki omogoča poizvedovanje in nadzor konfiguracije omrežja, podporo prilagodljivosti konfiguracije in še veliko več.

Poleg tega je NetworkManager mogoče konfigurirati tudi z datotekami in spletno konzolo Cockpit ter podpira uporabo skriptov po meri za zagon ali zaustavitev drugih storitev glede na stanje povezave.

Preden nadaljujemo, je nekaj drugih pomembnih točk o mreženju v CentOS/RHEL 8:

  • Tradicionalne datoteke konfiguracije tipa ifcfg (npr. ifcfg-eth0, ifcfg-enp0s3) so še vedno podprte.
  • Omrežni skripti so zastareli in privzeto niso več na voljo.
  • Minimalna namestitev ponuja novo različico skriptov ifup in ifdown, ki prek orodja nmcli pokličejo NetworkManager.
  • Za zagon skriptov ifup in ifdown se mora izvajati NetworkManager.

Namestitev NetworkManagerja na CentOS/RHEL 8

NetworkManager mora biti prednameščen na osnovni namestitvi CentOS/RHEL 8, sicer pa ga lahko namestite z upraviteljem paketov DNF, kot je prikazano.

# dnf install NetworkManager

Globalna konfiguracijska datoteka za NetworkManager se nahaja na /etc/NetworkManager/NetworkManager.conf, dodatne konfiguracijske datoteke pa najdete v/etc/NetworkManager /.

Upravljanje NetworkManagerja z uporabo Systemctla na CentOS/RHEL 8

V CentOS/RHEL 8 in drugih sodobnih sistemih Linux, ki so sprejeli systemd (sistem in upravitelj storitev), se storitve upravljajo z orodjem systemctl.

V nadaljevanju so uporabni ukazi systemctl za upravljanje storitve NetworkManager.

Pri minimalni namestitvi CentOS/RHEL 8 bi moral biti NetworkManager privzeto zagnan in omogočen za samodejni zagon ob zagonu. Z naslednjimi ukazi lahko preverite, ali je NetworkManager aktiven, omogočen in natisnete informacije o času izvajanja NetworkManagerja.

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

Če NetworkManager ne deluje, ga lahko zaženete s preprostim zagonom.

# systemctl start NetworkManager

Če želite ustaviti ali deaktivirati NetworkManager iz enega ali drugega razloga, izdajte naslednji ukaz.

# systemctl stop NetworkManager

Če ste spremenili datoteke s konfiguracijami vmesnika ali konfiguracijo demona NetworkManager (običajno se nahaja pod imenikom/etc/NetworkManager /), lahko znova zaženete (ustavite in nato zaženete) NetworkManager, da uveljavite spremembe, kot je prikazano.

# systemctl restart NetworkManager

Če želite znova naložiti konfiguracijo demona NetworkManager (ne pa tudi konfiguracijske datoteke enote systemd), ne da bi znova zagnali storitev, zaženite naslednji ukaz.

# systemctl reload NetworkManager

Uporaba orodij NetworkManager in delo z datotekami ifcfg

NetworkManager podpira nekatera orodja, s katerimi lahko uporabniki komunicirajo z njim, in sicer:

  1. nmcli - orodje ukazne vrstice, ki se uporablja za konfiguriranje omrežja.
  2. nmtui - preprost besedilni uporabniški vmesnik na osnovi prekletstva, ki se uporablja tudi za konfiguriranje in upravljanje povezav vmesnika newtwork.
  3. Druga orodja vključujejo urejevalnik nm-connection, nadzorni center in ikono omrežne povezave (vsi pod GUI).

Če želite seznam naprav, ki jih zazna NetworkManager, zaženite ukaz nmcli.

 
# nmcli device 
OR
# nmcli device status

Če si želite ogledati vse aktivne povezave, zaženite naslednji ukaz (upoštevajte, da brez -a navede seznam razpoložljivih profilov povezav).

# nmcli connection show -a

Konfiguracijske datoteke za omrežni vmesnik se nahajajo v imeniku/etc/sysconfig/network-scripts /. Vsako od teh datotek lahko uredite, na primer, da nastavite statični naslov IP za strežnik CentOS/RHEL 8.

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

Tu je primer konfiguracije za nastavitev statičnega naslova IP.

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

Ko shranite spremembe, morate znova naložiti vse profile povezav ali znova zagnati NetworkManager, da bodo nove spremembe veljale.

# nmcli connection reload
OR
# systemctl restart NetworkManager

Zagon ali zaustavitev omrežnih storitev/skriptov na podlagi omrežne povezljivosti

NetworkManager ima uporabno možnost, ki uporabnikom omogoča izvajanje storitev (kot so NFS, SMB itd.) Ali preproste skripte, ki temeljijo na omrežni povezljivosti.

Če na primer želite samodejno namestiti skupne rabe NFS po preklopu med omrežji. Morda boste želeli, da se takšne omrežne storitve izvajajo šele, ko NetworkManager zažene in zažene (vse povezave so aktivne).

To funkcijo zagotavlja storitev NetworkManager-dispečer (ki jo je treba zagnati in omogočiti za samodejni zagon ob zagonu sistema). Ko se storitev zažene, lahko svoje skripte dodate v imenik /etc/NetworkManager/dispatcher.d.

Vse skripte morajo biti izvedljive in zapisljive ter v lasti root, na primer:

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

Pomembno: Skripti dispečerja se bodo izvajali po abecednem vrstnem redu ob priključitvi in v obratnem abecednem vrstnem redu ob odklopu.

Kot smo že omenili, so omrežni skripti v CentOS/RHEL 8 zastareli in privzeto niso nameščeni. Če še vedno želite uporabljati omrežne skripte, morate namestiti paket omrežnih skriptov.

# yum install network-scripts

Ko je nameščen, ta paket nudi novo različico skriptov ifup in ifdown, ki prek orodja nmcli, ki smo si ga ogledali zgoraj, prikličejo NetworkManager. Upoštevajte, da bi za izvajanje teh skriptov moral delovati NetworkManager.

Za več informacij glejte priročniki systemctl in NetworkManager.

# man systemctl
# man NetworkManager

To je vse, kar smo pripravili v tem članku. Na spodnjem obrazcu za povratne informacije lahko poiščete pojasnila o kateri koli točki ali postavite vprašanja ali dopolnite ta vodnik.