Kusimamia miunganisho ya mtandao katika Linux kwa kutumia matumizi ya kiweko cha nmcli

Pata manufaa kamili ya zana ya usimamizi wa mtandao wa NetworkManager kwenye mstari wa amri wa Linux kwa kutumia matumizi ya nmcli.

Kusimamia miunganisho ya mtandao katika Linux kwa kutumia matumizi ya kiweko cha nmcli

Huduma nmcli moja kwa moja huita API kufikia vitendaji vya NetworkManager.

Ilionekana mnamo 2010 na kwa wengi imekuwa njia mbadala ya kusanidi miingiliano ya mtandao na viunganisho. Ingawa watu wengine bado wanatumia ifconfig. Kwa sababu nmcli ni zana ya kiolesura cha amri (CLI) iliyoundwa kwa ajili ya matumizi katika madirisha ya wastaafu na hati, ni bora kwa wasimamizi wa mfumo wanaofanya kazi bila GUI.

ncmli syntax ya amri

Kwa ujumla, syntax inaonekana kama hii:

$ nmcli <options> <section> <action>

  • chaguzi ni vigezo vinavyoamua ujanja wa operesheni ya nmcli,
  • sehemu (sehemu) - huamua ni huduma zipi za matumizi,
  • hatua - hukuruhusu kutaja kile kinachohitajika kufanywa.

Kuna sehemu 8 kwa jumla, ambayo kila moja inahusishwa na seti fulani ya amri (vitendo):

  • Msaada hutoa msaada kuhusu ncmcli amri na matumizi yao.
  • ujumla inarudisha hali ya NetworkManager na usanidi wa kimataifa.
  • Networking inajumuisha amri za kuuliza hali ya muunganisho wa mtandao na kuwezesha/kuzima miunganisho.
  • radio inajumuisha amri za kuuliza hali ya muunganisho wa mtandao wa WiFi na kuwezesha/kuzima miunganisho.
  • Kufuatilia inajumuisha amri za ufuatiliaji wa shughuli za NetworkManager na kuangalia mabadiliko katika hali ya miunganisho ya mtandao.
  • Connection inajumuisha amri za kudhibiti miingiliano ya mtandao, kuongeza miunganisho mipya na kufuta zilizopo.
  • Kifaa hutumika sana kubadilisha vigezo vinavyohusiana na kifaa (kama vile jina la kiolesura) au kuunganisha vifaa kwa kutumia muunganisho uliopo.
  • Siri husajili nmcli kama "wakala wa siri" wa NetworkManager anayesikiliza ujumbe wa siri. Sehemu hii haitumiki sana, kwa sababu nmcli hufanya kazi kwa njia hii kwa chaguo-msingi wakati wa kuunganisha kwenye mitandao.

Mifano rahisi

Kabla ya kuanza, hakikisha NetworkManager inaendesha na nmcli inaweza kuwasiliana nayo:

$ nmcli general
STATE      CONNECTIVITY  WIFI-HW  WIFI     WWAN-HW  WWAN    
connected  full          enabled  enabled  enabled  enabled

Kazi mara nyingi huanza kwa kutazama profaili zote za unganisho la mtandao:

$ nmcli connection show
NAME                UUID                                  TYPE      DEVICE
Wired connection 1  ac3241e4-b424-35d6-aaa7-07498561688d  ethernet  enp0s3
Wired connection 2  2279d917-fa02-390c-8603-3083ec5a1d3e  ethernet  enp0s8
Wired connection 3  52d89737-de92-35ec-b082-8cf2e5ac36e6  ethernet  enp0s9

Amri hii hutumia hatua onyesha kwa sehemu ya Muunganisho.

Mashine ya majaribio inaendesha Ubuntu 20.04. Katika kesi hii, tulipata miunganisho mitatu ya waya: enp0s3, enp0s8, na enp0s9.

Dhibiti miunganisho

Ni muhimu kuelewa kwamba katika nmcli, kwa neno Connection tunamaanisha chombo ambacho kina taarifa zote kuhusu uhusiano. Kwa maneno mengine, hii ni usanidi wa mtandao. Muunganisho hujumuisha maelezo yote yanayohusiana na muunganisho, ikijumuisha safu ya kiungo na maelezo ya anwani ya IP. Hizi ni Tabaka 2 na Tabaka 3 katika muundo wa mtandao wa OSI.

Unapoanzisha mtandao katika Linux, kwa kawaida unaweka miunganisho ambayo itaishia kuunganishwa na vifaa vya mtandao, ambavyo kwa upande wake ni violesura vya mtandao vilivyowekwa kwenye kompyuta. Wakati kifaa kinatumia muunganisho, inachukuliwa kuwa hai au imeinuliwa. Ikiwa muunganisho hautumiki, hautumiki au umewekwa upya.

Inaongeza miunganisho ya mtandao

Huduma ya ncmli hukuruhusu kuongeza haraka na kusanidi miunganisho mara moja. Kwa mfano, ili kuongeza unganisho la waya 2 (na enp0s8), unahitaji kutekeleza amri ifuatayo kama mtumiaji mkuu:

$ sudo nmcli connection add type ethernet ifname enp0s8
Connection 'ethernet-enp0s8' (09d26960-25a0-440f-8b20-c684d7adc2f5) successfully added.

Katika chaguo la aina tunaonyesha kuwa hii itakuwa uunganisho wa Ethernet, na katika jina la jina (jina la interface) tunaonyesha interface ya mtandao ambayo tunataka kutumia.

Hii ndio kitakachotokea baada ya kuendesha amri:

$ nmcli connection show
NAME                UUID                                  TYPE      DEVICE
Wired connection 1  ac3241e4-b424-35d6-aaa7-07498561688d  ethernet  enp0s3
Wired connection 2  2279d917-fa02-390c-8603-3083ec5a1d3e  ethernet  enp0s8
Wired connection 3  52d89737-de92-35ec-b082-8cf2e5ac36e6  ethernet  enp0s9
ethernet-enp0s8     09d26960-25a0-440f-8b20-c684d7adc2f5  ethernet  --  

Muunganisho mpya umeundwa, ethernet-enp0s8. Ilipewa UUID na aina ya unganisho ilikuwa Ethernet. Wacha tuinue kwa kutumia amri ya juu:

$ nmcli connection up ethernet-enp0s8
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/4)

Wacha tuangalie orodha ya miunganisho inayotumika tena:

$ nmcli connection show --active
NAME                UUID                                  TYPE      DEVICE
Wired connection 1  ac3241e4-b424-35d6-aaa7-07498561688d  ethernet  enp0s3
ethernet-enp0s8     09d26960-25a0-440f-8b20-c684d7adc2f5  ethernet  enp0s8
Wired connection 3  52d89737-de92-35ec-b082-8cf2e5ac36e6  ethernet  enp0s9

Muunganisho mpya wa ethernet-enp0s8 umeongezwa, unafanya kazi na unatumia kiolesura cha mtandao cha enp0s8.

Kuweka miunganisho

Huduma ya ncmli inakuwezesha kubadilisha kwa urahisi vigezo vya viunganisho vilivyopo. Kwa mfano, unahitaji kubadilisha anwani yako ya IP inayobadilika (DHCP) hadi anwani ya IP tuli.

Wacha tuseme tunahitaji kuweka anwani ya IP kwa 192.168.4.26. Ili kufanya hivyo tunatumia amri mbili. Ya kwanza itaweka anwani ya IP moja kwa moja, na ya pili itabadilisha njia ya mpangilio wa anwani ya IP kuwa mwongozo:

$ nmcli connection modify ethernet-enp0s8 ipv4.address 192.168.4.26/24
$ nmcli connection modify ethernet-enp0s8 ipv4.method manual

Usisahau pia kuweka mask ya subnet. Kwa muunganisho wetu wa majaribio hii ni 255.255.255.0, au na /24 kwa uelekezaji usio na darasa (CIDR).

Ili mabadiliko yaanze kufanya kazi, unahitaji kuzima kisha uwashe tena muunganisho:

$ nmcli connection down ethernet-enp0s8
Connection 'ethernet-enp0s8' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/4)
$ nmcli connection up ethernet-enp0s8
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveC

Ikiwa, kinyume chake, unahitaji kusakinisha DHCP, tumia otomatiki badala ya mwongozo:

$ nmcli connection modify ethernet-enp0s8 ipv4.method auto

Kufanya kazi na vifaa

Kwa hili tunatumia sehemu ya Kifaa.

Inakagua hali ya kifaa

$ nmcli device status
DEVICE  TYPE      STATE      CONNECTION        
enp0s3  ethernet  connected  Wired connection 1
enp0s8  ethernet  connected  ethernet-enp0s8    
enp0s9  ethernet  connected  Wired connection 3
lo      loopback  unmanaged  --  

Inaomba maelezo ya kifaa

Ili kufanya hivyo, tumia hatua ya kuonyesha kutoka kwa sehemu ya Kifaa (lazima ueleze jina la kifaa). Huduma huonyesha habari nyingi, mara nyingi kwenye kurasa kadhaa.
Hebu tuangalie kiolesura cha enp0s8 ambacho muunganisho wetu mpya hutumia. Wacha tuhakikishe kuwa hutumia anwani ya IP haswa ambayo tuliweka mapema:

$ nmcli device show enp0s8
GENERAL.DEVICE:                         enp0s8
GENERAL.TYPE:                           ethernet
GENERAL.HWADDR:                         08:00:27:81:16:20
GENERAL.MTU:                            1500
GENERAL.STATE:                          100 (connected)
GENERAL.CONNECTION:                     ethernet-enp0s8
GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/ActiveConnection/6
WIRED-PROPERTIES.CARRIER:               on
IP4.ADDRESS[1]:                         192.168.4.26/24
IP4.GATEWAY:                            --
IP4.ROUTE[1]:                           dst = 192.168.4.0/24, nh = 0.0.0.0, mt = 103
IP6.ADDRESS[1]:                         fe80::6d70:90de:cb83:4491/64
IP6.GATEWAY:                            --
IP6.ROUTE[1]:                           dst = fe80::/64, nh = ::, mt = 103
IP6.ROUTE[2]:                           dst = ff00::/8, nh = ::, mt = 256, table=255

Kuna habari nyingi sana. Wacha tuangazie jambo kuu:

  • Jina la kiolesura cha mtandao: enp0s8.
  • Aina ya muunganisho: muunganisho wa Ethernet ya waya.
  • Tunaona anwani ya MAC ya kifaa.
  • Kitengo cha juu zaidi cha usambazaji (MTU) kimebainishwa β€” ukubwa wa juu wa kizuizi cha data muhimu cha pakiti moja ambayo inaweza kupitishwa na itifaki bila kugawanyika.
  • Kifaa imeunganishwa kwa sasa.
  • Jina la muunganishoni kifaa gani kinatumia: ethernet-enp0s8.
  • Kifaa kinatumia Anwani ya IP, ambayo tuliweka mapema: 192.168.4.26/24.

Taarifa nyingine inahusiana na vigezo chaguo-msingi vya uelekezaji na lango la muunganisho. Wanategemea mtandao maalum.

Kihariri cha mwingiliano cha nmcli

nmcli pia ina hariri rahisi inayoingiliana, ambayo inaweza kuwa rahisi kwa mtu kufanya kazi nayo. Ili kuiendesha kwenye muunganisho wa ethernet-enp0s8 kwa mfano, tumia hatua edit:

$ nmcli connection edit ethernet-enp0s8

Pia ina msaada mdogo, ambayo, hata hivyo, ni ndogo kwa ukubwa kuliko toleo la console:

===| nmcli interactive connection editor |===
Editing existing '802-3-ethernet' connection: 'ethernet-enp0s8'
Type 'help' or '?' for available commands.
Type 'print' to show all the connection properties.
Type 'describe [<setting>.<prop>]' for detailed property description.
You may edit the following settings: connection, 802-3-ethernet (ethernet), 802-1x, dcb, sriov, ethtool, match, ipv4, ipv6, tc, proxy
nmcli>

Ukiandika amri ya kuchapisha na ubonyeze Ingiza, nmcli itaonyesha sifa zote za unganisho:

===============================================================================
                 Connection profile details (ethernet-enp0s8)
===============================================================================
connection.id:                          ethernet-enp0s8
connection.uuid:                        09d26960-25a0-440f-8b20-c684d7adc2f5
connection.stable-id:                   --
connection.type:                        802-3-ethernet
connection.interface-name:              enp0s8
connection.autoconnect:                 yes
connection.autoconnect-priority:        0
connection.autoconnect-retries:         -1 (default)
connection.multi-connect:               0 (default)
connection.auth-retries:                -1
connection.timestamp:                   1593967212
connection.read-only:                   no
connection.permissions:                 --
connection.zone:                        --
connection.master:                      --
connection.slave-type:                  --
connection.autoconnect-slaves:          -1 (default)
connection.secondaries:                 --

Kwa mfano, kuweka muunganisho kwa DHCP, chapa goto ipv4 na ubofye kuingia:

nmcli> goto ipv4
You may edit the following properties: method, dns, dns-search, 
dns-options, dns-priority, addresses, gateway, routes, route-metric, 
route-table, routing-rules, ignore-auto-routes, ignore-auto-dns, 
dhcp-client-id, dhcp-iaid, dhcp-timeout, dhcp-send-hostname, 
dhcp-hostname, dhcp-fqdn, dhcp-hostname-flags, never-default, may-fail, 
dad-timeout
nmcli ipv4>

Kisha andika njia ya kuweka kiotomatiki na ubofye kuingia:

nmcli ipv4> set method auto
Do you also want to clear 'ipv4.addresses'? [yes]:

Ikiwa unataka kufuta anwani ya IP tuli, bofya kuingia. Vinginevyo, chapa hapana na bonyeza Enter. Unaweza kuihifadhi ikiwa unafikiri utaihitaji katika siku zijazo. Lakini hata ikiwa na anwani tuli ya IP iliyohifadhiwa, DHCP itatumika ikiwa njia imewekwa kiotomatiki.

Tumia amri ya kuokoa kuokoa mabadiliko yako:

nmcli ipv4> save
Connection 'ethernet-enp0s8' (09d26960-25a0-440f-8b20-c684d7adc2f5) successfully updated.
nmcli ipv4>

Chapa quit ili kuondoka kwenye kihariri cha Maingiliano cha nmcli. Ukibadilisha mawazo yako kuhusu kuondoka, tumia amri ya nyuma.

Na si kwamba wote

Fungua nmcli Interactive Editor na uone ni mipangilio mingapi na ni mali ngapi kila mpangilio ina. Kihariri kinachoingiliana ni zana nzuri, lakini ikiwa unataka kutumia nmcli kwenye safu moja au hati, utahitaji toleo la kawaida la safu ya amri.

Sasa kwa kuwa una mambo ya msingi, angalia ukurasa wa mtu nmcli kuona jinsi nyingine inaweza kukusaidia.

Haki za Matangazo

Seva za Epic - Je, seva za kawaida kwenye Windows au Linux iliyo na vichakataji vya nguvu vya familia vya AMD EPYC na anatoa za Intel NVMe za haraka sana. Haraka ili kuagiza!

Kusimamia miunganisho ya mtandao katika Linux kwa kutumia matumizi ya kiweko cha nmcli

Chanzo: mapenzi.com

Kuongeza maoni