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

Alat 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 . 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 enp0s9Ova 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 enp0s9Dodana 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 manualNe 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/ActiveCAko trebate postaviti DHCP, umjesto manual koristite auto:
$ nmcli connection modify ethernet-enp0s8 ipv4.method autoRad 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=255Informacija 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-enp0s8Takođ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 nmcli kako biste saznali čime vam još može pomoći.
U okviru reklame
Epohalni serveri — to je ili Linux s moćnim procesorima AMD EPYC i vrlo brzim NVMe Intel diskovima. Požurite s narudžbom!
Izvor: habr.com
