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.

Utilitari 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 . 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 enabledShpesh 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 enp0s9Ky 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 enp0s9U 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 manualMos 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/ActiveCNëse përkundrazi keni nevojë të vendosni DHCP, në vend të manual përdorni auto:
$ nmcli connection modify ethernet-enp0s8 ipv4.method autoPuna 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=255Ka 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-enp0s8Ai 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 nmcli, për të zbuluar se çfarë tjetër mund t'ju ndihmojë.
Si reklamë
Servera epik â kjo Ă«shtĂ« ose Linux me procesorĂ« tĂ« fuqishĂ«m nga familia AMD EPYC dhe disqe shumĂ« tĂ« shpejtĂ« NVMe Intel. Nxitoni tĂ« porositni!
Burimi: habr.com
