Direttive NMCLI per gestire la rete in RockyLinux 9 e AlmaLinux 9
In precedenza in RockyLinux 8 e AlmaLinux 8, aggiungevi i file ifcfg per configurare gli adattatori e anche per configurare le route statiche persistenti. In RockyLinux 9 e AlmaLinux 9, il modo consigliato per gestire la rete è utilizzare lo strumento da riga di comando NMCLI incorporato in Linux. Tuttavia, è ancora possibile utilizzare i file ifcfg, anche se non è consigliato. NetworkManager ora dà la priorità ai file chiave. Quando crei o gestisci profili di connessione. A questi profili verrà data la priorità sui file ifcfg. Poiché la maggior parte dei server VPS NVMe viene fornita automaticamente, si consiglia vivamente di utilizzare NMCLI per gestire la rete del server.
Nozioni di base NMCLI
Questi comandi NMCLI di Linux mostrano lo stato attuale della rete e come aggiungere profili di connessione di rete.
Comando NMCLI | Descrizione |
---|---|
nmcli con show | Elenca tutte le connessioni sul server. |
nmcli con show Public | Elenca le impostazioni correnti per la connessione Pubblica |
nmcli dev status | Mostra lo stato di NetworkManager e delle connessioni. |
nmcli con add con-name Public .. | Aggiungere una nuova connessione denominata Pubblica. |
nmcli con mod name .. | Modificare il nome della connessione. |
nmcli con reload | Chiedere a NetworkManager di ricaricare i file di configurazione. |
nmcli con up Public | Attiva una connessione denominata Pubblica |
nmcli dev dis dev | Disattivare e disconnettere la connessione corrente sull’interfaccia di rete dev |
nmcli con del name | Elimina il nome della connessione e il suo file di configurazione |
Esempio: NMCLI mostra adattatori e stato
nmcli dev status
In questo esempio, possiamo vedere che il nostro RockyLinux 9 VPS ha due connessioni denominate eth0 ed eth1. Entrambe queste connessioni sono attive.
DEVICE TYPE STATE CONNECTION eth0 ethernet connected System eth0 eth1 ethernet connected System eth1 lo loopback connected (externally) lo
Esempio: mostra i dettagli della connessione NMCLI
nmcli con show
In questo esempio, possiamo vedere le due connessioni. Nota come nmcli ha assegnato un UUID alle connessioni.
Configurare percorsi statici utilizzando MNCLI
In precedenza, per configurare una route statica in CentOS 7, RockyLinux 8 e AlmaLinux 8, si aggiungeva un file route-eth0 al file /etc/sysconfig/network-scripts. È ancora possibile farlo, così come è ancora possibile aggiungere file ifcfg-eth per configurare la rete. Tuttavia, come accennato in precedenza, se si fa ciò, queste connessioni avranno una priorità inferiore rispetto alle connessioni configurate tramite nmcli. Pertanto, per configurare una route statica su RockyLinux 9 e AlmaLinux 9, utilizzare nmcli.
Configurare la rotta statica per 10.210.250.5
In questo esempio, vogliamo instradare tutto il traffico per l’indirizzo IP 10.210.250.5 tramite il gateway 10.210.250.5.
nmcli connection modify eth1 +ipv4.routes "10.210.250.0/24 10.210.250.1"
Ma ricorda che puoi ancora configurare una route statica in RockyLinux 9 o AlmaLinux 9 nel vecchio modo creando un file route-eth1.
nano /etc/sysconfig/network-scripts/route-eth1
# Configure static route for 10.210.250.0/24 private network 10.210.250.0/24 dev eth1 default via 10.210.250.1 dev eth1
Utilizzo del comando nmcli
Utilizzando il comando nmcli, possiamo eseguire varie attività, come controllare le connessioni di rete, crearle, modificarle o eliminarle quando e come richiesto. Possiamo eseguire il nmcli
comando:
nmcli
L’output visualizza gli indirizzi IPv4 e IPv6 di tutti gli indirizzi IP del server DNS dei dispositivi di rete disponibili.
Controllare lo stato del dispositivo di rete
Possiamo anche controllare lo stato del dispositivo di rete utilizzando il seguente comando:
nmcli dev status
In questo output, possiamo vedere due dispositivi di rete, enp0s3 e lo. Viene anche visualizzato lo stato di entrambi gli adattatori di rete. I parametri, dev status, vengono utilizzati per visualizzare lo stato del dispositivo di rete.
Elenco di tutte le connessioni
Andiamo avanti ed elenchiamo tutte le connessioni con il seguente comando:
nmcli con show
Questo output mostra una singola connessione attivata tramite il dispositivo di rete enp0s3.
Possiamo ottenere lo stesso output con il seguente output:
nmcli connection
Otteniamo lo stesso output del comando eseguito in precedenza.
Possiamo anche usare il seguente comando per ottenere lo stesso output:
nmcli connection show --active
L’output è lo stesso della connessione nmcli e dei comandi nmcli con show.
Mostra informazioni sul dispositivo
Possiamo anche mostrare le informazioni del dispositivo, come il nome della connessione di rete. Per farlo, esegui il seguente comando:
nmcli device show
L’output visualizza numerose informazioni, tra cui il nome della connessione di rete, l’indirizzo hardware, il gateway e i percorsi associati al dispositivo.
Controllare lo stato di NetworkManager
Possiamo controllare se NetworkManager è in esecuzione o meno. Per farlo, possiamo eseguire il seguente comando:
nmcli -t -f all general
L’output controlla se NetworkManager è in esecuzione o meno. Il parametro -t è utilizzato per un output breve. Il parametro -f definisce il nome del campo. Poiché abbiamo menzionato all, visualizza tutti gli output di tutti i campi.
Visualizzazione dei valori di un campo specifico
Possiamo anche restringere l’output a un campo specifico. Diciamo che vogliamo vedere se NetworkManager è in esecuzione o meno. Per farlo, dobbiamo eseguire il seguente comando:
nmcli -t -f running general
Invece di usare tutti gli argomenti, li sostituiamo con running. Nota che questa volta viene visualizzato solo un output. Vediamo ora lo stato della connessione di NetworkManager. Per farlo, dobbiamo usare il parametro state insieme a -t
e -f
. Esegui il seguente comando:
nmcli -t -f state general
Questa volta l’output visualizza “connesso”.
Attiva la connessione di rete
Cerchiamo ora lo stato dell’interfaccia di rete. Abbiamo già utilizzato il seguente comando:
nmcli dev status
Dobbiamo conoscere il nome della connessione mostrato nell’output come Wired connection 1
. È importante notare che potremmo avere nomi di connessione diversi in ambienti diversi.
Utilizzeremo il nome della connessione per attivarla con il seguente comando:
nmcli -p con up id "Wired connection 1"
La connessione è ora attivata correttamente.
Disconnettere e riattivare l’interfaccia di rete
Ora disconnetteremo l’interfaccia di rete. Per farlo, dobbiamo usare il seguente comando:
nmcli dev disconnect enp0s3
La connessione è stata interrotta correttamente.
Se ripetiamo questo comando, otterremo un errore che indica che il dispositivo non è attivo. Possiamo attivare l’interfaccia di rete in due modi diversi. O la proprietà autoconnect dell’interfaccia di rete è impostata su TRUE, oppure l’utente la attiva manualmente con il parametro connect. La attiveremo manualmente con il seguente comando:
Crea una connessione Ethernet
Creiamo ora una nuova connessione Ethernet. Aggiungeremo e assegneremo un indirizzo IP statico. Per fare ciò, dobbiamo eseguire il seguente comando:
nmcli con add con-name eth0 type ethernet ifname eth0 ipv4.method manual ipv4.address 192.168.0.10
La connessione eth0 è stata aggiunta correttamente.
Elimina la connessione di rete
Andiamo avanti ed eliminiamo questa connessione che abbiamo appena aggiunto. Per farlo, dobbiamo eseguire il seguente comando:
nmcli con del "eth1"
La connessione è stata eliminata.
Ricarica le connessioni di rete
Le connessioni di rete vengono salvate nei file. Per impostazione predefinita, questi file non sono monitorati da NetworkManager. Se modifichiamo uno qualsiasi di questi file, le modifiche non vengono applicate immediatamente. Dobbiamo ricaricare i file con il seguente comando:
nmcli con reload
I file sono ora ricaricati. Nota che se utilizziamo un account utente normale, avremo l’errore “accesso negato”. Tuttavia, possiamo usare sudo per eseguire lo stesso comando. Dopo aver eseguito il comando, non si verifica alcun errore, il che significa che il comando è stato eseguito correttamente.
Utilizzo del terminale nmcli ed esecuzione delle configurazioni
Il comando nmcli può anche funzionare come terminale di comando per eseguire comandi. Dobbiamo invocarlo con il nome della connessione. Per scopi di test, possiamo tornare indietro ed eseguire questo comando per creare una nuova connessione:
nmcli con add con-name eth0 type ethernet ifname eth0 ipv4.method manual ipv4.address 192.168.0.10
La connessione eth0 è stata aggiunta correttamente. Ora modifichiamola usando il seguente comando:
nmcli con edit eth0
Viene visualizzato il prompt nmcli. Eseguiremo vari comandi per lavorare con l’ interfaccia eth0.
Per prima cosa, visualizziamo l’indirizzo IP che avevamo assegnato all’interfaccia eth0. Eseguiamo il seguente comando al prompt nmcli:
print ipv4.address
Viene visualizzato l’output del comando. Possiamo vedere l’indirizzo IP che avevamo assegnato in precedenza.
Possiamo verificare la connessione con il comando verify.
verify
L’output visualizza Verifica connessione: OK.
Possiamo rimuovere l’indirizzo IP dall’interfaccia eth0. Per farlo, dobbiamo eseguire il seguente comando:
remove ipv4.address "192.168.0.10/24"
Non viene generato alcun output, il che significa che il comando è stato eseguito correttamente. Supponendo che non abbiamo bisogno di apportare altre modifiche, dobbiamo salvare la configurazione. Dobbiamo eseguire il seguente comando:
save
L’output mostra che l’ interfaccia eth0 è stata aggiornata con successo. Ora possiamo uscire dal prompt nmcli usando il comando quit.