Jinsi ya Kusanidi na Kusimamia Viunganisho vya Mtandao Kwa Kutumia Zana ya nmcli
Kama msimamizi wa Linux una zana mbalimbali za kutumia ili kusanidi miunganisho ya mtandao wako, kama vile: nmtui, NetworkManager yako iliyo na kiolesura cha picha cha GNOME na bila shaka nmcli (zana ya amri ya msimamizi wa mtandao).
Nimeona wasimamizi wengi wakitumia nmtui kwa unyenyekevu. Walakini kutumia nmcli huokoa wakati wako, hukupa ujasiri, inaweza kuitumia katika hati na ndio zana ya kwanza kutumia ili kusuluhisha mtandao wako wa seva ya Linux na kurudisha utendakazi wake haraka.
Kuona maoni mengi yanayouliza msaada kuhusu nmcli, niliamua kuandika nakala hii. Kwa kweli unapaswa kusoma kwa uangalifu kurasa za mtu (msaada wa No1 kwako). Kusudi langu ni kuokoa wakati wako na kukuonyesha vidokezo.
Syntax ya nmcli ni:
# nmcli [OPTIONS] OBJECT {COMMAND | help}
Ambapo OBJECT
ni mojawapo ya: jumla, mtandao, redio, muunganisho, kifaa, wakala.
Hatua nzuri ya kuanzia itakuwa kuangalia vifaa vyetu:
# nmcli dev status DEVICE TYPE STATE CONNECTION docker0 bridge connected docker0 virbr0 bridge connected virbr0 enp0s3 ethernet connected enp0s3 virbr0-nic ethernet disconnected -- lo loopback unmanaged --
Kama tunavyoona kwenye safu ya kwanza kuna orodha ya vifaa vya mtandao wetu. Tuna kadi moja ya mtandao yenye jina enp0s3
. Kwenye mashine yako unaweza kuona majina mengine.
Kutaja kunategemea aina ya kadi ya mtandao (ikiwa iko kwenye ubao, kadi ya pci, nk). Katika safu ya mwisho tunaona faili zetu za usanidi ambazo hutumiwa na vifaa vyetu ili kuunganisha kwenye mtandao.
Ni rahisi kuelewa kuwa vifaa vyetu peke yao haviwezi kufanya chochote. Wanahitaji tutengeneze faili ya usanidi ili kuwaambia jinsi ya kufikia muunganisho wa mtandao. Tunaziita faili hizi pia kama \wasifu wa muunganisho. Tunazipata katika saraka /etc/sysconfig/network-scripts.
# cd /etc/sysconfig/network-scripts/ # ls
ifcfg-enp0s3 ifdown-isdn ifup ifup-plip ifup-tunnel ifcfg-lo ifdown-post ifup-aliases ifup-plusb ifup-wireless ifdown ifdown-ppp ifup-bnep ifup-post init.ipv6-global ifdown-bnep ifdown-routes ifup-eth ifup-ppp network-functions ifdown-eth ifdown-sit ifup-ib ifup-routes network-functions-ipv6 ifdown-ib ifdown-Team ifup-ippp ifup-sit ifdown-ippp ifdown-TeamPort ifup-ipv6 ifup-Team ifdown-ipv6 ifdown-tunnel ifup-isdn ifup-TeamPort
Kama unavyoona hapa faili zilizo na jina linaloanza na ifcfg-
(usanidi wa kiolesura) ni wasifu wa muunganisho. Tunapounda muunganisho mpya au kurekebisha uliopo na nmcli au nmtui, matokeo huhifadhiwa hapa kama wasifu wa muunganisho.
Nitakuonyesha mbili kati ya hizo kutoka kwa mashine yangu, moja iliyo na usanidi wa dhcp na moja iliyo na ip tuli.
# cat ifcfg-static1 # cat ifcfg-Myoffice1
Tunatambua kuwa baadhi ya sifa zina thamani tofauti na nyingine hazipo ikiwa si lazima. Wacha tuangalie kwa haraka zaidi muhimu zaidi kati yao.
TYPE
, tuna aina ya ethernet hapa. Tunaweza kuwa na wifi, timu, bondi na mengine.DEVICE
, jina la kifaa cha mtandao ambacho kinahusishwa na wasifu huu.BOOTPROTO
, ikiwa ina thamani \dhcp basi wasifu wetu wa muunganisho huchukua IP inayobadilika kutoka kwa seva ya dhcp, ikiwa ina thamani \hakuna basi haichukui IP inayobadilika na pengine kugawa IP tuli.IPADDR
, ndiyo IP tuli tunayoweka kwa wasifu wetu.PREFIX
, mask ya subnet. Thamani ya 24 inamaanisha 255.255.255.0. Unaweza kuelewa vyema mask ya subnet ikiwa utaandika umbizo lake la jozi. Kwa mfano thamani za 16, 24, 26 ina maana kwamba biti 16, 24 au 26 za kwanza mtawalia ni 1 na zilizosalia 0, kufafanua hasa anwani ya mtandao ni nini na ni aina gani ya ip inayoweza kukabidhiwa.GATEWAY
, IP ya lango.DNS1
,DNS2
, seva mbili za dns tunazotaka kutumia.ONBOOT
, ikiwa ina thamani \ndiyo inamaanisha, kuwa inapowasha kompyuta yetu itasoma wasifu huu na kujaribu kuukabidhi kwa kifaa chake.
Sasa, wacha tuendelee na tuangalie miunganisho yetu:
# nmcli con show
Safu wima ya mwisho ya vifaa hutusaidia kuelewa ni muunganisho upi \JUU na unaofanya kazi na ambao haufanyiki. Katika picha iliyo hapo juu unaweza kuona miunganisho miwili inayotumika: Myoffice1 na enp0s8.
Kidokezo: Ikiwa unataka kuona miunganisho inayotumika tu, chapa:
# nmcli con show -a
Kidokezo: Unaweza kutumia Kichupo cha kugonga kiotomatiki unapotumia nmcli, lakini ni bora kutumia umbizo la chini la amri. Kwa hivyo, amri zifuatazo ni sawa:
# nmcli connection show # nmcli con show # nmcli c s
Ikiwa nitaangalia anwani za ip za vifaa vyangu:
# ip a
Ninaona kwamba kifaa changu enp0s3
kilichukua 192.168.1.6 IP kutoka kwa seva ya dhcp, kwa sababu wasifu wa muunganisho Myoffice1
ulio juu una usanidi wa dhcp. Nikileta \juu
wasifu wangu wa muunganisho wenye jina static1
basi kifaa changu kitachukua IP tuli 192.168.1.40 kama inavyofafanuliwa katika wasifu wa muunganisho.
# nmcli con down Myoffice1 ; nmcli con up static1 # nmcli con show
Hebu tuone anwani ya IP tena:
# ip a
Tunaweza kutengeneza wasifu wetu wa kwanza wa muunganisho. Sifa za chini ambazo lazima tufafanue ni aina, ifname na con-name:
aina
- kwa aina ya muunganisho.ifname
- kwa jina la kifaa ambalo limekabidhiwa muunganisho wetu.con-name
- kwa jina la muunganisho.
Hebu tufanye muunganisho mpya wa ethaneti kwa jina Myhome1
, lililowekwa kwenye kifaa enp0s3
:
# nmcli con add type ethernet con-name Myhome1 ifname enp0s3
Angalia usanidi wake:
# cat ifcfg-Myhome1
Kama unavyoona ina BOOTPROTO=dhcp
, kwa sababu hatukutoa anwani yoyote ya ip tuli.
Kidokezo: Tunaweza kurekebisha muunganisho wowote kwa \nmcli con mod\
amri. Hata hivyo ukirekebisha muunganisho wa dhcp na kuubadilisha kuwa tuli usisahau kubadilisha \ipv4.method
yake kutoka \auto
hadi \ mwongozo”
. Vinginevyo utaishia na anwani mbili za IP: moja kutoka kwa seva ya dhcp na ile tuli.
Hebu tutengeneze wasifu mpya wa muunganisho wa Ethaneti kwa jina static2
, ambayo itatumwa kwa kifaa enp0s3
, yenye IP tuli 192.168.1.50, subnet mask 255.255.255.0=24 na lango 192.168 .1.1.
# nmcli con add type ethernet con-name static2 ifname enp0s3 ip4 192.168.1.50/24 gw4 192.168.1.1
Angalia usanidi wake:
# cat ifcfg-static2
Hebu turekebishe wasifu wa mwisho wa uunganisho na uongeze seva mbili za dns.
# nmcli con mod static2 ipv4.dns “8.8.8.8 8.8.4.4”
Kidokezo: Kuna jambo hapa unapaswa kuzingatia: sifa za anwani ya IP na lango huwa na majina tofauti unapoongeza na unaporekebisha muunganisho. Unapoongeza miunganisho unatumia \ip4
na \gw4
, wakati unapoirekebisha unatumia \ipv4
na < msimbo>\gwv4.
Sasa hebu tulete wasifu huu wa unganisho:
# nmcli con down static1 ; nmcli con up static2
Kama unavyoona, kifaa enp0s3
sasa kina anwani ya IP 192.168.1.50.
# ip a
Kidokezo: Kuna sifa nyingi unaweza kurekebisha. Ikiwa huzikumbuki kwa moyo unaweza kujisaidia kwa kuandika \nmcli con show
na baada ya hapo jina la muunganisho:
# nmcli con show static2
Unaweza kurekebisha sifa hizi zote zilizoandikwa kwa herufi ndogo.
Kwa mfano: unaposhusha wasifu wa muunganisho, NetworkManager hutafuta wasifu mwingine wa muunganisho na kuuleta moja kwa moja. (Naiacha kama zoezi la kuiangalia). Ikiwa hutaki wasifu wako wa muunganisho uunganishwe kiotomatiki:
# nmcli con mod static2 connection.autoconnect no
Zoezi la mwisho ni la manufaa sana: ulitengeneza wasifu wa muunganisho lakini unataka utumike na watumiaji mahususi. Ni vizuri kuainisha watumiaji wako!
Tunamruhusu mtumiaji stella pekee kutumia wasifu huu:
# nmcli con mod static2 connection.permissions stella
Kidokezo: Ikiwa ungependa kutoa ruhusa kwa zaidi ya watumiaji mmoja, ni lazima uandike user:user1,user2
bila nafasi tupu kati yao:
# nmcli con mod static2 connection.permissions user:stella,john
Ukiingia kama mtumiaji mwingine huwezi kuleta \up wasifu huu wa muunganisho:
# nmcli con show # nmcli con up static2 # ls /etc/sysconfig/network-scripts
Ujumbe wa makosa unasema kwamba unganisho 'static2' haipo, hata ikiwa tunaona kuwa iko. Hiyo ni kwa sababu mtumiaji wa sasa hana ruhusa ya kuleta muunganisho huu.
Hitimisho: usisite kutumia nmcli. Ni rahisi na inasaidia.