Jinsi ya Kudhibiti Mtandao na NetworkManager katika RHEL/CentOS 8


Katika RHEL na CentOS 8 huduma ya mtandao inadhibitiwa na daemon ya NetworkManager na inatumika kusanidi na kudhibiti vifaa vya mtandao kwa nguvu na kudumisha miunganisho na kufanya kazi inapopatikana.

NetworkManager inakuja na manufaa mengi kama vile usaidizi wa usanidi na usimamizi rahisi wa mtandao kwa kutumia kiolesura cha mstari amri na zana za kiolesura za picha za mtumiaji, hutoa API kupitia D-Bus ambayo inaruhusu kuuliza na kudhibiti usanidi wa mtandao, usaidizi wa kubadilika kwa usanidi na mengi zaidi.

Kando na hilo, NetworkManager pia inaweza kusanidiwa kwa kutumia faili, na dashibodi ya wavuti ya Cockpit na inasaidia utumiaji wa hati maalum kuanza au kusimamisha huduma zingine kulingana na hali ya muunganisho.

Kabla hatujaenda mbali zaidi, yafuatayo ni mambo mengine muhimu ya kuzingatia kuhusu mitandao katika CentOS/RHEL 8:

  • Usanidi wa kawaida wa aina ya ifcfg (km. ifcfg-eth0, ifcfg-enp0s3) faili bado zinatumika.
  • Hati za mtandao zimeacha kutumika na hazitolewi tena kwa chaguo-msingi.
  • Usakinishaji mdogo hutoa toleo jipya la hati za ifup na ifdown ambazo huita NetworkManager kupitia zana ya nmcli.
  • Ili kuendesha hati za ifup na ifdown, NetworkManager lazima iwe inaendesha.

Inasakinisha NetworkManager kwenye CentOS/RHEL 8

NetworkManager inapaswa kuja ikiwa imesakinishwa awali kwenye usakinishaji wa msingi wa CentOS/RHEL 8, vinginevyo, unaweza kuisakinisha kwa kutumia kidhibiti cha kifurushi cha DNF kama inavyoonyeshwa.

# dnf install NetworkManager

Faili ya usanidi ya kimataifa ya NetworkManager iko kwenye /etc/NetworkManager/NetworkManager.conf na faili za usanidi za ziada zinaweza kupatikana katika /etc/NetworkManager/.

Kusimamia NetworkManager Kwa Kutumia Systemctl kwenye CentOS/RHEL 8

Katika CentOS/RHEL 8, na mifumo mingine ya kisasa ya Linux ambayo imechukua systemd (kidhibiti cha mfumo na huduma), huduma zinadhibitiwa kwa kutumia zana ya systemctl.

Zifuatazo ni amri muhimu za systemctl za kudhibiti huduma ya NetworkManager.

Usakinishaji mdogo wa CentOS/RHEL 8 unapaswa kuwa na NetworkManager ianze na kuwezeshwa ili kuanza kiotomatiki wakati wa kuwasha, kwa chaguomsingi. Unaweza kutumia amri zifuatazo ili kuangalia kama NetworkManager inatumika, imewashwa, na kuchapisha taarifa ya hali ya wakati wa utekelezaji ya NetworkManager.

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

Ikiwa NetworkManager haifanyi kazi, unaweza kuianzisha kwa kukimbia tu.

# systemctl start NetworkManager

Kusimamisha au kulemaza NetworkManager kwa sababu moja au nyingine, toa amri ifuatayo.

# systemctl stop NetworkManager

Ikiwa umefanya mabadiliko yoyote kwa faili za usanidi wa kiolesura au usanidi wa daemon ya NetworkManager (kawaida iko chini ya saraka ya /etc/NetworkManager/), unaweza kuanzisha upya (kusimamisha na kisha kuanza) NetworkManager ili kutekeleza mabadiliko kama inavyoonyeshwa.

# systemctl restart NetworkManager

Ili kupakia upya usanidi wa daemon ya NetworkManager (lakini si faili ya usanidi wa kitengo cha systemd) bila kuanzisha upya huduma, endesha amri ifuatayo.

# systemctl reload NetworkManager

Kutumia Vyombo vya NetworkManager na Kufanya kazi na Ifcfg Files

NetworkManager inasaidia baadhi ya zana kwa watumiaji kuingiliana nayo, ambazo ni:

  1. nmcli - zana ya mstari wa amri inayotumiwa kusanidi mtandao.
  2. nmtui – kiolesura rahisi cha maandishi kulingana na laana, ambacho hutumika pia kusanidi na kudhibiti miunganisho ya kiolesura cha newtwork.
  3. Zana zingine ni pamoja na nm-connection-editor, control-center, na ikoni ya muunganisho wa mtandao (yote chini ya GUI).

Ili kuorodhesha vifaa vilivyotambuliwa na NetworkManager, endesha amri ya nmcli.

 
# nmcli device 
OR
# nmcli device status

Kutazama miunganisho yote inayotumika, endesha amri ifuatayo (kumbuka kuwa bila -a, inaorodhesha wasifu wa muunganisho unaopatikana).

# nmcli connection show -a

Faili za usanidi za kiolesura mahususi ziko kwenye saraka /etc/sysconfig/network-scripts/. Unaweza kuhariri faili zozote kati ya hizi, kwa mfano, ili kuweka anwani ya IP tuli kwa seva yako ya CentOS/RHEL 8.

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

Hapa kuna sampuli ya usanidi wa kuweka anwani ya IP tuli.

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

Baada ya kuhifadhi mabadiliko, unahitaji kupakia upya wasifu wote wa uunganisho au kuanzisha upya NetworkManager ili mabadiliko mapya yatekelezwe.

# nmcli connection reload
OR
# systemctl restart NetworkManager

Kuanzisha au Kusimamisha Huduma/Hati za Mtandao Kulingana na Muunganisho wa Mtandao

NetworkManager ina chaguo muhimu ambalo huruhusu watumiaji kutekeleza huduma (kama vile NFS, SMB, n.k.) au hati rahisi kulingana na muunganisho wa mtandao.

Kwa mfano, ikiwa unataka kuweka hisa za NFS kiotomatiki baada ya kubadili kati ya mitandao. Unaweza kutaka huduma kama hizi za mtandao zitekelezwe hadi NetworkManager iwashwe na kufanya kazi (miunganisho yote iko amilifu).

Kipengele hiki kinatolewa na huduma ya NetworkManager-dispatcher (ambayo lazima ianzishwe na kuwezeshwa ili kuanza kiotomatiki kwenye mfumo wa kuwasha). Mara tu huduma inapofanya kazi, unaweza kuongeza hati zako kwenye saraka ya /etc/NetworkManager/dispatcher.d.

Hati zote lazima zitekelezwe na kuandikwa, na kumilikiwa na mzizi, kwa mfano:

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

Muhimu: Hati za kituma zitatekelezwa kwa mpangilio wa alfabeti wakati wa unganisho, na kwa mpangilio wa kialfabeti wa kinyume wakati wa kukatwa.

Kama tulivyotaja hapo awali, hati za mtandao hazitumiki katika CentOS/RHEL 8 na hazijasakinishwa kwa chaguo-msingi. Ikiwa bado unataka kutumia hati za mtandao, unahitaji kusakinisha kifurushi cha hati za mtandao.

# yum install network-scripts

Mara tu ikiwa imewekwa, kifurushi hiki hutoa toleo jipya la hati za ifup na ifdown ambazo huita NetworkManager kupitia zana ya nmcli ambayo tumeangalia hapo juu. Kumbuka kuwa NetworkManager inapaswa kuwa inakuendesha wewe kuendesha hati hizi.

Kwa habari zaidi, angalia kurasa za mtu za systemctl na NetworkManager.

# man systemctl
# man NetworkManager

Hiyo ndiyo yote tuliyotayarisha katika makala hii. Unaweza kutafuta ufafanuzi juu ya hoja zozote au kuuliza maswali au kufanya nyongeza zozote kwenye mwongozo huu kupitia fomu ya maoni iliyo hapa chini.