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.
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 premi “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.