Iskoristite sve prednosti alata za upravljanje mrežom NetworkManager na Linux komandnoj liniji koristeći uslužni program nmcli.
Utility
Pojavio se 2010. godine i za mnoge je postao alternativni način konfiguracije mrežnih sučelja i veza. Iako neki ljudi još uvijek koriste
sintaksa komande ncmli
Generalno, sintaksa izgleda ovako:
$ nmcli <options> <section> <action>
- opcije su parametri koji određuju suptilnosti nmcli operacije,
- odjeljak (odjeljak) - određuje koje karakteristike uslužnog programa treba koristiti,
- akcija - omogućava vam da navedete šta zapravo treba da se uradi.
Ukupno ima 8 sekcija, od kojih je svaki povezan sa određenim skupom naredbi (akcija):
- pomoći pruža pomoć o ncmcli naredbama i njihovoj upotrebi.
- Opšti vraća status NetworkManagera i globalnu konfiguraciju.
- umrežavanje uključuje naredbe za ispitivanje statusa mrežne veze i omogućavanje/onemogućavanje veza.
- radio uključuje komande za ispitivanje statusa WiFi mrežne veze i omogućavanje/onemogućavanje veza.
- monitor uključuje komande za praćenje aktivnosti NetworkManager-a i praćenje promjena u stanju mrežnih veza.
- priključak uključuje komande za upravljanje mrežnim sučeljima, dodavanje novih veza i brisanje postojećih.
- uređaj uglavnom se koristi za promjenu parametara povezanih s uređajem (kao što je naziv interfejsa) ili za povezivanje uređaja koristeći postojeću vezu.
- tajna registruje nmcli kao NetworkManager "tajnog agenta" koji osluškuje tajne poruke. Ovaj odeljak se retko koristi, jer nmcli radi na ovaj način podrazumevano kada se povezuje na mreže.
Jednostavni primjeri
Prije nego što počnete, provjerite je li NetworkManager pokrenut i nmcli može komunicirati s njim:
$ nmcli general
STATE CONNECTIVITY WIFI-HW WIFI WWAN-HW WWAN
connected full enabled enabled enabled enabled
Rad često počinje pregledom svih profila mrežne veze:
$ 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 komanda koristi akcija prikaži za odeljak Veza.
Test mašina radi na Ubuntu 20.04. U ovom slučaju smo pronašli tri žičane veze: enp0s3, enp0s8 i enp0s9.
Upravljajte vezama
Važno je razumjeti da u nmcli-u pod pojmom Connection podrazumijevamo entitet koji sadrži sve informacije o vezi. Drugim riječima, ovo je mrežna konfiguracija. Veza obuhvata sve informacije vezane za vezu, uključujući sloj veze i informacije o IP adresiranju. To su sloj 2 i sloj 3 u OSI mrežnom modelu.
Kada postavljate 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 povišenim. Ako veza nije u upotrebi, ona je neaktivna ili se resetuje.
Dodavanje mrežnih veza
Uslužni program ncmli vam omogućava da brzo dodate i odmah konfigurišete veze. Na primjer, da dodate žičanu vezu 2 (sa enp0s8), morate pokrenuti sljedeću naredbu kao superkorisnik:
$ sudo nmcli connection add type ethernet ifname enp0s8
Connection 'ethernet-enp0s8' (09d26960-25a0-440f-8b20-c684d7adc2f5) successfully added.
U opciji tipa označavamo da će to biti Ethernet veza, au opciji ifname (ime sučelja) označavamo mrežno sučelje koje želimo koristiti.
Evo šta će se dogoditi 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 --
Nova veza je kreirana, ethernet-enp0s8. Dodijeljen mu je UUID i tip veze je bio Ethernet. Podignimo ga pomoću naredbe up:
$ nmcli connection up ethernet-enp0s8
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/4)
Ponovo provjerimo listu 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
Dodata je nova veza ethernet-enp0s8, aktivna je i koristi enp0s8 mrežni interfejs.
Postavljanje veza
Uslužni program ncmli vam omogućava da lako promijenite parametre postojećih veza. Na primjer, trebate promijeniti svoju dinamičku (DHCP) IP adresu u statičku IP adresu.
Recimo da trebamo postaviti IP adresu na 192.168.4.26. Za to koristimo dvije naredbe. Prvi će direktno postaviti IP adresu, a drugi će način podešavanja IP adrese prebaciti na ručni:
$ nmcli connection modify ethernet-enp0s8 ipv4.address 192.168.4.26/24
$ nmcli connection modify ethernet-enp0s8 ipv4.method manual
Ne zaboravite postaviti i masku podmreže. Za našu testnu vezu ovo je 255.255.255.0, ili sa /24 za bezklasno rutiranje (CIDR).
Da bi promjene stupile na snagu, morate deaktivirati, a zatim ponovo aktivirati vezu:
$ 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
Ako, naprotiv, trebate instalirati DHCP, koristite automatski umjesto ručnog:
$ nmcli connection modify ethernet-enp0s8 ipv4.method auto
Rad sa uređajima
Za to koristimo odjeljak Uređaj.
Provjera statusa uređaja
$ 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 --
Traženje informacija o uređaju
Da biste to učinili, koristite radnju prikaži iz odjeljka Uređaj (morate navesti naziv uređaja). Uslužni program prikazuje mnogo informacija, često na nekoliko stranica.
Pogledajmo enp0s8 interfejs koji koristi naša nova veza. Uvjerimo se da koristi upravo 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 (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
Ima dosta informacija. Istaknimo glavnu stvar:
- Naziv mrežnog interfejsa: enp0s8.
- Vrsta veze: žičana Ethernet veza.
- Vidimo MAC adresu uređaja.
- Specificirana maksimalna jedinica prijenosa (MTU). — maksimalna veličina korisnog bloka podataka jednog paketa koji se može prenijeti putem protokola bez fragmentacije.
- Uređaj trenutno povezan.
- Ime vezekoji uređaj koristi: ethernet-enp0s8.
- Uređaj koristi IP adresa, koji smo ranije instalirali: 192.168.4.26/24.
Ostale informacije se odnose na zadane parametre rutiranja i mrežnog prolaza. Zavise od specifične mreže.
Interaktivni nmcli editor
nmcli takođe ima jednostavan interaktivni uređivač, koji bi nekima mogao biti udobniji za rad. Da biste ga, na primjer, pokrenuli na ethernet-enp0s8 vezi, koristite akcija uredi:
$ nmcli connection edit ethernet-enp0s8
Ima i malu pomoć, koja je, međutim, manja od konzolne verzije:
===| 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>
Ako upišete naredbu print i pritisnete Enter, nmcli će prikazati sva svojstva veze:
===============================================================================
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: --
Na primjer, da postavite vezu na DHCP, unesite goto ipv4 i kliknite ući:
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>
Zatim napišite set method auto i kliknite ući:
nmcli ipv4> set method auto
Do you also want to clear 'ipv4.addresses'? [yes]:
Ako želite da obrišete statičku IP adresu, kliknite ući. U suprotnom upišite ne i pritisnite Enter. Možete ga sačuvati ako mislite da će vam trebati u budućnosti. Ali čak i sa sačuvanom statičkom IP adresom, DHCP će se koristiti ako je metod postavljen na automatski.
Koristite naredbu save da sačuvate svoje promjene:
nmcli ipv4> save
Connection 'ethernet-enp0s8' (09d26960-25a0-440f-8b20-c684d7adc2f5) successfully updated.
nmcli ipv4>
Otkucajte quit da izađete iz nmcli interaktivnog uređivača. Ako se predomislite o odlasku, koristite naredbu za povratak.
I to nije sve
Otvorite nmcli Interactive Editor i pogledajte koliko postavki ima i koliko svojstava ima svaka postavka. Interaktivni uređivač je odličan alat, ali ako želite koristiti nmcli u jednostrukim redovima ili skriptama, trebat će vam redovna verzija komandne linije.
Sada kada imate osnove, provjerite
O pravima reklame
Epic serveri Je
izvor: www.habr.com