Kako upravljati umrežavanjem pomoću NetworkManager-a u RHEL/CentOS 8


U RHEL i CentOS 8 mrežnom uslugom upravlja demon NetworkManager i koristi se za dinamičko konfiguriranje i upravljanje mrežnim uređajima te održavanje veza aktivnih i aktivnih kada su dostupne.

NetworkManager dolazi s brojnim prednostima poput podrške za jednostavno postavljanje i upravljanje mrežom pomoću sučelja naredbenog retka i alata grafičkog korisničkog sučelja, pruža API putem D-Bus-a koji omogućuje ispitivanje i upravljanje mrežnom konfiguracijom, podrška fleksibilnosti konfiguracije i još mnogo toga.

Osim toga, NetworkManager se također može konfigurirati pomoću datoteka i web konzole Cockpit i podržava upotrebu prilagođenih skripti za pokretanje ili zaustavljanje drugih usluga na temelju statusa veze.

Prije nego što krenemo dalje, slijede neke druge važne napomene o umrežavanju u CentOS/RHEL 8:

  • Tradicionalne datoteke konfiguracije tipa ifcfg (npr. ifcfg-eth0, ifcfg-enp0s3) i dalje su podržane.
  • Mrežne skripte zastarjele su i više se ne pružaju prema zadanim postavkama.
  • Minimalna instalacija pruža novu verziju ifup i ifdown skripti koje pozivaju NetworkManager putem alata nmcli.
  • Za pokretanje ifup i ifdown skripti mora biti pokrenut NetworkManager.

Instaliranje NetworkManager-a na CentOS/RHEL 8

NetworkManager trebao bi biti predinstaliran na osnovnoj instalaciji CentOS/RHEL 8, u suprotnom ga možete instalirati pomoću upravitelja paketa DNF kao što je prikazano.

# dnf install NetworkManager

Globalna konfiguracijska datoteka za NetworkManager nalazi se na /etc/NetworkManager/NetworkManager.conf, a dodatne konfiguracijske datoteke mogu se naći u/etc/NetworkManager /.

Upravljanje NetworkManager-om pomoću Systemctl-a na CentOS/RHEL 8

U CentOS/RHEL 8 i drugim modernim Linux sustavima koji su prihvatili systemd (upravitelj sustava i usluga), uslugama se upravlja pomoću alata systemctl.

Slijede korisne naredbe systemctl za upravljanje uslugom NetworkManager.

Minimalna instalacija CentOS/RHEL 8 trebala bi pokrenuti i omogućiti NetworkManager da se automatski pokreće prilikom pokretanja, prema zadanim postavkama. Sljedećim naredbama možete provjeriti je li NetworkManager aktivan, omogućen i ispisuje podatke o vremenu izvođenja NetworkManager-a.

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

Ako NetworkManager nije pokrenut, možete ga pokrenuti jednostavnim pokretanjem.

# systemctl start NetworkManager

Da biste zaustavili ili deaktivirali NetworkManager iz jednog ili drugog razloga, izdajte sljedeću naredbu.

# systemctl stop NetworkManager

Ako ste napravili bilo kakve promjene u datotekama konfiguracije sučelja ili u konfiguraciji demona NetworkManager (obično se nalazi u direktoriju/etc/NetworkManager /), možete ponovno pokrenuti (zaustaviti i zatim pokrenuti) NetworkManager kako biste primijenili promjene kako je prikazano.

# systemctl restart NetworkManager

Za ponovno učitavanje konfiguracije demona NetworkManager (ali ne i konfiguracijske datoteke jedinice systemd) bez ponovnog pokretanja usluge, pokrenite sljedeću naredbu.

# systemctl reload NetworkManager

Korištenje alata NetworkManager i rad s ifcfg datotekama

NetworkManager podržava neke alate za interakciju korisnika s njim, a to su:

  1. nmcli - alat naredbenog retka koji se koristi za konfiguriranje umrežavanja.
  2. nmtui - jednostavno tekstualno korisničko sučelje temeljeno na psovkama, koje se također koristi za konfiguriranje i upravljanje vezama sučelja newtwork.
  3. Ostali alati uključuju nm-connection-editor, control-center i ikonu mrežne veze (sve pod GUI-jem).

Da biste popisali uređaje koje je otkrio NetworkManager, pokrenite naredbu nmcli.

 
# nmcli device 
OR
# nmcli device status

Da biste pogledali sve aktivne veze, pokrenite sljedeću naredbu (imajte na umu da bez -a navodi popis dostupnih profila veze).

# nmcli connection show -a

Datoteke za konfiguraciju specifične za mrežno sučelje nalaze se u direktoriju/etc/sysconfig/network-scripts /. Možete urediti bilo koju od ovih datoteka, na primjer, za postavljanje statičke IP adrese za vaš CentOS/RHEL 8 poslužitelj.

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

Evo primjera konfiguracije za postavljanje statičke IP adrese.

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

Nakon spremanja promjena, morate ponovo učitati sve profile veze ili ponovno pokrenuti NetworkManager da bi se primijenile nove promjene.

# nmcli connection reload
OR
# systemctl restart NetworkManager

Pokretanje ili zaustavljanje mrežnih usluga/skripti na temelju mrežne povezanosti

NetworkManager ima korisnu opciju koja omogućuje korisnicima izvršavanje usluga (poput NFS, SMB itd.) Ili jednostavnih skripti na temelju mrežne povezanosti.

Na primjer, ako želite automatski montirati NFS dionice nakon prebacivanja između mreža. Možda ćete htjeti da se takve mrežne usluge izvršavaju sve dok NetworkManager ne bude pokrenut i pokrenut (sve su veze aktivne).

Ovu značajku pruža usluga NetworkManager-dispečer (koja se mora pokrenuti i omogućiti za automatsko pokretanje pri pokretanju sustava). Nakon što se usluga pokrene, možete dodati svoje skripte u direktorij /etc/NetworkManager/dispatcher.d.

Sve skripte moraju biti izvršne i pisane u vlasništvu root-a, na primjer:

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

Važno: Dispečerske skripte izvršavat će se abecednim redom u vrijeme povezivanja i obrnutim abecednim redom u vrijeme prekida veze.

Kao što smo ranije spomenuli, mrežne skripte su zastarjele u CentOS/RHEL 8 i ne postavljaju se prema zadanim postavkama. Ako i dalje želite koristiti mrežne skripte, morate instalirati paket mrežnih skripti.

# yum install network-scripts

Jednom instaliran, ovaj paket nudi novu verziju ifup i ifdown skripti koje pozivaju NetworkManager putem nmcli alata koji smo gledali gore. Imajte na umu da bi NetworkManager trebao biti pokrenut da biste mogli pokretati ove skripte.

Za više informacija pogledajte stranice systemctl i NetworkManager man.

# man systemctl
# man NetworkManager

To je sve što smo pripremili u ovom članku. Možete potražiti pojašnjenje o bilo kojoj točki ili postaviti pitanja ili dodati bilo koji dodatak ovom vodiču putem obrasca za povratne informacije u nastavku.