Kā pārvaldīt tīklošanu, izmantojot NetworkManager RHEL/CentOS 8


RHEL un CentOS 8 tīkla pakalpojumu pārvalda NetworkManager dēmons, un tas tiek izmantots, lai dinamiski konfigurētu un kontrolētu tīkla ierīces un uzturētu savienojumus aktīvus, kad tie ir pieejami.

NetworkManager piedāvā daudzas priekšrocības, piemēram, atbalstu ērtai tīkla iestatīšanai un pārvaldībai, izmantojot gan komandrindas interfeisu, gan grafiskā lietotāja interfeisa rīkus, nodrošina API caur D-Bus, kas ļauj vaicāt un kontrolēt tīkla konfigurāciju, konfigurācijas elastības atbalstu un daudz ko citu.

Turklāt NetworkManager var konfigurēt arī, izmantojot failus un Cockpit tīmekļa konsoli, un tā atbalsta pielāgotu skriptu izmantošanu citu pakalpojumu sākšanai vai apturēšanai, pamatojoties uz savienojuma statusu.

Pirms mēs ejam tālāk, daži citi svarīgi punkti, kas jāņem vērā par tīkla izveidi CentOS/RHEL 8:

  • Tradicionālie ifcfg tipa konfigurācijas faili (piemēram, ifcfg-eth0, ifcfg-enp0s3) joprojām tiek atbalstīti.
  • Tīkla skripti ir novecojuši un pēc noklusējuma vairs netiek nodrošināti.
  • Minimāla instalēšana nodrošina jaunu ifup un ifdown skriptu versiju, kas izsauc NetworkManager, izmantojot nmcli rīku.
  • Lai palaistu ifup un ifdown skriptus, jādarbojas NetworkManager.

NetworkManager instalēšana CentOS/RHEL 8

NetworkManager vajadzētu būt iepriekš instalētam CentOS/RHEL 8 pamata instalācijā, pretējā gadījumā to varat instalēt, izmantojot DNF pakotņu pārvaldnieku, kā parādīts.

# dnf install NetworkManager

NetworkManager globālais konfigurācijas fails atrodas vietnē /etc/NetworkManager/NetworkManager.conf, un papildu konfigurācijas failus var atrast mapē/etc/NetworkManager /.

NetworkManager pārvaldība, izmantojot Systemctl uz CentOS/RHEL 8

CentOS/RHEL 8 un citās modernās Linux sistēmās, kas ir pieņēmušas systemd (sistēmu un pakalpojumu pārvaldnieku), pakalpojumi tiek pārvaldīti, izmantojot rīku systemctl.

Šīs ir noderīgas sistēmasctl komandas, lai pārvaldītu pakalpojumu NetworkManager.

Minimālai CentOS/RHEL 8 instalēšanai pēc noklusējuma ir jāaktivizē un jāaktivizē NetworkManager, lai automātiski sāktu sāknēšanas laikā. Varat izmantot šīs komandas, lai pārbaudītu, vai NetworkManager ir aktīvs, iespējots un izdrukātu NetworkManager izpildlaika statusu.

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

Ja NetworkManager nedarbojas, varat to sākt, vienkārši palaižot.

# systemctl start NetworkManager

Lai viena vai otra iemesla dēļ apturētu vai deaktivizētu NetworkManager, izdodiet šādu komandu.

# systemctl stop NetworkManager

Ja esat veicis kādas izmaiņas saskarnes konfigurācijas failos vai NetworkManager dēmona konfigurācijā (parasti atrodas zem/etc/NetworkManager/direktorija), varat restartēt (apturēt un pēc tam palaist) NetworkManager, lai piemērotu izmaiņas, kā parādīts attēlā.

# systemctl restart NetworkManager

Lai atkārtoti ielādētu NetworkManager dēmona konfigurāciju (bet ne sistēmasd vienības konfigurācijas failu), restartējot pakalpojumu, izpildiet šo komandu.

# systemctl reload NetworkManager

NetworkManager rīku izmantošana un darbs ar ifcfg failiem

NetworkManager atbalsta dažus rīkus, lai lietotāji varētu ar to mijiedarboties, piemēram:

  1. nmcli - komandrindas rīks, ko izmanto tīkla konfigurēšanai.
  2. nmtui - vienkārša uz lādiem balstīta teksta lietotāja saskarne, ko izmanto arī, lai konfigurētu un pārvaldītu newtwork saskarnes savienojumus.
  3. Citi rīki ietver nm savienojuma redaktoru, vadības centru un tīkla savienojuma ikonu (viss zem GUI).

Lai uzskaitītu NetworkManager noteiktās ierīces, palaidiet komandu nmcli.

 
# nmcli device 
OR
# nmcli device status

Lai skatītu visus aktīvos savienojumus, palaidiet šo komandu (ņemiet vērā, ka bez -a tiek uzskaitīti pieejamie savienojuma profili).

# nmcli connection show -a

Konfigurācijas faili, kas saistīti ar tīkla interfeisu, atrodas direktorijā/etc/sysconfig/network-scripts /. Varat rediģēt jebkuru no šiem failiem, piemēram, lai iestatītu statisku IP adresi savam CentOS/RHEL 8 serverim.

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

Šeit ir konfigurācijas paraugs statiskas IP adreses iestatīšanai.

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ēc izmaiņu saglabāšanas jums jāielādē visi savienojuma profili vai jārestartē NetworkManager, lai jaunās izmaiņas tiktu piemērotas.

# nmcli connection reload
OR
# systemctl restart NetworkManager

Tīkla pakalpojumu/skriptu palaišana vai pārtraukšana, pamatojoties uz tīkla savienojamību

NetworkManager ir noderīga opcija, kas ļauj lietotājiem izpildīt pakalpojumus (piemēram, NFS, SMB utt.) Vai vienkāršus skriptus, kuru pamatā ir tīkla savienojamība.

Piemēram, ja vēlaties pārslēgt NFS akcijas pēc pārslēgšanās starp tīkliem. Varat vēlēties, lai šādi tīkla pakalpojumi tiktu izpildīti, kamēr NetworkManager nav palaists un darbojas (visi savienojumi ir aktīvi).

Šo funkciju nodrošina NetworkManager-dispečera pakalpojums (kas jāaktivizē un jāaktivizē, lai automātiski sāktu sistēmas sāknēšanas laikā). Kad pakalpojums darbojas, skriptus varat pievienot direktorijā /etc/NetworkManager/dispatcher.d.

Visiem skriptiem jābūt izpildāmiem un rakstāmiem, un tiem jābūt root īpašniekiem, piemēram:

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

Svarīgi: Dispečera skripti tiks izpildīti alfabētiskā secībā savienojuma laikā un apgrieztā alfabētiskā secībā atvienošanas laikā.

Kā jau minējām iepriekš, tīkla skripti CentOS/RHEL 8 ir novecojuši un pēc noklusējuma netiek instalēti. Ja jūs joprojām vēlaties izmantot tīkla skriptus, jums jāinstalē tīkla skriptu pakotne.

# yum install network-scripts

Pēc instalēšanas šī pakotne nodrošina jaunu ifup un ifdown skriptu versiju, kas izsauc NetworkManager, izmantojot iepriekš apskatīto nmcli rīku. Ņemiet vērā, ka, lai palaistu šos skriptus, jādarbojas NetworkManager.

Plašāku informāciju skatiet systemctl un NetworkManager rokasgrāmatā.

# man systemctl
# man NetworkManager

Tas ir viss, ko mēs sagatavojām šajā rakstā. Izmantojot tālāk sniegto atsauksmju veidlapu, varat lūgt skaidrojumu par jebkuru no jautājumiem, uzdot jautājumus vai veikt jebkādus papildinājumus šajā ceļvedī.