Upravljamo mrežnim vezama u Linuxu pomoću konzolne alate nmcli

Iskoristite sve mogućnosti alata za upravljanje mrežnim povezivanjem NetworkManager iz naredbenog retka Linuxa pomoću alata nmcli.

Upravljamo mrežnim vezama u Linuxu pomoću konzolne alate nmcli

Alat nmcli izravno se obraća API-ju za pristup funkcijama NetworkManager-a.

Pojavio se 2010. godine i za mnoge je postao alternativni način postavljanja mrežnih sučelja i veza. Iako neki još uvijek koriste ifconfig. Budući da je nmcli alat za naredbeni interfejs (CLI) namijenjen korištenju u terminalnim prozorima i skriptama, idealan je za sistemske administratore koji rade bez GUI-a.

Sintaksa naredbi nmcli

Općeniti oblik sintakse izgleda ovako:

$ nmcli  

  • options — to su parametri koji određuju detalje rada nmcli,
  • section (sekcija) — određuje koje mogućnosti alata koristiti,
  • action (akcija) — omogućuje da se navede što treba učiniti.

Postoji ukupno 8 sekcija, od kojih je svaka povezana s određenim skupom naredbi (akcija):

  • Pomoć davnog šalje pomoć o naredbama nmcli i njihovoj upotrebi.
  • Općenito vraća status NetworkManager-a i globalnu konfiguraciju.
  • Mrežno uključuje naredbe za provjeru statusa mrežnog povezivanja i uključivanje/isključivanje veza.
  • Radio uključuje naredbe za provjeru statusa WiFi povezivanja i uključivanje/isključivanje veza.
  • Monitor uključuje naredbe za nadzor aktivnosti NetworkManager-a i praćenje promjena u stanju mrežnih konekcija.
  • Connection uključuje naredbe za upravljanje mrežnim sučeljima, za dodavanje novih veza i uklanjanje postojećih.
  • Device najčešće se koristi za promjenu postavki povezanih s uređajima (npr. imenom sučelja) ili za povezivanje uređaja s korištenjem postojeće veze.
  • Tajna registrira nmcli kao 'tajnog agenta' NetworkManager-a, koji sluša tajne poruke. Ova sekcija se rijetko koristi, jer nmcli po defaultu radi upravo tako kad se poveže na mreže.

Jednostavni primjeri

Prije nego što počnete, provjerite je li NetworkManager pokrenut i da li nmcli može komunicirati s njim:

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

Često se rad započinje pregledom svih profila mrežnih veza:

$ 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

Ova naredba koristi akciju show za sekciju Connection.

Na testnom računalu se izvršava Ubuntu 20.04. U ovom slučaju pronašli smo tri priključne veze: enp0s3, enp0s8 i enp0s9.

Upravljanje povezivanjima

Važno je razumjeti da pod pojmom Connection u nmcli podrazumijevamo entitet koji sadrži sve informacije o vezi. Drugim riječima, to je mrežna konfiguracija. Connection inkapsulira sve informacije vezane uz povezivanja, uključujući informacije na razini kanala i IP adresa. To su razina 2 i razina 3 u OSI mrežnom modelu.

Kada konfigurišete mrežu u Linuxu, obično postavljate veze koje će na kraju biti vezane za mrežne uređaje, koji su zauzvrat mrežni interfejsi instalirani na računaru. Kada uređaj koristi vezu, smatra se aktivnim ili podignutim. Ako se veza ne koristi, smatra se neaktivnom ili resetiranom.

Dodavanje mrežnih veza

Alat ncmli omogućava brzo dodavanje i odmah konfiguriranje veza. Na primjer, da biste dodali Wired connection 2 (s enp0s8), kao superkorisnik, pokrenite sljedeću naredbu:

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

U opciji type navodimo da će to biti Ethernet veza, a u opciji ifname (naziv interfejsa) navodimo mrežni interfejs koji želimo koristiti.

Evo što će biti nakon pokretanja naredbe:

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

Stvorena je nova veza, ethernet-enp0s8. Dodijeljen je UUID, tip veze — Ethernet. Aktivirati ćemo je naredbom up:

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

Još jednom provjeravamo popis aktivnih veza:

$ 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 nova ethernet-veza enp0s8, aktivna je i koristi mrežni interfejs enp0s8.

Konfiguracija veza

Alat ncmli omogućuje lako mijenjanje parametara postojećih veza. Na primjer, potrebno je promijeniti dinamičku (DHCP) na statičku IP adresu.

Recimo da trebamo postaviti IP adresu na 192.168.4.26. Za to koristimo dvije naredbe. Prva će izravno postaviti IP adresu, a druga će prebaciti metodu postavljanja IP adrese na "ručno" (manual):

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

Ne zaboravite odrediti i masku podmreže. Za naše testne veze to je 255.255.255.0, ili s /24 za bezklasnu adresaciju (CIDR).

Da bi promjene stupile na snagu, potrebno je deaktivirati i zatim ponovno aktivirati vezu:

$ nmcli connection down ethernet-enp0s8
Veza 'ethernet-enp0s8' je uspješno deaktivirana (D-Bus aktivni put: /org/freedesktop/NetworkManager/ActiveConnection/4)
$ nmcli connection up ethernet-enp0s8
Veza je uspješno aktivirana (D-Bus aktivni put: /org/freedesktop/NetworkManager/ActiveC

Ako trebate postaviti DHCP, umjesto manual koristite auto:

$ nmcli connection modify ethernet-enp0s8 ipv4.method auto

Rad s uređajima

Za to koristimo odjeljak Device.

Provjera statusa uređaja

$ nmcli device status
UREĐAJ  TIP      STANJE      VEZA        
enp0s3  ethernet  povezan  Žičana veza 1
enp0s8  ethernet  povezan  ethernet-enp0s8    
enp0s9  ethernet  povezan  Žičana veza 3
lo      loopback  nezaštićen  --  

Zahtjev za informacijama o uređaju

Za to koristimo akciju show iz odjeljka Device (neophodno je navesti ime uređaja). Alat prikazuje prilično mnogo informacija, često na nekoliko stranica.
Pogledajmo interfejs enp0s8, koji koristi našu novu vezu. Uvjerimo se da koristi točno onu IP adresu koju smo ranije postavili:

$ nmcli device show enp0s8
GENERAL.DEVICE:                         enp0s8
GENERAL.TYPE:                           ethernet
GENERAL.HWADDR:                         08:00:27:81:16:20
GENERAL.MTU:                            1500
GENERAL.STATE:                          100 (povezan)
GENERAL.CONNECTION:                     ethernet-enp0s8
GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/ActiveConnection/6
WIRED-PROPERTIES.CARRIER:               uključen
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

Informacija je prilično opsežna. Izdvojimo najvažnije:

  • Ime mrežnog interfejsa: enp0s8.
  • Tip veze: žičana Ethernet veza.
  • Vidimo MAC adresu uređaja.
  • Maksimalna veličina prijenosa (MTU) je navedena, — maksimalna veličina korisnog podatkovnog paketa koja se može prenijeti putem protokola bez fragmentacije.
  • Uređaj trenutno je povezan.
  • Naziv veze, koji koristi uređaj: ethernet-enp0s8.
  • Uređaj koristi IP adresu IP adresa, koju smo ranije postavili: 192.168.4.26/24.

Ostale informacije odnose se na zadane parametre usmjeravanja i gateway veze. Oni ovise o konkretnoj mreži.

Interaktivni uređivač nmcli

nmcli također ima jednostavni interaktivni uređivač, u kojem može biti nekome ugodnije raditi. Da biste ga pokrenuli, na primjer, za vezu ethernet-enp0s8, koristite akciju edit:

$ nmcli connection edit ethernet-enp0s8

Također ima malu pomoć, koja, istina, nije tako opsežna kao konzolna verzija:

===| nmcli interaktivni uređivač veze |===
Uređivanje postojeće '802-3-ethernet' veze: 'ethernet-enp0s8'
Upišite 'help' ili '?' za dostupne komande.
Upišite 'print' da biste prikazali sve osobine veze.
Upišite 'describe [<setting>.<prop>]' za detaljan opis osobine.
Možete urediti sljedeće postavke: veza, 802-3-ethernet (ethernet), 802-1x, dcb, sriov, ethtool, match, ipv4, ipv6, tc, proxy
nmcli>

Ako upišete naredbu print i pritisnete Enter, nmcli će prikazati sve osobine veze:

===============================================================================
                 Detalji o profilu veze (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:                 --

Na primjer, da biste postavili svojstvo DHCP za vezu, upišite goto ipv4 i pritisnite Enter:

nmcli> goto ipv4
Možete urediti sljedeća svojstva: metoda, dns, dns-pretraživanje, 
dns-opcije, dns-prioritet, adrese, gateway, rute, metrika-ruta, 
tablica-ruta, pravila-usmjeravanja, ignoriraj-auto-rute, ignoriraj-auto-dns, 
dhcp-client-id, dhcp-iaid, dhcp-tajming, dhcp-pošalji-ime- hosta, 
dhcp-ime, dhcp-fqdn, dhcp-oznaka-ime, nikada-zadano, može-ne uspjeti, 
dad-tajming
nmcli ipv4>

Zatim upišite set method auto i pritisnite Enter:

nmcli ipv4> set method auto
Želite li također očistiti 'ipv4.adresses'? [da]:

Ako želite očistiti statičku IP adresu, pritisnite Enter. U suprotnom, upišite no i pritisnite Enter. Možete ga sačuvati ako mislite da će vam zatrebati u budućnosti. No, čak i s pohranjenom statičkom IP adresom, DHCP će se koristiti ako je metoda postavljena na auto.

Koristite naredbu save da sačuvate promjene:

nmcli ipv4> save
Veza 'ethernet-enp0s8' (09d26960-25a0-440f-8b20-c684d7adc2f5) uspješno je ažurirana.
nmcli ipv4>

Upišite quit za izlaz iz Interaktivnog urednika nmcli. Ako ste se predomislili, koristite naredbu back.

I to nije sve

Otvorite Interaktivni urednik nmcli i pogledajte koliko postoji postavki i koliko svojstava svaka postavka ima. Interaktivni urednik je odličan alat, ali ako želite koristiti nmcli u jednoj liniji ili skriptama, trebat će vam obična verzija za naredbeni redak.

Sada kada imate osnove, upoznajte se sa stranicom pomoći nmcli kako biste saznali čime vam još može pomoći.

U okviru reklame

Epohalni serveri — to je virtuelni serveri na Windowsu ili Linux s moćnim procesorima AMD EPYC i vrlo brzim NVMe Intel diskovima. Požurite s narudžbom!

Upravljamo mrežnim vezama u Linuxu pomoću konzolne alate nmcli

Izvor: habr.com

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster