Menaxhimi i lidhjeve të rrjetit në Linux duke përdorur programin e konsolës nmcli

Përfitoni plotësisht nga mjeti i menaxhimit të rrjetit NetworkManager në linjën e komandës Linux duke përdorur mjetin nmcli.

Menaxhimi i lidhjeve të rrjetit në Linux duke përdorur programin e konsolës nmcli

Shërbim nmcli thërret drejtpërdrejt API-në për të hyrë në funksionet e NetworkManager.

Ai u shfaq në vitin 2010 dhe për shumë është bërë një mënyrë alternative për të konfiguruar ndërfaqet dhe lidhjet e rrjetit. Edhe pse disa njerëz ende përdorin ifconfig. Për shkak se nmcli është një mjet i ndërfaqes së linjës së komandës (CLI) i krijuar për t'u përdorur në dritaret dhe skriptet e terminalit, ai është ideal për administratorët e sistemit që punojnë pa një GUI.

Sintaksa e komandës ncmli

Në përgjithësi, sintaksa duket si kjo:

$ nmcli <options> <section> <action>

  • opsionet janë parametra që përcaktojnë hollësitë e funksionimit nmcli,
  • seksioni (seksioni) - përcakton se cilat veçori të programit duhet të përdoren,
  • veprim - ju lejon të specifikoni se çfarë duhet bërë në të vërtetë.

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

  • Ndihmë ofron ndihmë në lidhje me komandat ncmcli dhe përdorimin e tyre.
  • i përgjithshëm kthen statusin e NetworkManager dhe konfigurimin global.
  • Networking përfshin komanda për të kërkuar statusin e lidhjes së rrjetit dhe për të aktivizuar/çaktivizuar lidhjet.
  • radio përfshin komanda për të kërkuar statusin e lidhjes së rrjetit WiFi dhe për të aktivizuar/çaktivizuar lidhjet.
  • Monitor përfshin komanda për monitorimin e aktivitetit të NetworkManager dhe vëzhgimin e ndryshimeve në gjendjen e lidhjeve të rrjetit.
  • Lidhje përfshin komanda për menaxhimin e ndërfaqeve të rrjetit, shtimin e lidhjeve të reja dhe fshirjen e atyre ekzistuese.
  • pajisje përdoret kryesisht për të ndryshuar parametrat e lidhur me pajisjen (siç është emri i ndërfaqes) ose për të lidhur pajisjet duke përdorur një lidhje ekzistuese.
  • Sekret regjistron nmcli si një "agjent sekret" i NetworkManager që dëgjon për mesazhe sekrete. Ky seksion përdoret rrallë, sepse nmcli funksionon në këtë mënyrë si parazgjedhje kur lidhet me rrjetet.

Shembuj të thjeshtë

Përpara se të filloni, sigurohuni që NetworkManager po funksionon dhe nmcli mund të komunikojë me të:

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

Puna shpesh fillon duke parë të gjitha profilet e lidhjes së rrjetit:

$ 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

Kjo komandë përdor действие shfaq për seksionin Lidhja.

Makina e testimit po ekzekuton Ubuntu 20.04. Në këtë rast, gjetëm tre lidhje me tela: enp0s3, enp0s8 dhe enp0s9.

Menaxhoni lidhjet

Është e rëndësishme të kuptohet se në nmcli, me termin Connection nënkuptojmë një ent që përmban të gjithë informacionin rreth lidhjes. Me fjalë të tjera, ky është konfigurimi i rrjetit. Lidhja përfshin të gjitha informacionet e lidhura me lidhjen, duke përfshirë shtresën e lidhjes dhe informacionin e adresimit IP. Këto janë Shtresa 2 dhe Shtresa 3 në modelin e rrjeteve OSI.

Kur konfiguroni një rrjet në Linux, zakonisht po krijoni lidhje që do të përfundojnë duke u lidhur me pajisjet e rrjetit, të cilat nga ana e tyre janë ndërfaqe rrjeti të instaluara në kompjuter. Kur një pajisje përdor një lidhje, ajo konsiderohet aktive ose e ngritur. Nëse një lidhje nuk është në përdorim, ajo është joaktive ose rivendoset.

Shtimi i lidhjeve të rrjetit

Programi ncmli ju lejon të shtoni shpejt dhe konfiguroni lidhjet menjëherë. Për shembull, për të shtuar lidhjen Wired 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) successfully added.

Në opsionin type tregojmë se kjo do të jetë një lidhje Ethernet, dhe në opsionin ifname (emri i ndërfaqes) tregojmë ndërfaqen e rrjetit që duam të përdorim.

Kjo është ajo që do të ndodhë 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  --  

Është krijuar një lidhje e re, ethernet-enp0s8. Atij iu caktua një UUID dhe lloji i lidhjes ishte Ethernet. Le ta ngremë atë duke përdorur komandën up:

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

Le të 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

Është shtuar një lidhje e re ethernet-enp0s8, është aktive dhe përdor ndërfaqen e rrjetit enp0s8.

Vendosja e lidhjeve

Shërbimi ncmli ju lejon të ndryshoni lehtësisht parametrat e lidhjeve ekzistuese. Për shembull, ju duhet të ndryshoni adresën tuaj IP dinamike (DHCP) në një adresë IP statike.

Le të themi se duhet të vendosim adresën IP në 192.168.4.26. Për ta bërë këtë përdorim dy komanda. E para do të vendosë drejtpërdrejt adresën IP dhe e dyta do të kalojë 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 të vendosni edhe maskën e nënrrjetit. Për lidhjen tonë të provës kjo është 255.255.255.0, ose me /24 për rrugëtim pa klasë (CIDR).

Që ndryshimet të hyjnë në fuqi, duhet të çaktivizoni dhe më pas të riaktivizoni lidhjen:

$ 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

Nëse, përkundrazi, duhet të instaloni DHCP, përdorni automatikisht në vend të manualit:

$ nmcli connection modify ethernet-enp0s8 ipv4.method auto

Puna me pajisje

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

Po kontrollon statusin e pajisjes

$ 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ërkimi i informacionit të pajisjes

Për ta bërë këtë, përdorni veprimin e shfaqjes nga seksioni Device (duhet të specifikoni emrin e pajisjes). Shërbimi shfaq shumë informacione, shpesh në disa faqe.
Le të shohim ndërfaqen enp0s8 që përdor lidhja jonë e re. Le të sigurohemi që ai përdor saktësisht adresën IP që kemi vendosur 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 mjaft informacione. Le të theksojmë gjënë kryesore:

  • Emri i ndërfaqes së rrjetit: enp0s8.
  • Lloji i lidhjes: lidhje Ethernet me tela.
  • Ne shohim adresën MAC të pajisjes.
  • Njësia maksimale e transmetimit (MTU) e specifikuar - madhësia maksimale e një blloku të të dhënave të dobishme të një pakete që mund të transmetohet nga protokolli pa fragmentim.
  • pajisje aktualisht i lidhur.
  • Emri i lidhjescila pajisje përdor: ethernet-enp0s8.
  • Pajisja përdor IP adresa, të cilin e instaluam më herët: 192.168.4.26/24.

Informacione të tjera kanë të bëjnë me parametrat e paracaktuar të rrugës dhe portës së lidhjes. Ato varen nga rrjeti specifik.

Redaktues interaktiv nmcli

nmcli gjithashtu ka një redaktues të thjeshtë interaktiv, me të cilin mund të jetë më komod për disa që të punojnë. Për ta ekzekutuar atë në një lidhje ethernet-enp0s8 për shembull, përdorni действие edit:

$ nmcli connection edit ethernet-enp0s8

Ai gjithashtu ka një ndihmë të vogël, e cila, megjithatë, është më e vogël në madhësi se versioni i konsolës:

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

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

===============================================================================
                 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:                 --

Për shembull, për të vendosur lidhjen në DHCP, shkruani goto ipv4 dhe klikoni Shkruani:

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>

Më pas shkruani set metoda auto dhe klikoni Shkruani:

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

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

Përdorni komandën ruaj për të ruajtur ndryshimet tuaja:

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

Shkruani quit për të dalë nga Redaktori Interaktiv nmcli. Nëse ndryshoni mendje për largimin, përdorni komandën prapa.

Dhe kjo nuk është e gjitha

Hapni Redaktorin Interaktiv nmcli dhe shikoni sa cilësime ka dhe sa veti ka secili cilësim. Redaktori interaktiv është një mjet i shkëlqyeshëm, por nëse doni të përdorni nmcli në një rreshtim ose skript, do t'ju duhet versioni i rregullt i linjës së komandës.

Tani që keni bazat, shikoni faqe njeriu nmcli për të parë se si mund t'ju ndihmojë ndryshe.

Për të Drejtat e Reklamimit

Serverë epikë - A serverë virtualë në Windows ose Linux me procesorë të fuqishëm të familjes AMD EPYC dhe disqe shumë të shpejta Intel NVMe. Nxitoni të porosisni!

Menaxhimi i lidhjeve të rrjetit në Linux duke përdorur programin e konsolës nmcli

Burimi: www.habr.com

Shto një koment