Aprofiteu al màxim l'eina de gestió de xarxa NetworkManager a la línia d'ordres de Linux mitjançant la utilitat nmcli.
Utilitat
Va aparèixer l'any 2010 i per a molts s'ha convertit en una forma alternativa de configurar interfícies i connexions de xarxa. Encara que algunes persones encara fan servir
sintaxi de l'ordre ncmli
En general, la sintaxi és així:
$ nmcli <options> <section> <action>
- les opcions són paràmetres que determinen les subtileses de l'operació nmcli,
- secció (secció): determina quines funcions de la utilitat s'utilitzaran,
- acció: us permet especificar què cal fer realment.
Hi ha 8 seccions en total, cadascuna de les quals està associada a un determinat conjunt d'ordres (accions):
- Ajuda proporciona ajuda sobre les ordres ncmcli i el seu ús.
- General retorna l'estat del NetworkManager i la configuració global.
- xarxes inclou ordres per consultar l'estat de connexió de xarxa i activar/desactivar connexions.
- Ràdio inclou ordres per consultar l'estat de la connexió de la xarxa WiFi i activar/desactivar connexions.
- Controlar inclou ordres per supervisar l'activitat de NetworkManager i observar els canvis en l'estat de les connexions de xarxa.
- Connexió inclou ordres per gestionar les interfícies de xarxa, afegir noves connexions i eliminar les existents.
- Aparell s'utilitza principalment per canviar paràmetres relacionats amb el dispositiu (com ara el nom de la interfície) o per connectar dispositius mitjançant una connexió existent.
- Secret registra nmcli com a "agent secret" de NetworkManager que escolta missatges secrets. Aquesta secció s'utilitza poques vegades, perquè nmcli funciona d'aquesta manera per defecte quan es connecta a les xarxes.
Exemples senzills
Abans de començar, assegureu-vos que NetworkManager s'està executant i que nmcli es pot comunicar amb ell:
$ nmcli general
STATE CONNECTIVITY WIFI-HW WIFI WWAN-HW WWAN
connected full enabled enabled enabled enabled
El treball sovint comença visualitzant tots els perfils de connexió de xarxa:
$ 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
Aquesta comanda utilitza acció mostra per a la secció Connexió.
La màquina de prova està executant Ubuntu 20.04. En aquest cas, hem trobat tres connexions per cable: enp0s3, enp0s8 i enp0s9.
Gestionar les connexions
És important entendre que en nmcli, amb el terme Connexió ens referim a una entitat que conté tota la informació sobre la connexió. En altres paraules, aquesta és la configuració de la xarxa. La connexió encapsula tota la informació relacionada amb la connexió, inclosa la capa d'enllaç i la informació d'adreça IP. Es tracta de la capa 2 i la capa 3 del model de xarxa OSI.
Quan configureu una xarxa a Linux, normalment esteu configurant connexions que acabaran lligades a dispositius de xarxa, que al seu torn són interfícies de xarxa instal·lades a l'ordinador. Quan un dispositiu utilitza una connexió, es considera activa o elevada. Si no s'utilitza una connexió, està inactiva o es restableix.
Afegir connexions de xarxa
La utilitat ncmli us permet afegir i configurar connexions ràpidament. Per exemple, per afegir la connexió per cable 2 (amb enp0s8), heu d'executar l'ordre següent com a superusuari:
$ sudo nmcli connection add type ethernet ifname enp0s8
Connection 'ethernet-enp0s8' (09d26960-25a0-440f-8b20-c684d7adc2f5) successfully added.
A l'opció tipus indiquem que serà una connexió Ethernet, i a l'opció ifname (nom de la interfície) indiquem la interfície de xarxa que volem utilitzar.
Això és el que passarà després d'executar l'ordre:
$ 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 --
S'ha creat una nova connexió, ethernet-enp0s8. Se li va assignar un UUID i el tipus de connexió era Ethernet. Aixequem-lo amb l'ordre up:
$ nmcli connection up ethernet-enp0s8
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/4)
Tornem a comprovar la llista de connexions actives:
$ 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
S'ha afegit una nova connexió ethernet-enp0s8, està activa i utilitza la interfície de xarxa enp0s8.
Configuració de connexions
La utilitat ncmli us permet canviar fàcilment els paràmetres de les connexions existents. Per exemple, heu de canviar la vostra adreça IP dinàmica (DHCP) per una adreça IP estàtica.
Suposem que hem d'establir l'adreça IP a 192.168.4.26. Per fer-ho fem servir dues ordres. El primer establirà directament l'adreça IP i el segon canviarà el mètode de configuració de l'adreça IP a manual:
$ nmcli connection modify ethernet-enp0s8 ipv4.address 192.168.4.26/24
$ nmcli connection modify ethernet-enp0s8 ipv4.method manual
No oblideu configurar també la màscara de subxarxa. Per a la nostra connexió de prova, aquesta és 255.255.255.0, o amb /24 per a l'encaminament sense classe (CIDR).
Perquè els canvis tinguin efecte, heu de desactivar i reactivar la connexió:
$ 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
Si, per contra, necessiteu instal·lar DHCP, utilitzeu auto en lloc de manual:
$ nmcli connection modify ethernet-enp0s8 ipv4.method auto
Treballar amb dispositius
Per a això utilitzem la secció Dispositiu.
Comprovació de l'estat del dispositiu
$ 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 --
Sol·licitud d'informació del dispositiu
Per fer-ho, utilitzeu l'acció Mostra de la secció Dispositiu (heu d'especificar el nom del dispositiu). La utilitat mostra molta informació, sovint en diverses pàgines.
Vegem la interfície enp0s8 que utilitza la nostra nova connexió. Assegurem-nos que utilitza exactament l'adreça IP que hem establert anteriorment:
$ 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
Hi ha força informació. Destaquem el principal:
- Nom de la interfície de xarxa: enp0s8.
- Tipus de connexió: connexió Ethernet per cable.
- Veiem l'adreça MAC del dispositiu.
- Unitat de transmissió màxima (MTU) especificada — la mida màxima d'un bloc de dades útil d'un paquet que pot ser transmès pel protocol sense fragmentació.
- Dispositiu connectat actualment.
- Nom de la connexióquin dispositiu està utilitzant: ethernet-enp0s8.
- El dispositiu utilitza el Adreça IP, que vam instal·lar anteriorment: 192.168.4.26/24.
Una altra informació es refereix als paràmetres d'encaminament i passarel·la de connexió per defecte. Depenen de la xarxa específica.
Editor interactiu de nmcli
nmcli també té un editor interactiu senzill, que pot ser més còmode per a alguns per treballar. Per executar-lo en una connexió ethernet-enp0s8, per exemple, utilitzeu acció edit:
$ nmcli connection edit ethernet-enp0s8
També té una petita ajuda, que, però, és de mida més petita que la versió de consola:
===| 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>
Si escriviu l'ordre d'impressió i premeu Intro, nmcli mostrarà totes les propietats de connexió:
===============================================================================
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: --
Per exemple, per establir la connexió a DHCP, escriviu goto ipv4 i feu clic Enter:
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>
A continuació, escriviu el mètode establert automàticament i feu clic Enter:
nmcli ipv4> set method auto
Do you also want to clear 'ipv4.addresses'? [yes]:
Si voleu esborrar l'adreça IP estàtica, feu clic a Enter. En cas contrari, escriviu no i premeu Intro. Podeu desar-lo si creieu que el necessitareu en el futur. Però fins i tot amb una adreça IP estàtica desada, s'utilitzarà DHCP si el mètode està configurat com a automàtic.
Utilitzeu l'ordre desa per desar els canvis:
nmcli ipv4> save
Connection 'ethernet-enp0s8' (09d26960-25a0-440f-8b20-c684d7adc2f5) successfully updated.
nmcli ipv4>
Escriviu sortir per sortir de l'editor interactiu nmcli. Si canvieu d'opinió sobre marxar, feu servir l'ordre enrere.
I això no és tot
Obriu l'editor interactiu nmcli i vegeu quants paràmetres hi ha i quantes propietats té cada paràmetre. L'editor interactiu és una eina fantàstica, però si voleu utilitzar nmcli en una línia o scripts, necessitareu la versió normal de la línia d'ordres.
Ara que teniu els conceptes bàsics, feu una ullada
Sobre els drets de publicitat
Servidors èpics - És
Font: www.habr.com