Kuidas hallata võrguühendust RHEL/CentOS 8 võrgus NetworkManager


RHEL-is ja CentOS 8-s haldab võrguteenust NetworkManageri deemon ning seda kasutatakse võrguseadmete dünaamiliseks konfigureerimiseks ja juhtimiseks ning ühenduste üleval ja aktiivseks hoidmiseks, kui need on saadaval.

NetworkManageril on mitmeid eeliseid, nagu tugi võrgu hõlpsaks seadistamiseks ja haldamiseks nii käsurea liidese kui ka graafiliste kasutajaliideste tööriistade abil, pakub D-Bus'i kaudu API-d, mis võimaldab päringuid ja juhtimist võrgu konfiguratsioonil, tugi konfiguratsiooni paindlikkusele ja palju muud.

Pealegi saab NetworkManageri konfigureerida ka failide ja Cockpit'i veebikonsooli abil ning see toetab kohandatud skriptide kasutamist muude teenuste käivitamiseks või peatamiseks ühenduse oleku põhjal.

Enne kui läheme kaugemale, on järgmised olulised punktid, mida märkida CentOS/RHEL 8 võrgu loomise kohta:

  • Traditsioonilisi ifcfg tüüpi konfiguratsiooni faile (nt ifcfg-eth0, ifcfg-enp0s3) toetatakse endiselt.
  • Võrgukriptid on aegunud ja neid ei pakuta enam vaikimisi.
  • Minimaalne install pakub uue versiooni ifup- ja ifdown-skriptidest, mis kutsuvad NetworkManageri tööriista nmcli kaudu.
  • ifup- ja ifdown-skriptide käitamiseks peab töötama NetworkManager.

NetworkManageri installimine CentOS/RHEL 8-le

NetworkManager peaks olema eelinstallitud CentOS/RHEL 8 põhiinstallile, vastasel juhul saate selle installida DNF-i paketihalduri abil, nagu näidatud.

# dnf install NetworkManager

NetworkManageri üldine konfiguratsioonifail asub aadressil /etc/NetworkManager/NetworkManager.conf ja täiendavaid konfiguratsioonifaile leiate kataloogist/etc/NetworkManager /.

NetworkManageri haldamine Systemctl abil CentOS/RHEL 8-l

CentOS/RHEL 8-s ja teistes kaasaegsetes Linux-süsteemides, mis on süsteemd (süsteemi- ja teenushaldur) kasutusele võtnud, hallatakse teenuseid tööriista systemctl abil.

Järgnevad on kasulikud systemctl käsud teenuse NetworkManager haldamiseks.

CentOS/RHEL 8 minimaalsel installimisel peaks olema NetworkManager käivitatud ja lubatud vaikimisi käivitamisel automaatselt käivitamisel. Järgmiste käskude abil saate kontrollida, kas NetworkManager on aktiivne, lubatud ja printige NetworkManageri käitusaja teavet.

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

Kui NetworkManager ei tööta, saate selle käivitada lihtsalt käivitades.

# systemctl start NetworkManager

NetworkManageri peatamiseks või desaktiveerimiseks ühel või teisel põhjusel väljastage järgmine käsk.

# systemctl stop NetworkManager

Kui olete liidese konfiguratsioonifailides või NetworkManageri deemoni konfiguratsioonis (mis asub tavaliselt kataloogi/etc/NetworkManager/kataloogis) muudatusi teinud, saate muudatuste rakendamiseks NetworkManageri taaskäivitada (peatada ja seejärel käivitada), nagu näidatud.

# systemctl restart NetworkManager

NetworkManageri deemoni konfiguratsiooni (kuid mitte systemd üksuse konfiguratsioonifaili) uuesti laadimiseks teenust taaskäivitamata käivitage järgmine käsk.

# systemctl reload NetworkManager

NetworkManageri tööriistade kasutamine ja ifcfg-failidega töötamine

NetworkManager toetab kasutajatel sellega suhtlemiseks mõningaid tööriistu:

  1. nmcli - käsurea tööriist, mida kasutatakse võrgu seadistamiseks.
  2. nmtui - lihtne needuspõhine teksti kasutajaliides, mida kasutatakse ka newtwork liideseühenduste konfigureerimiseks ja haldamiseks.
  3. Muud tööriistad hõlmavad nm-ühenduse redaktorit, juhtimiskeskust ja võrguühenduse ikooni (kõik GUI all).

NetworkManageri tuvastatud seadmete loetlemiseks käivitage käsk nmcli.

 
# nmcli device 
OR
# nmcli device status

Kõigi aktiivsete ühenduste kuvamiseks käivitage järgmine käsk (pange tähele, et ilma -a -ta loetletakse saadaolevad ühenduse profiilid).

# nmcli connection show -a

Võrguliidese spetsiifilised konfiguratsioonifailid asuvad kataloogis/etc/sysconfig/network-scripts /. Kõiki neid faile saate redigeerida, näiteks oma CentOS/RHEL 8 serveri staatilise IP-aadressi määramiseks.

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

Siin on näidiskonfiguratsioon staatilise IP-aadressi määramiseks.

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

Pärast muudatuste salvestamist peate uute muudatuste rakendamiseks kõik ühenduse profiilid uuesti laadima või taaskäivitama NetworkManageri.

# nmcli connection reload
OR
# systemctl restart NetworkManager

Võrguteenuste/skriptide käivitamine või peatamine võrguühenduse põhjal

NetworkManageril on kasulik võimalus, mis võimaldab kasutajatel teostada teenuseid (näiteks NFS, SMB jne) või lihtsaid skripte, mis põhinevad võrguühendusel.

Näiteks kui soovite pärast võrkude vahetamist NFS-i aktsiad automaatselt ühendada. Võite soovida, et sellised võrguteenused käivitataks alles siis, kui NetworkManager töötab ja töötab (kõik ühendused on aktiivsed).

Selle funktsiooni pakub NetworkManageri-dispetšeriteenus (mis tuleb süsteemi käivitamisel käivitada ja lubada, et see automaatselt käivitada). Kui teenus töötab, saate skriptid kataloogi /etc/NetworkManager/dispatcher.d lisada.

Kõik skriptid peavad olema käivitatavad ja kirjutatavad ning kuuluvad rootile, näiteks:

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

Tähtis: Dispetšeri skriptid täidetakse ühenduse ajal tähestikulises järjekorras ja katkestamise ajal vastupidises tähestikulises järjekorras.

Nagu me varem mainisime, on võrguskriptid CentOS/RHEL 8-s vananenud ja neid ei installita vaikimisi. Kui soovite ikkagi võrguskripte kasutada, peate installima võrgukriptide paketi.

# yum install network-scripts

Pärast installimist pakub see pakett ifup- ja ifdown-skriptide uut versiooni, mis kutsuvad NetworkManagerit ülaltoodud nmcli tööriista kaudu. Pange tähele, et nende skriptide käitamiseks peaks töötama NetworkManager.

Lisateavet leiate systemctl ja NetworkManageri käsulehtedelt.

# man systemctl
# man NetworkManager

See on kõik, mida me selles artiklis ette valmistasime. Allpool oleva tagasiside vormi kaudu saate küsida selgitusi mis tahes punktide kohta või esitada küsimusi või teha juhendis täiendusi.