Menaxhojmë lidhjet rrjetësore në Linux me ndihmën e utilitarit të konsolës nmcli

Shfrytëzoni të gjitha mundësitë e mjetit të menaxhimit të lidhjeve rrjetike NetworkManager në linjën e komandave Linux me ndihmën e utilitarit nmcli.

Menaxhojmë lidhjet rrjetësore në Linux me ndihmën e utilitarit të konsolës nmcli

Utilitari nmcli që lidhet drejtpërdrejt me API për të aksesuar funksionet e NetworkManager.

Ajo u shfaq në vitin 2010 dhe për shumë është bërë një mënyrë alternative për të konfiguruar ndërfaqet dhe lidhjet rrjetore. Ndërsa disa ende përdorin ifconfig. Duke qenë se nmcli është një mjet i ndërfaqes së komandave (CLI), i dizajnuar për t'u përdorur në dritaret e terminaleve dhe skenarëve, ai është idéal për administratorët e sistemeve që punojnë pa GUI.

Sintaksa e komandave nmcli

Në përgjithësi, sintaksa duket kështu:

$ nmcli  

  • options — kĂ«to janĂ« parametra qĂ« pĂ«rcaktojnĂ« nuancat e funksionimit tĂ« nmcli,
  • section (seksioni) — pĂ«rcakton se cilat mundĂ«si tĂ« utilitarit duhet tĂ« pĂ«rdoren,
  • action (veprimi) — lejon tĂ« tregohet se çfarĂ« duhet tĂ« bĂ«het, konkretisht.

Në totale ka 8 seksione, secila prej të cilave është e lidhur me një grup komandash (veprimesh):

  • NdihmĂ« jep ndihmĂ« rreth komandave nmcli dhe pĂ«rdorimit tĂ« tyre.
  • General kthen statusin e NetworkManager dhe konfigurimin global.
  • RrjetĂ«zimi pĂ«rfshin komandat pĂ«r tĂ« kĂ«rkuar gjendjen e lidhjes rrjetit dhe pĂ«r tĂ« aktivizuar / çaktivizuar lidhjet.
  • Radio pĂ«rfshin komandat pĂ«r tĂ« kĂ«rkuar gjendjen e lidhjes me rrjetin WiFi dhe pĂ«r tĂ« aktivizuar / çaktivizuar lidhjet.
  • Monitor pĂ«rfshin komandat pĂ«r tĂ« monitoruar aktivitetin e NetworkManager dhe pĂ«r tĂ« vĂ«zhguar ndryshimet e gjendjes sĂ« lidhjeve rrjetĂ«rore.
  • Connection pĂ«rfshin komandat pĂ«r menaxhimin e interface-ve tĂ« rrjetit, pĂ«r shtimin e lidhjeve tĂ« reja dhe pĂ«r heqjen e atyre ekzistuese.
  • Device pĂ«rdoret kryesisht pĂ«r tĂ« ndryshuar parametrat qĂ« lidhen me pajisjet (pĂ«r shembull, emrin e interface-it) ose pĂ«r tĂ« lidhur pajisje duke pĂ«rdorur njĂ« lidhje ekzistuese.
  • Secret regjistron nmcli si njĂ« «agjent tĂ« fshehtë» tĂ« NetworkManager, i cili dĂ«gjon mesazhet sekrete. Kjo seksion pĂ«rdoret rrallĂ«, sepse nmcli funksionon kĂ«shtu automatikisht kur lidhjet me rrjetet.

Shembuj të thjeshtë

Para se të filloni, sigurohuni që NetworkManager është në punë dhe nmcli mund të komunikojë me të:

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

Shpesh puna fillon me shikimin e të gjitha profileve të lidhjeve të rrjetit:

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

Ky komand përdor veprimin show për seksionin Connection.

Në makinën testuese është instaluar Ubuntu 20.04. Në këtë rast, ne gjetëm tre lidhje kablli: enp0s3, enp0s8, dhe enp0s9.

Menaxhimi i lidhjeve

ËshtĂ« e rĂ«ndĂ«sishme tĂ« kuptoni se nĂ« nmcli, me termin Connection nĂ«nkuptojmĂ« njĂ« entitet qĂ« pĂ«rmban tĂ« gjithĂ« informacionin rreth lidhjes. Me fjalĂ« tĂ« tjera, kjo Ă«shtĂ« konfigurimi rrjetit. Connection inkapsulon tĂ« gjithĂ« informacionin lidhur me lidhjet, duke pĂ«rfshirĂ« nivelin e kanalit dhe informacionin pĂ«r adresat IP. Kjo Ă«shtĂ« niveli 2 dhe niveli 3 nĂ« modelin OSI.

Kur konfiguroni rrjetin në Linux, zakonisht konfiguroni lidhje që në fund do të lidhen me pajisjet rrjetërore, të cilat po ashtu janë ndërfaqet rrjetërore të instaluara në kompjuter. Kur një pajisje përdor një lidhje, ajo quhet aktive ose e ngritur. Nëse lidhja nuk po përdoret, atëherë ajo është joaktive ose e ridërguar.

Shtimi i lidhjeve rrjetërore

Mjeti ncmli ju lejon të shtoni shpejt dhe menjëherë të konfiguroni lidhjet. Për shembull, për të shtuar lidhjen e kabllit 2 (me enp0s8), duhet të ekzekutoni komandën e mëposhtme si superpërdorues:

$ sudo nmcli connection add type ethernet ifname enp0s8
Lidhja 'ethernet-enp0s8' (09d26960-25a0-440f-8b20-c684d7adc2f5) u shtua me sukses.

Në opsionin type ne tregojmë se kjo do të jetë një lidhje Ethernet, dhe në opsionin ifname (emri i interfaces) tregojmë interfacin rrjetësor që duam të përdorim.

Ja çfarë do të ndodhë pas ekzekutimit të komandës:

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

Krijohet një lidhje e re, ethernet-enp0s8. I është caktuar një UUID, tipi i lidhjes është Ethernet. Ta aktivizojmë me komandën up:

$ nmcli connection up ethernet-enp0s8
Lidhja u aktivizua me sukses (Rruga aktive e D-Bus: /org/freedesktop/NetworkManager/ActiveConnection/4)

Njëherë tjetër kontrollojmë listën e lidhjeve aktive:

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

U shtua një lidhje e re ethernet-enp0s8, ajo është aktive dhe përdor ndërfaqen rrjetore enp0s8.

Konfigurimi i lidhjeve

Utiliteti ncmli lejon lehtësisht të ndryshoni parametrrat e lidhjeve ekzistuese. Për shembull, nëse keni nevojë të ndryshoni një adresë IP dinamike (DHCP) në një adresë IP statike.

Le të themi që na nevojitet të vendosim adresën IP në 192.168.4.26. Për këtë, do të përdorim dy komandat. E para do të vendosë konkretisht adresën IP, dhe tjetra do të ndryshojë metodën e vendosjes së adresës IP në "manual":

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

Mos harroni gjithashtu të përcaktoni maskën e subnet-it. Për lidhjen tonë testuese kjo është 255.255.255.0, ose me /24 për ndarjen e klasave (CIDR).

Për t'u siguruar që ndryshimet të hyjnë në fuqi, duhet të çaktivizoni dhe pastaj aktivizoni lidhjen përsëri:

$ nmcli connection down ethernet-enp0s8
Lidhja 'ethernet-enp0s8' u çaktivizua me sukses (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/4)
$ nmcli connection up ethernet-enp0s8
Lidhja u aktivizua me sukses (D-Bus active path: /org/freedesktop/NetworkManager/ActiveC

Nëse përkundrazi keni nevojë të vendosni DHCP, në vend të manual përdorni auto:

$ nmcli connection modify ethernet-enp0s8 ipv4.method auto

Puna me pajisjet

Për këtë ne përdorim seksionin Device.

Kontrolloni statusin e pajisjeve

$ 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  --  

Kërkoni informacion mbi pajisjen

Për këtë, përdorim veprimin show nga seksioni Device (duhet të tregoni emrin e pajisjes). Vegla tregon shumë informacion, shpesh në disa faqe.
Le të shohim ndërfaqen enp0s8, e cila përdor lidhjen tonë të re. Të sigurohemi se ajo përdor saktësisht atë adresë IP që e kemi vendosur më parë:

$ 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

Ka shumë informacion. Le të theksojmë të rëndësishmit:

  • Emri i ndĂ«rfaqes rrjetit: enp0s8.
  • Lloji i lidhjes: lidhje Ethernet me kabull.
  • Ne shohim adresĂ«n MAC tĂ« pajisjes.
  • ËshtĂ« specifikuar Maximum transmission unit (MTU) — madhĂ«sia maksimale e njĂ« njĂ«sie tĂ« dhĂ«nash qĂ« mund tĂ« dĂ«rgohet nga protokolli pa fragmetim.
  • Pajisja e lidhur aktualisht.
  • Emri i lidhjes, e cila pĂ«rdor pajisjen: ethernet-enp0s8.
  • Pajisja pĂ«rdor atĂ« IP adresĂ«, tĂ« cilin ne e vendosĂ«m mĂ« parĂ«: 192.168.4.26/24.

Informacioni tjetër ka të bëjë me parametrat default të rutigjës dhe derës së lidhjes. Ato varen nga rrjeti specifik.

Redaktori interaktiv nmcli

nmcli gjithashtu ka një redaktor interaktiv të thjeshtë, ku dikush mund të punojë më lehtë. Për ta nisur, për shembull, për lidhjen ethernet-enp0s8, përdorni veprimin edit:

$ nmcli connection edit ethernet-enp0s8

Ai gjithashtu ka një ndihmë të vogël, e cila, megjithatë, është më e vogël se versioni konsol.

===| nmcli redaktori interaktiv i lidhjes |===
Po redakton lidhjen ekzistuese '802-3-ethernet': 'ethernet-enp0s8'
Shkruani 'help' ose '?' për komandat e disponueshme.
Shkruani 'print' për të treguar të gjitha pronësitë e lidhjes.
Shkruani 'describe [<setting>.<prop>]' për përshkrim të detajuar të pronësisë.
Mund të redaktoni cilësimet e mëposhtme: lidhja, 802-3-ethernet (ethernet), 802-1x, dcb, sriov, ethtool, match, ipv4, ipv6, tc, proxy
nmcli>

Nëse futni komandën print dhe shtypni Enter, nmcli do të shfaqë të gjitha pronat e lidhjes:

===============================================================================
                 Detajet e profilit të lidhjes (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:                 --

Për shembull, për të vendosur pronën DHCP për lidhjen, shkruani goto ipv4 dhe shtypni Enter:

nmcli> goto ipv4
Ju mund të redaktoni pronat e mëposhtme: 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>

Pastaj shkruaj set method auto dhe shtypni Enter:

nmcli ipv4> set method auto
A dëshironi gjithashtu të pastroni 'ipv4.addresses'? [yes]:

Nëse dëshironi të pastroni adresën statike IP, klikoni Enter. Përndryshe, shkruani no dhe shtypni Enter. Mund ta ruani, nëse mendoni se do t'ju nevojitet në të ardhmen. Por, edhe me një adresë IP statike të ruajtur, do të përdoret DHCP, nëse metoda është e vendosur në auto.

Përdorni komandën save për të ruajtur ndryshimet:

nmcli ipv4> save
Konekcioni 'ethernet-enp0s8' (09d26960-25a0-440f-8b20-c684d7adc2f5) është përditësuar me sukses.
nmcli ipv4>

Shkruani quit pĂ«r tĂ« dalĂ« nga redaktori interaktiv nmcli. NĂ«se e keni ndryshuar mendjen pĂ«r tĂ« dalĂ« — pĂ«rdorni komandĂ«n back.

Dhe kjo është vetëm një pjesë e vogël

Hapni redaktorin interaktiv nmcli dhe shikoni sa konfigurime ekzistojnë dhe sa pronësi ka çdo konfigurim. Redaktori interaktiv është një mjet i shkëlqyer, por, nëse dëshironi të përdorni nmcli në një linjë të vetme ose skripte, do t'ju nevojitet versioni standard për linjën e komandave.

Tani që keni bazat, njihuni me faqen e ndihmës nmcli, për të zbuluar se çfarë tjetër mund t'ju ndihmojë.

Si reklamë

Servera epik — kjo Ă«shtĂ« serverĂ« virtualĂ« nĂ« Windows ose Linux me procesorĂ« tĂ« fuqishĂ«m nga familia AMD EPYC dhe disqe shumĂ« tĂ« shpejtĂ« NVMe Intel. Nxitoni tĂ« porositni!

Menaxhojmë lidhjet rrjetësore në Linux me ndihmën e utilitarit të konsolës nmcli

Burimi: habr.com

Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« đŸ”„ Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« | ProHoster