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

Mjeti 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 . 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 enabledShpesh 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 enp0s9Ky 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 enp0s9Shto 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 manualMos 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/ActiveCNëse përndryshe ju nevojitet të vendosni DHCP, përdorni auto në vend të manual:
$ nmcli connection modify ethernet-enp0s8 ipv4.method autoPuna 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=255Ka 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-enp0s8Ai 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 nmcli, për të mësuar se si mund t'ju ndihmojë edhe më shumë.
SOF6
ServerĂ« epikĂ« â Ă«shtĂ« ose Linux me procesorĂ« tĂ« fuqishĂ«m tĂ« familjes AMD EPYC dhe disqe shumĂ« tĂ« shpejta Intel NVMe. Nxitoni tĂ« porosisni!
Burimi: habr.com
