Menaxho lidhjet rrjet në Linux me ndihmën e mjeteve të konsolës nmcli

Shfrytëzoni të gjitha mundësitë e mjetit të menaxhimit të lidhjeve rrjet në komandën e linjës Linux me mjete nmcli.

Menaxho lidhjet rrjet në Linux me ndihmën e mjeteve të konsolës nmcli

Mjeti nmcli që lidhet drejtpërdrejt me API-në 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 rrjet. Megjithatë, disa ende përdorin ifconfig. Duke qenë se nmcli është një instrument i ndërfaqes së komandës (CLI), e dizajnuar për t'u përdorur në dritaret e terminaleve dhe skriptet, ai është ideal 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Ă« detajet e punĂ«s sĂ« nmcli,
  • section (seksioni) — pĂ«rcakton se cilat mundĂ«si tĂ« utilitarit do tĂ« pĂ«rdoren,
  • action (veprimi) — lejon tĂ« specifikohet se çfarĂ« duhet bĂ«rĂ«.

Ka gjithsej 8 seksione, secila prej të cilave lidhet me një grup komandash (veprimesh):

  • NdihmĂ« jep ndihmĂ« pĂ«r komandat nmcli dhe pĂ«rdorimin e tyre.
  • PĂ«rgjithshĂ«m kthen statusin e NetworkManager dhe konfigurimin global.
  • Networking pĂ«rfshin komandat pĂ«r tĂ« kĂ«rkuar gjendjen e lidhjeve rrjet dhe pĂ«r tĂ« aktivizuar / çaktivizuar lidhjet.
  • Radio pĂ«rfshin komandat pĂ«r tĂ« kĂ«rkuar gjendjen e lidhjes me WiFi dhe pĂ«r tĂ« aktivizuar / çaktivizuar lidhjet.
  • Monitor pĂ«rfshin komandat pĂ«r monitorimin e aktivitetit tĂ« NetworkManager dhe pĂ«r tĂ« ndjekur ndryshimet nĂ« gjendjen e lidhjeve rrjet.
  • Connection pĂ«rfshin komandat pĂ«r menaxhimin e ndĂ«rfaqeve rrjet, pĂ«r tĂ« shtuar lidhje tĂ« reja dhe pĂ«r tĂ« fshirĂ« ato ekzistuese.
  • Pajisja pĂ«rdoret kryesisht pĂ«r tĂ« ndryshuar parametrat qĂ« lidhen me pajisjet (p.sh. emri i ndĂ«rfaqes) ose pĂ«r tĂ« lidhur pajisjet duke pĂ«rdorur njĂ« lidhje ekzistuese.
  • Sekreti regjistron nmcli si "agjentin sekret" tĂ« NetworkManager, i cili dĂ«gjon mesazhet e fshehta. Ky seksion pĂ«rdoret rrallĂ«, sepse nmcli kur lidhet me rrjetet funksionon kĂ«shtu nga default.

Shembuj të thjeshtë

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

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

Shpesh fillohet puna me shikimin e të gjithë profileve të lidhjeve rrjet:

$ 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

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

Në makinën testuese po funksionon Ubuntu 20.04. Në këtë rast, kemi gjetur tre lidhje të kabllit: enp0s3, enp0s8 dhe enp0s9.

Menaxhimi i lidhjeve

ËshtĂ« e rĂ«ndĂ«sishme tĂ« kuptohet se nĂ« nmcli nĂ«n termin Connection nĂ«nkuptojmĂ« njĂ« entitet qĂ« pĂ«rmban gjithĂ« informacionin mbi lidhjen. Me fjalĂ« tĂ« tjera, kjo Ă«shtĂ« konfigurimi i rrjetit. Connection inkapsulon gjithĂ« informacionin e lidhur me lidhjet, duke pĂ«rfshirĂ« nivelin kanal dhe informacionin mbi adresimin IP. Ky Ă«shtĂ« niveli 2 dhe niveli 3 nĂ« modelin e rrjetit OSI.

Kur konfiguroni rrjetin në Linux, zakonisht konfiguroni lidhje që në fund do të lidhen me pajisje rrjeti, të cilat nga ana e tyre janë ndërfaqet rrjetërore të instaluara në kompjuter. Kur një pajisje përdor një lidhje, ajo konsiderohet aktive ose e ngritur. Nëse lidhja nuk është në përdorim, ajo është joaktive ose e hequr.

Shtimi i lidhjeve rrjetërore

Utilita ncmli lejon shtimin dhe konfigurimin e shpejtë të lidhjeve. Për shembull, për të shtuar Wired connection 2 (me enp0s8), duhet të ekzekutoni komandën e mëposhtme si superpërdorues:

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

Në opsionin type specifikojmë se do të jetë një lidhje Ethernet, dhe në opsionin ifname (emri i ndërfaqes) specifikojmë ndërfaqen rrjetërore që duam të përdorim.

Këto janë rezultatet pas ekzekutimit të komandës:

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

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

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

Kontrollojmë përsëri listën e lidhjeve aktive:

$ 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

Shto e shtuar nje lidhje ethernet-enp0s8, e cila eshte aktive dhe po përdor ndërfaqen e rrjetit enp0s8.

Konfigurimi i lidhjeve

Utilita ncmli lejon ndryshimin e lehtë të parametrave të lidhjeve ekzistuese. Për shembull, nëse keni nevojë të ndryshoni nga një IP adresë dinamike (DHCP) në një IP adresë statike.

Supozoni se ne duhet të vendosim IP-në në 192.168.4.26. Për këtë do të përdorim dy komanda. E para do të vendosë IP-në, ndërsa e dyta do të kalojë metodën e vendosjes së IP-së 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ë vendosni maskën e nënrrjetit. Për lidhjen tonë të testimit, kjo është 255.255.255.0, ose me /24 për routing të klasës pa klasifikim (CIDR).

Për të futur ndryshimet në fuqi, duhet të çaktivizoni dhe pastaj të aktivizoni lidhjen sërish:

$ 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ërndryshe ju nevojitet të vendosni DHCP, përdorni auto në vend të manual:

$ nmcli connection modify ethernet-enp0s8 ipv4.method auto

Puna me pajisjet

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

Kontrolli i statusit të 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 për pajisjen

Për këtë përdorim veprimin show nga seksioni Device (duhet të jepni emrin e pajisjes). Utilita tregon mjaft informacione, shpesh në disa faqe.
Le të shikojmë në ndërfaqen enp0s8, e cila po përdor lidhjen tonë të re. Le të sigurohemi se ajo po përdor pikërisht atë IP adresë që vendosëm më herët:

$ 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ë mirat:

  • Emri i ndĂ«rfaqes sĂ« rrjetit: enp0s8.
  • Lloji i lidhjes: lidhje Ethernet me kabllo.
  • Ne shohim adresĂ«n MAC tĂ« pajisjes.
  • ËshtĂ« e specifikuar Maximum transmission unit (MTU) — madhĂ«sia maksimale e bllokut tĂ« tĂ« dhĂ«nave tĂ« dobishme tĂ« njĂ« pakete qĂ« mund tĂ« dĂ«rgohet nga protokolli pa fragmentim.
  • Pajisja aktualisht Ă«shtĂ« i lidhur.
  • Emri i lidhjes, e cila pĂ«rdor pajisjen: ethernet-enp0s8.
  • Pajisja pĂ«rdor atĂ« Adresa IP, qĂ« e kemi vendosur mĂ« parĂ«: 192.168.4.26/24.

Informacione të tjera i përkasin parametrave default të routing dhe gateway të lidhjes. Ato varen nga rrjeti specifik.

Redaktori interaktiv nmcli

Nmcli gjithashtu ka një redaktori të thjeshtë interaktiv, në të cilin ndokush mund të ndjehet më komod. 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 në konzol:

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

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

===============================================================================
                 Detajet e profilit të lidhjes (ethernet-enp0s8)
===============================================================================
lidhja.id:                          ethernet-enp0s8
lidhja.uuid:                        09d26960-25a0-440f-8b20-c684d7adc2f5
lidhja.stable-id:                   --
lidhja.type:                        802-3-ethernet
lidhja.interface-name:              enp0s8
lidhja.autoconnect:                 po
lidhja.autoconnect-priority:        0
lidhja.autoconnect-retries:         -1 (default)
lidhja.multi-connect:               0 (default)
lidhja.auth-retries:                -1
lidhja.timestamp:                   1593967212
lidhja.read-only:                   jo
lidhja.permissions:                 --
lidhja.zone:                        --
lidhja.master:                      --
lidhja.slave-type:                  --
lidhja.autoconnect-slaves:          -1 (default)
lidhja.secondaries:                 --

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

nmcli> goto ipv4
Mund të redaktoni cilësitë e mëposhtme: metoda, dns, kërkesa-dns, 
dns-opcionet, prioriteti-dns, adresat, gateway, rrugët, metrika-rrugës, 
 tabela-rrugës, rregullat-e-rutimit, injoroni-auto-rrugët, injoroni-auto-dns, 
dhcp-client-id, dhcp-iaid, dhcp-koha, dhcp-dërgo-emrin, 
dhcp-emri, dhcp-fqdn, dhcp-emri-flags, kurrë-default, mund-te-dështojë, 
dad-koha
nmcli ipv4>

Pastaj shkruani set method auto dhe shtypni Enter:

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

Nëse dëshironi të pastroni adresën IP statike, shtypni EnterNë të kundërt, shkruani no dhe shtypni Enter. Mund ta ruani nëse mendoni se do t'ju nevojitet në të ardhmen. Por edhe me një 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
Konekshioni 'ethernet-enp0s8' (09d26960-25a0-440f-8b20-c684d7adc2f5) u përditësua me sukses.
nmcli ipv4>

Shkruani quit për të dalë nga Redaktori Interaktiv i nmcli. Nëse e mendoni ndryshe, përdorni komandën back.

Dhe kjo nuk është e gjitha

Hapni Redaktorin Interaktiv të nmcli dhe shikoni se sa konfigurime ekzistojnë dhe sa pasuri ka secila konfigurim. Redaktori Interaktiv është një mjet i shkëlqyer, por nëse dëshironi të përdorni nmcli në një rresht ose skenar, do t'ju nevojitet versioni standard për linjë komandash.

Tani, kur keni bazat, njohuni me faqen ndihmëse nmcli, për të mësuar se si mund t'ju ndihmojë edhe më shumë.

SOF6

ServerĂ« epikĂ« — Ă«shtĂ« serverĂ«t virtualĂ« nĂ« Windows ose Linux me procesorĂ« tĂ« fuqishĂ«m tĂ« familjes AMD EPYC dhe disqe shumĂ« tĂ« shpejta Intel NVMe. Nxitoni tĂ« porosisni!

Menaxho lidhjet rrjet në Linux me ndihmën e mjeteve të konsolës nmcli

Burimi: habr.com

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster