Upravljanje omrežnih povezav v Linuxu s pripomočkom konzole nmcli

V celoti izkoristite orodje za upravljanje omrežja NetworkManager v ukazni vrstici Linux s pripomočkom nmcli.

Upravljanje omrežnih povezav v Linuxu s pripomočkom konzole nmcli

Uporabnost nmcli neposredno pokliče API za dostop do funkcij NetworkManager.

Pojavil se je leta 2010 in za mnoge je postal alternativni način za konfiguriranje omrežnih vmesnikov in povezav. Čeprav nekateri še vedno uporabljajo ifconfig. Ker je nmcli orodje vmesnika ukazne vrstice (CLI), zasnovano za uporabo v terminalskih oknih in skriptih, je idealno za sistemske skrbnike, ki delajo brez GUI.

sintaksa ukaza ncmli

Na splošno sintaksa izgleda takole:

$ nmcli <options> <section> <action>

  • možnosti so parametri, ki določajo podrobnosti delovanja nmcli,
  • razdelek (razdelek) - določa, katere funkcije pripomočka je treba uporabiti,
  • dejanje - omogoča vam, da določite, kaj je dejansko treba narediti.

Skupaj je 8 razdelkov, od katerih je vsak povezan z določenim nizom ukazov (dejanj):

  • pomaga ponuja pomoč glede ukazov ncmcli in njihove uporabe.
  • splošno vrne status NetworkManager in globalno konfiguracijo.
  • Mreža vključuje ukaze za preverjanje stanja omrežne povezave in omogočanje/onemogočanje povezav.
  • radio vključuje ukaze za poizvedovanje o statusu omrežne povezave WiFi in omogočanje/onemogočanje povezav.
  • monitor vključuje ukaze za spremljanje dejavnosti NetworkManager in opazovanje sprememb v stanju omrežnih povezav.
  • povezava vključuje ukaze za upravljanje omrežnih vmesnikov, dodajanje novih povezav in brisanje obstoječih.
  • Device v glavnem se uporablja za spreminjanje parametrov, povezanih z napravo (kot je ime vmesnika), ali za povezovanje naprav z obstoječo povezavo.
  • skrivnost registrira nmcli kot "tajnega agenta" NetworkManagerja, ki posluša skrivna sporočila. Ta razdelek se redko uporablja, ker nmcli pri povezovanju z omrežji privzeto deluje na ta način.

Preprosti primeri

Preden začnete, se prepričajte, da se NetworkManager izvaja in da nmcli lahko komunicira z njim:

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

Delo se pogosto začne z ogledom vseh profilov omrežne povezave:

$ 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

Ta ukaz uporablja ukrepanje pokaži za razdelek Povezava.

Testni stroj uporablja Ubuntu 20.04. V tem primeru smo našli tri žične povezave: enp0s3, enp0s8 in enp0s9.

Upravljanje povezav

Pomembno je razumeti, da v nmcli z izrazom Connection mislimo na entiteto, ki vsebuje vse informacije o povezavi. Z drugimi besedami, to je konfiguracija omrežja. Povezava zajema vse informacije, povezane s povezavo, vključno s povezovalno plastjo in informacijami o naslovu IP. To sta sloj 2 in sloj 3 v omrežnem modelu OSI.

Ko postavljate omrežje v Linuxu, običajno nastavljate povezave, ki bodo na koncu povezane z omrežnimi napravami, ki so nato omrežni vmesniki, nameščeni v računalniku. Ko naprava uporablja povezavo, se šteje za aktivno ali povišano. Če povezava ni v uporabi, je neaktivna ali ponastavljena.

Dodajanje omrežnih povezav

Pripomoček ncmli vam omogoča hitro dodajanje in takojšnjo konfiguracijo povezav. Če želite na primer dodati žično povezavo 2 (z enp0s8), morate kot superuporabnik zagnati naslednji ukaz:

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

Pri možnosti type označimo, da bo to ethernetna povezava, pri možnosti ifname (ime vmesnika) pa označimo omrežni vmesnik, ki ga želimo uporabiti.

To se bo zgodilo po zagonu ukaza:

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

Ustvarjena je bila nova povezava, ethernet-enp0s8. Dodeljen mu je bil UUID, vrsta povezave pa je bila Ethernet. Dvignimo ga z ukazom gor:

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

Ponovno preverimo seznam aktivnih povezav:

$ 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

Dodana je nova povezava ethernet-enp0s8, ki je aktivna in uporablja omrežni vmesnik enp0s8.

Nastavitev povezav

Pripomoček ncmli vam omogoča enostavno spreminjanje parametrov obstoječih povezav. Svoj dinamični (DHCP) naslov IP morate na primer spremeniti v statični naslov IP.

Recimo, da moramo naslov IP nastaviti na 192.168.4.26. Za to uporabimo dva ukaza. Prvi bo neposredno nastavil naslov IP, drugi pa bo način nastavitve naslova IP preklopil na ročno:

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

Ne pozabite nastaviti tudi podomrežne maske. Za našo testno povezavo je to 255.255.255.0 ali z /24 za brezrazredno usmerjanje (CIDR).

Da bi spremembe stopile v veljavo, morate deaktivirati in nato ponovno aktivirati povezavo:

$ 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

Če pa morate v nasprotnem primeru namestiti DHCP, uporabite samodejno namesto ročnega:

$ nmcli connection modify ethernet-enp0s8 ipv4.method auto

Delo z napravami

Za to uporabljamo razdelek Naprava.

Preverjanje stanja naprave

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

Zahtevanje informacij o napravi

Če želite to narediti, uporabite dejanje prikaži v razdelku Naprava (določiti morate ime naprave). Pripomoček prikazuje veliko informacij, pogosto na več straneh.
Poglejmo si vmesnik enp0s8, ki ga uporablja naša nova povezava. Prepričajmo se, da uporablja točno naslov IP, ki smo ga nastavili prej:

$ 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

Informacij je kar veliko. Izpostavimo glavno:

  • Ime omrežnega vmesnika: enp0s8.
  • Vrsta povezave: žično povezavo Ethernet.
  • Vidimo naslov MAC naprave.
  • Določena največja prenosna enota (MTU). — največja velikost uporabnega podatkovnega bloka enega paketa, ki se lahko prenese s protokolom brez fragmentacije.
  • Naprava trenutno povezan.
  • Ime povezavekatera naprava uporablja: ethernet-enp0s8.
  • Naprava uporablja IP naslov, ki smo ga namestili prej: 192.168.4.26/24.

Druge informacije se nanašajo na privzeto usmerjanje in parametre povezovalnega prehoda. Odvisne so od določenega omrežja.

Interaktivni urejevalnik nmcli

nmcli ima tudi preprost interaktivni urejevalnik, ki je nekaterim morda udobnejši za delo. Če ga želite na primer zagnati na povezavi ethernet-enp0s8, uporabite ukrepanje Uredi:

$ nmcli connection edit ethernet-enp0s8

Ima tudi majhno pomoč, ki pa je manjša od konzolne različice:

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

Če vnesete ukaz za tiskanje in pritisnete Enter, bo nmcli prikazal vse lastnosti povezave:

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

Če želite na primer nastaviti povezavo na DHCP, vnesite goto ipv4 in kliknite Vnesite:

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>

Nato napišite set method auto in kliknite Vnesite:

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

Če želite počistiti statični naslov IP, kliknite Vnesite. V nasprotnem primeru vnesite ne in pritisnite Enter. Lahko ga shranite, če menite, da ga boste potrebovali v prihodnosti. Toda tudi s shranjenim statičnim naslovom IP bo DHCP uporabljen, če je metoda nastavljena na samodejno.

Za shranjevanje sprememb uporabite ukaz za shranjevanje:

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

Vnesite quit za izhod iz interaktivnega urejevalnika nmcli. Če si premislite glede odhoda, uporabite ukaz nazaj.

In to še ni vse

Odprite interaktivni urejevalnik nmcli in si oglejte, koliko nastavitev je na voljo in koliko lastnosti ima vsaka nastavitev. Interaktivni urejevalnik je odlično orodje, a če želite uporabljati nmcli v enovrstičnicah ali skriptih, boste potrebovali običajno različico ukazne vrstice.

Zdaj, ko imate osnove, preverite man stran nmcli, da vidite, kako vam lahko še pomaga.

O pravicah oglaševanja

Epski strežniki - Je virtualni strežniki v sistemu Windows ali Linux z zmogljivimi procesorji družine AMD EPYC in zelo hitrimi pogoni Intel NVMe. Pohitite z naročilom!

Upravljanje omrežnih povezav v Linuxu s pripomočkom konzole nmcli

Vir: www.habr.com

Dodaj komentar