Come gestire le connessioni di rete Linux dalla riga di comando

0
251
Roman Samborskyi/Shutterstock.com< /figure>

Il comando nmcli ti consente di sfruttare la potenza di Linux NetworkManager direttamente dalla riga di comando, rendendolo perfetto per i server senza ambiente desktop e amministrazione remota della shell SSH.

Il comando nmcli

Il comando nmcli non è nuovo, è stato rilasciato nel 2010. Insieme al comando ip, sostituisce il venerabile—ma deprecato— ifconfig. Le vecchie abitudini sono dure a morire e molti amministratori di sistema usano ancora ifconfig. Sanno già come usarlo, non c'è alcuna curva di apprendimento e devono solo portare a termine il lavoro. Allora perché imparare un altro strumento?

Beh, alla fine, ifconfig verrà eliminato dalle distribuzioni, quindi è un cambiamento che sta arrivando, che ti piaccia o no. Ma nmcli ha alcuni trucchetti tutti suoi che lo rendono utile per scoprire cosa può offrire.

I concetti e la sintassi di ncmli

Come tutti i comandi CLI, nmcli accetta i parametri della riga di comando. I parametri sono raggruppati in tre categorie.

  • Opzioni: modificano il comportamento di nmcli
  • Sezioni : Questi dicono a nmcli quale serie di azioni stai invocando. Pensa alle sezioni come raccolte di comandi.
  • Azioni: queste dicono a nmcli cosa vuoi che faccia. Considerali come comandi.

Il formato generale della sintassi è:

nmcli <opzioni> <sezioni> <azione> Ma tieni presente che non sono sempre necessari tutti e tre i set di parametri per ogni comando. Le sezioni di nmcli sono:

  • Aiuto: fornisce brevi testi di aiuto sui comandi di ncmcli
  • Generale: recupera il stato e configurazione di NetworkManager
  • Rete: interroga, abilita o disabilita le connessioni di rete
  • Radio: interroga, abilita o disabilita le connessioni di rete Wi-Fi
  • Monitor: monitora NetworkManager e i cambiamenti di stato delle connessioni di rete
  • Connessione: manipola direttamente le interfacce di rete, inclusa l'attivazione e la disattivazione delle stesse, l'aggiunta di nuove connessioni e la rimozione delle connessioni esistenti< /li>
  • Dispositivo: modifica i parametri del dispositivo di rete e connette o disconnette un dispositivo da una connessione esistente
  • Segreto: registra nmcli come agente segreto di NetworkManager. Poiché nmcli lo fa automaticamente, questo è usato molto raramente.

Primi passi con nmcli

Andiamo assicurati che NetworkManager sia installato, in esecuzione e che possiamo connetterci ad esso con nmcli. Useremo l'azione di stato dalla sezione generale.

nmcli stato generale

< /p> Pubblicità

In realtà, lo stato è l'azione predefinita per general, quindi avremmo potuto lasciare quella parola fuori dal comando. Ma abbiamo verificato che nmcli —e quindi NetworkManager—è installato e operativo. Scopriamo qualcosa in più su questo computer.

Possiamo elencare tutti i profili di connessione di rete in memoria e su disco utilizzando l'azione mostra dalla sezione di connessione:

nmcli connection show

L'output è più ampio della finestra del terminale. I nostri risultati sono stati:

NOME UUID TIPO DISPOSITIVO Connessione cablata 1 d2864443-9cee-31ec-ab2e-55e9ebddd53e ethernet enp0s3 ethernet-enp0s8 9aad8efa-3427-4a5c-bef5-270340cd33d0 ethernet enp0s8 ethernet-enp90936 ethernet-enp0s8 ethernet-enp4990s-therb> La macchina di prova utilizzata per questo articolo esegue una versione pre-lancio di Ubuntu 21.10. Ha tre adattatori di rete installati al suo interno, denominati enp0s3, enp0s8 e enp0s9.

Capire l'impianto idraulico

Una connessione di rete consente al computer di comunicare in rete con un altro dispositivo. Internamente, nmcli contiene tutte le informazioni relative a una connessione di rete in un oggetto dati che chiama connessione.

Una connessione nmcli incapsula tutte le informazioni relative a quella connessione, inclusi il livello di collegamento dati e le informazioni sull'indirizzamento IP. Puoi pensare alle connessioni di nmcli come ai dettagli di configurazione per le connessioni di rete del mondo reale.

Per raggiungere il mondo esterno una connessione deve utilizzare un dispositivo di interfaccia di rete, come una scheda di rete. Una connessione è associata a un dispositivo. Quando un dispositivo è attivo e in grado di ricevere o trasmettere dati, si dice che la connessione è attiva o attiva. Lo stato inattivo corrispondente è chiamato, ovviamente, inattivo o down.

Aggiunta di connessioni di rete

Con nmcli puoi creare una connessione di rete e impostare alcune delle sue opzioni di configurazione con un solo comando. Su questo computer di prova, non è presente alcuna connessione su enp0s8 , il nome della nostra connessione cablata (ethernet) numero 2. Aggiungeremo una connessione a enp0s8. Poiché stiamo apportando modifiche al sistema, dovrai utilizzare sudo:

sudo nmcli connection add type ethernet ifname enp0s8

Questo comando utilizza l'azione add dalla sezione connection. Abbiamo usato l'opzione type per richiedere una connessione ethernet e l'opzione ifname (nome interfaccia) per specificare il dispositivo di interfaccia di rete che vogliamo che questa connessione usi.

Controlliamo cosa c'è successa:

connessione nmcli mostra annuncio

NOME UUID TIPO DISPOSITIVO Connessione cablata 1 d2864443-9cee-31ec-ab2e-55e9ebddd53e ethernet enp0s3 ethernet-enp0s8 9aad8efa-3427-4a5c-bef5-270340cd33d0 ethernet3d0 ethernet3 ethernet-enp0s8 ethernet-enp90bs32 ethernet-enp0s48 5 1 b874aa09-3a25-4f52-b20b-1b95d9741be9 ethernet —

La nostra nuova connessione, ethernet-enp0s8-1 , è stata creata. Il suo identificatore univoco universale (UUID) è stato assegnato e il tipo di connessione è ethernet. Ora possiamo renderlo attivo con il comando up. Il comando up deve essere seguito dal nome della connessione o dal suo UUID:

nmcli connection up ethernet-enp0s8-1

Controlliamo ancora una volta le nostre connessioni attive:

nmcli connection show –active

NOME UUID TIPO DISPOSITIVO Connessione cablata 1 d2864443-9cee-31ec-ab2e-55e9ebddd53e ethernet enp0s3 ethernet-enp0s8 -1 b874aa09-3a25-4f52-b20b-1b95d9741be9 ethernet enp0s8 ethernet-enp0s9 5bc49cef-bc3d-4832-9073-460b408932b6 ethernet enp0s9

La nostra nuova connessione, ethernet-enp0s8-1, è ora attiva e collegata all'interfaccia di rete enp dispositivo.

Regolazione delle connessioni

Naturalmente, ncmli ti consente anche di modificare i parametri delle connessioni esistenti. Supponiamo di voler cambiare un'interfaccia di rete dal protocollo DHCP (Dynamic Host Configuration Protocol) all'utilizzo di un indirizzo IP statico. Per abbinare la nostra rete, abbiamo bisogno di un indirizzo IP fisso di 192.168.1.40 per la nostra nuova connessione.

Per ottenere ciò, devi emettere due comandi. Uno per impostare l'indirizzo IP e uno per impostare manualmente il metodo di connessione per ottenere un indirizzo IP:

connessione nmcli modifica ethernet-enp0s8-1 ipv4.address 192.168.1.40/24 connessione nmcli modifica ethernet-enp0s8-1 ipv4.method manuale

Pubblicità

Il “/24” che forniamo con l'indirizzo IP è la subnet mask in Classless Inter-Domain Routing (CIDR). In questo contesto “/24” significa “255.255.255.0.”

Le modifiche non avranno effetto finché la connessione non verrà “rimbalzata.” Cioè, disabilitato e riportato online. Il primo comando interrompe la connessione e il secondo la ripristina.

connessione nmcli down ethernet-enp0s8-1 connessione nmcli up ethernet-enp0s8-1

Se si desidera annullare la modifica e passare da un indirizzo IP statico a un indirizzo IP DHCP, utilizzare l'opzione automatica anziché manuale.

connessione nmcli modifica ethernet-enp0s8-1 ipv4.method auto

Gestione dispositivi

La sezione del dispositivo nmcli contiene azioni (comandi) che consentono di gestire le interfacce di rete installate sul computer. Per vedere lo stato di tutte le interfacce di rete sul tuo computer usa:

nmcli device status

< /p>

Mostra i dettagli del dispositivo

Per esaminare i dettagli di un'interfaccia di rete, usiamo l'azione show dalla sezione device. Se non si fornisce un nome di dispositivo, vengono recuperati e visualizzati i dettagli di tutti i dispositivi. Puoi scorrere e paginare su e giù per rivederli.

Diamo un'occhiata a enp0s8, il dispositivo utilizzato dalla nostra nuova connessione. Possiamo verificare che l'indirizzo IP in uso sia l'indirizzo che abbiamo richiesto in precedenza.

nmcli device show enp0s8

GENERAL.DEVICE: enp0s8 GENERAL.TYPE: ethernet GENERAL.HWADDR: 08:00:27:79:A7:68 GENERAL.MTU: 1500 GENERAL.STATE: 100 (collegato) GENERAL.CONNECTION: ethernet-enp0s8-1 GENERAL.CON -PATH: /org/freedesktop/NetworkManager/ActiveConnection/8 WIRED-PROPERTIES.CARRIER: su IP4.ADDRESS[1]: 192.168.1.40/24 IP4.GATEWAY: — IP4.ROUTE[1]: dst = 192.168.1.0 /24, nh = 0.0.0.0, mt = 102 IP6.ADDRESS[1]: fe80::3241:457d:cd1c:2436/64 IP6.GATEWAY: — IP6.ROUTE[1]: dst = fe80::/64, nh = ::, mt = 102

Nmcli restituisce una schermata di informazioni. Alcuni degli elementi comunemente utili sono:

  • DISPOSITIVO: il nome del dispositivo che stiamo esaminando.
  • TYPE: il tipo di connessione che utilizza questo dispositivo.
  • HWADDR: l'indirizzo MAC della scheda di interfaccia.
  • STATE: se questo dispositivo ha una connessione live.
  • IP4.ADDRESS [1]: l'indirizzo IP e la subnet mask per questo dispositivo.
  • CONNESSIONE: il nome della connessione che utilizza questo dispositivo.

L'editor interattivo di nmcli

Sebbene nmcli sia uno strumento da riga di comando, ha un editor interattivo elementare. L'azione di modifica nella sezione connessione apre l'editor interattivo sulla connessione che passi sulla riga di comando:

connessione nmcli modifica ethernet-enp0s8-1

Annuncio

Sullo schermo viene stampato un testo di aiuto e viene visualizzato il “nmcli>” prompt dei comandi.

se digiti print e premi “Invio”, nmcli elenca tutte le proprietà associate alla connessione. Ce ne sono molti. Puoi scorrerli per esaminarli.

print

Lascia& #8217;s cambia la nostra connessione all'utilizzo di DHCP. Useremo il “ipv4” impostazioni. Per farlo, dobbiamo “go” alle impostazioni IPv4.

vai a ipv4

La proprietà che vogliamo modificare è method. Vogliamo impostarlo su automatico.

set method auto

Vedrai il seguente messaggio:

Vuoi anche cancellare “ipv4.addresses”? [sì]: Pubblicità

Se non cancelli l'indirizzo IP, la prossima volta che imposti questa connessione per utilizzare un indirizzo IP statico, utilizzerà quello impostato in precedenza. Se lo cancelli, dovrai impostare un nuovo indirizzo IP se dovessi modificare nuovamente questa connessione per utilizzare un indirizzo IP statico. Digita “sì” o premi semplicemente “Invio” per cancellarlo. Digita “no” e premi “Invio” per mantenerlo.

Dobbiamo salvare le nostre modifiche:

save

Digita “chiudi” per uscire dall'editor interattivo. Se non vuoi uscire, digita “indietro” per tornare al livello principale e continuare a utilizzare l'editor.

C'è molto di più nell'uomo

Il comando nmcli può fare molto di più. Ha molti parametri e opzioni della riga di comando. Così tanti, infatti, che la sua pagina man ha oltre 1200 righe. Esaminali per vedere cos'altro può fare nmcli per te.

E, naturalmente, se stai amministrando le connessioni di rete in remoto, non disabilitare la connessione a cui ti sei connesso . Non è mai divertente.