Come gestire le connessioni di rete Linux dalla riga di comando

Contenuti

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

il nmcli Il comando non è nuovo, è stato lanciato in 2010. Insieme al comando ip, sostituisce il venerabile, ma obsoleto, ifconfig. Le vecchie abitudini sono lente a morire, e molti amministratori di sistema usano ancora ifconfig. Sanno già come usarlo, non c'è curva di apprendimento e devono solo fare il lavoro. Quindi, Perché imparare un altro strumento??

Bene, eventualmente ifconfig verrà rimosso dalle distribuzioni, quindi c'è un cambiamento in arrivo, piace o no. Ma nmcli ha alcuni trucchi ingegnosi che valgono la pena di scoprire cosa ha da offrire.

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

Ma nota che non hai sempre bisogno di tutti e tre i set di parametri per ogni comando. il nmcli le sezioni sono:

  • Aiuto: Fornisce brevi testi di aiuto sul ncmcli comandi
  • Generale: Recupera lo stato e la configurazione di NetworkManager
  • Rete: domanda, abilitare o disabilitare le connessioni di rete
  • Radio: domanda, abilitare o disabilitare le connessioni di rete Wi-Fi
  • Tenere sotto controllo: Monitora NetworkManager e le modifiche allo stato della connessione di rete
  • Connessione: Manipola direttamente le interfacce di rete, che include abilitarli e disabilitarli, aggiungi nuove connessioni e rimuovi connessioni esistenti
  • Dispositivo: Modificare i parametri del dispositivo di rete e connettere o disconnettere un dispositivo da una connessione esistente
  • Segreto: record nmcli come un Agente segreto di NetworkManager. Perché nmcli lo fa automaticamente, questo è usato molto raramente.

Primi passi con nmcli

Assicuriamoci che NetworkManager sia installato, in esecuzione e possiamo connetterci ad esso con nmcli. Useremo il status azione del general sezione.

stato generale di nmcli

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

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

Visualizzazione connessione nmcli

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

NAME               UUID                                 TYPE     DEVICE 
Wired connection 1 d2864443-9cee-31ec-ab2e-55e9ebddd53e ethernet enp0s3 
ethernet-enp0s8    9aad8efa-3427-4a5c-bef5-270340cd33d0 ethernet enp0s8 
ethernet-enp0s9    5bc49cef-bc3d-4832-9073-460b408932b6 ethernet enp0s9

La macchina di test utilizzata per questo post esegue una versione pre-release di Ubuntu 21.10. Sono installate tre schede di rete, chiamato enp0s3, enp0s8, e enp0s9.

Comprendere 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 chiamato connection.

un nmcli connessione incapsula tutte le informazioni relative a quella connessione, incluso Livello di collegamento dati e Informazioni sull'indirizzamento IP. Puoi pensare a nmcli'S come i 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 è collegata a un dispositivo. Quando un dispositivo è attivo e può ricevere o trasmettere dati, si dice che la connessione sia active oh up. Viene chiamato il rispettivo stato di inattività, come possiamo aspettare?, inactive oh down.

Aggiungi connessioni di rete

Insieme a nmcli puoi creare una connessione di rete e determinare alcune delle sue opzioni di configurazione con un singolo comando. Su questo computer di prova, nessuna connessione in enp0s8 , il nome della nostra connessione via cavo (ethernet) numero 2. Aggiungeremo una connessione a enp0s8. Perché stiamo apportando modifiche al sistema, dovrai usare sudo:

sudo nmcli connection aggiungi tipo ethernet ifname enp0s8

Questo comando usa il add azione del connection sezione. Noi usiamo il type possibilità di richiedere una connessione ethernet, e il ifname (nome interfaccia) per specificare il dispositivo di interfaccia di rete che vogliamo che questa connessione utilizzi.

Vediamo cosa è successo:

Visualizzazione connessione nmcli

NAME               UUID                                 TYPE     DEVICE 
Wired connection 1 d2864443-9cee-31ec-ab2e-55e9ebddd53e ethernet enp0s3 
ethernet-enp0s8    9aad8efa-3427-4a5c-bef5-270340cd33d0 ethernet enp0s8 
ethernet-enp0s9    5bc49cef-bc3d-4832-9073-460b408932b6 ethernet enp0s9 
ethernet-enp0s8-1  b874aa09-3a25-4f52-b20b-1b95d9741be9 ethernet --

La nostra nuova connessione ethernet-enp0s8-1 , È stato creato. L'identificatore univoco universale è stato assegnato (UUID) e il tipo di connessione è Ethernet. Ora possiamo attivarlo con il up comando. il up Il comando deve essere seguito dal nome della connessione o dal relativo UUID:

connessione nmcli fino ethernet-enp0s8-1

Rivediamo ancora una volta le nostre connessioni attive:

Nmcli Connection Show --active

NAME               UUID                                 TYPE     DEVICE 
Wired connection 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 è attivo e collegato alla proprietà enp0s8 dispositivo di interfaccia di rete.

Regolazione della connessione

Certo, ncmli Consente inoltre di modificare i parametri delle connessioni esistenti. Supponiamo di voler cambiare un'interfaccia di rete dal Dynamic Host Configuration Protocol (DHCP) utilizzare 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 farlo, devi dare due comandi. Uno per configurare l'indirizzo IP e un altro per configurare il metodo di connessione per ottenere un indirizzo IP in manuale:

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

Il “/ 24” ciò che forniamo con l'indirizzo IP è la subnet mask in itinerario tra le pause (CIDR). In tale contesto, “/ 24” significa “255.255.255.0”.

Le modifiche non avranno effetto fino a quando “contraccolpo” la connessione. In altre parole, disattivato e ricollegato. Il primo comando disabilita la connessione e il secondo la riabilita.

connessione nmcli down ethernet-enp0s8-1
connessione nmcli fino ethernet-enp0s8-1

Se vuoi annullare la modifica e passare da un indirizzo IP statico a un indirizzo IP DHCP, Utilizzare il auto opzione invece di manual.

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

Gestione dei dispositivi

il nmcli device La sezione contiene azioni (comandi) che ti permettono di gestire le interfacce di rete installate sul tuo computer. Per visualizzare lo stato di tutte le interfacce di rete sul tuo computer, utilizzo:

stato del dispositivo nmcli

Visualizzazione dei dettagli del dispositivo

Per esaminare i dettagli di un'interfaccia di rete, noi usiamo il show azione del device sezione. Se non fornisci il nome del dispositivo, i dettagli di tutti i dispositivi vengono recuperati e visualizzati. Puoi scorrere verso l'alto e verso il basso per rivederli.

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

Nmcli Device show enp0s8

GENERALE. DISPOSITIVO:           enp0s8
GENERAL.TYPE:             ethernet
GENERAL.HWADDR:           08:00:27:79:A7 ·:68
GENERALE. MTU:              1500
GENERALE. STATO:            100 (connesso)
GENERALE. CONNESSIONE:       ethernet-enp0s8-1
GENERAL.CON-PATH:         /org/freedesktop/NetworkManager/ActiveConnection/8
WIRED-PROPERTIES.CARRIER: on
IP4.ADDRESS[1]:           192.168.1.40/24
IP4. GATEWAY:              --
IP4. ROTTA[1]:             dst = 192.168.1.0/24, nh = 0.0.0.0, mt = 102
IP6.INDIRIZZO[1]:           fe80::3241:457D:cd1c:2436/64
IP6.GATEWAY:              --
IP6.ROTTA[1]:             dst = fe80::/64, nh = ::, mt = 102

Viene restituita una schermata piena di informazioni da nmcli . Alcuni degli oggetti più utili sono:

  • DISPOSITIVO: Il nome del dispositivo che stiamo esaminando.
  • SCRIVI: Il tipo di connessione utilizzato da questo dispositivo.
  • HWADDR: L'indirizzo MAC della scheda di interfaccia.
  • STATO: Se questo dispositivo ha una connessione live.
  • INDIRIZZO IP4[1]: L'indirizzo IP e la subnet mask di questo dispositivo.
  • CONNESSIONE: Il nome della connessione utilizzata da questo dispositivo.

L'editor interattivo nmcli

Sebbene nmcli è uno strumento a riga di comando che ha un editor interattivo elementare. L'azione di modifica nella sezione di connessione apre l'editor interattivo nella connessione passando dalla riga di comando:

connessione nmcli modifica ethernet-enp0s8-1

Il testo della Guida viene stampato sullo schermo e viene visualizzato il prompt dei comandi “nmcli>”.

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

Stampa

Cambiamo di nuovo la nostra connessione per usare DHCP. Useremo la configurazione di "ipv4". Fare quello, Bisogno “andare” alla configurazione IPv4.

vai a ipv4

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

imposta metodo automatico

Vedrai il seguente messaggio:

Vuoi anche cancellare 'ipv4.addresses'? [sì]:

Se non cancelli l'indirizzo IP, la prossima volta che configuri questa connessione per utilizzare un indirizzo IP statico, utilizzerà quello precedentemente configurato. Se lo cancelli, sarà necessario determinare un nuovo indirizzo IP se in qualsiasi momento si modifica questa connessione per utilizzare un indirizzo IP statico. Scriba “sì” o semplicemente premere “accedere” per eliminarlo. Scriba “no” e premi “accedere” per mantenerlo.

Dobbiamo salvare le nostre modifiche:

Salva

Scriba “uscire” per uscire dall'editor interattivo. Se non vuoi andartene, scriba “ritorno” Per tornare al livello principale e continuare a utilizzare l'editor.

C'è molto di più per l'uomo

il nmcli Il comando può fare molto di più. Ha un gran numero di alternative e parametri della riga di comando. Così tanti in realtà, Che cos'è pagina man si estende a più di 1200 Linee. Dai un'occhiata per vedere cos'altro nmcli può fare per te.

E, in ogni caso, se gestisci le connessioni di rete in remoto, non disattivare la connessione a cui ti sei connesso. Non è mai divertente.

Iscriviti alla nostra Newsletter

Non ti invieremo posta SPAM. Lo odiamo quanto te.