Configurare Indirizzi IP Statici con NetworkManager su RHEL/CentOS
Configura un IP statico persistente su RHEL o CentOS con `nmcli`, includendo gateway, DNS, attivazione e controlli di rollback.
Configurare Indirizzi IP Statici con NetworkManager su RHEL/CentOS
La rete è una delle prime cose da configurare correttamente su un server. Su RHEL e CentOS, NetworkManager può configurare un indirizzo IP statico persistente senza modificare manualmente i file di interfaccia, il che è più sicuro sulle nuove versioni di Enterprise Linux.
Questa guida illustra i comandi nmcli per impostare un indirizzo, gateway e server DNS, attivare il profilo e verificare che la modifica sopravviva a un riavvio.
Comprendere NetworkManager e nmcli
Prima di addentrarci nei passaggi di configurazione, chiariamo i componenti principali che utilizzeremo:
Cos'è NetworkManager?
NetworkManager è un demone che gestisce le impostazioni di rete, semplificando la gestione delle connessioni di rete. Può gestire vari tipi di connessione, tra cui Ethernet, Wi-Fi, banda larga mobile e VPN. Rileva e configura automaticamente i dispositivi di rete e cerca di mantenere una connessione di rete attiva, passando da una connessione disponibile all'altra quando necessario. Per i server, garantisce che le interfacce di rete siano configurate correttamente e persistano tra i riavvii.
Cos'è nmcli?
nmcli è il client a riga di comando per NetworkManager. Permette di controllare NetworkManager e configurare le connessioni di rete dal terminale. È particolarmente utile in ambienti server headless dove non è disponibile un'interfaccia grafica. I comandi nmcli sono intuitivi e forniscono un modo robusto per interagire con l'intera gamma di funzionalità di NetworkManager, dalla visualizzazione dello stato dei dispositivi di rete alla creazione e modifica di profili di connessione complessi.
Prerequisiti
Per seguire questa guida, assicurati di avere:
- Privilegi di Root: Avrai bisogno di accesso
sudoo di essere loggato come utente root per apportare modifiche alla configurazione di rete. - Informazioni di Sistema: L'indirizzo IP statico, la maschera di sottorete (o notazione CIDR), il gateway predefinito e gli indirizzi IP del server DNS che intendi utilizzare.
- Interfaccia di Rete Identificata: Conoscenza del nome dell'interfaccia di rete (es.
enp0s3,eth0) che desideri configurare. Vedremo come trovarlo.
Configurazione Passo-Passo di un Indirizzo IP Statico
Ecco come configurare un indirizzo IP statico usando nmcli.
Passo 1: Identificare la Propria Interfaccia di Rete
Prima di tutto, devi conoscere il nome dell'interfaccia di rete che vuoi configurare. Puoi elencare tutti i dispositivi di rete attivi e il loro stato usando nmcli device o nmcli device status:
nmcli device status
Output di Esempio:
DEVICE TYPE STATE CONNECTION
enp0s3 ethernet connected System enp0s3
lo loopback unmanaged --
In questo esempio, enp0s3 è la nostra interfaccia Ethernet. Prendi nota del nome della tua interfaccia.
Passo 2: Creare un Nuovo Profilo di Connessione di Rete
In generale, è buona pratica creare un nuovo profilo di connessione per la configurazione IP statica, piuttosto che modificare direttamente uno esistente gestito da DHCP, specialmente se potresti voler tornare indietro facilmente. Un profilo di connessione memorizza tutte le impostazioni per una specifica connessione di rete.
Per creare un nuovo profilo di connessione Ethernet, usa il comando nmcli connection add. Specificherai il tipo di connessione, un nome descrittivo (con-name) e il nome dell'interfaccia (ifname).
sudo nmcli connection add type ethernet con-name my-static-eth ifname enp0s3
type ethernet: Specifica una connessione Ethernet.con-name my-static-eth: Assegna un nome a questo nuovo profilo di connessione. Scegli qualcosa di descrittivo.ifname enp0s3: Collega questo profilo di connessione all'interfaccia di rete fisicaenp0s3.
Alternativa: Modificare un Profilo Esistente
Se preferisci modificare una connessione esistente (es. System enp0s3 dall'output di nmcli device status), useresti nmcli connection modify con il suo con-name esistente.
sudo nmcli connection modify "System enp0s3" # sostituisci con il nome della tua connessione
Nota: Per semplicità e chiarezza, questa guida presuppone che tu abbia creato un nuovo profilo di connessione chiamato my-static-eth.
Passo 3: Configurare le Impostazioni IPv4 (IP, Gateway, DNS)
Ora configuriamo l'indirizzo IP statico, il gateway e i server DNS per il nostro profilo di connessione my-static-eth. È fondamentale impostare il metodo IPv4 su manual per disabilitare DHCP.
Impostare l'Indirizzo IP e il Gateway
Usa le proprietà ipv4.addresses e ipv4.gateway. L'indirizzo IP deve essere in notazione CIDR (es. 192.168.1.100/24).
sudo nmcli connection modify my-static-eth ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1
ipv4.addresses 192.168.1.100/24: Imposta l'indirizzo IP statico a192.168.1.100con una maschera di sottorete a 24 bit (255.255.255.0).ipv4.gateway 192.168.1.1: Imposta il gateway predefinito per la rete.
Impostare i Server DNS
Specifica uno o più indirizzi IP del server DNS. Separa più indirizzi con virgole.
sudo nmcli connection modify my-static-eth ipv4.dns "1.1.1.1,8.8.8.8"
Se la tua organizzazione utilizza DNS interni, usa quegli indirizzi resolver. Ad esempio, un server privato potrebbe usare 192.168.1.10 e 192.168.1.11.
Disabilitare DHCP per IPv4
Imposta il metodo IPv4 su manual; altrimenti NetworkManager potrebbe ancora tentare DHCP per questo profilo.
sudo nmcli connection modify my-static-eth ipv4.method manual
Se il server non deve utilizzare IPv6 su questa connessione, disabilitalo esplicitamente:
sudo nmcli connection modify my-static-eth ipv6.method disabled
Fallo solo se la tua rete non si basa su IPv6.
Passo 4: Attivare il Profilo Statico
Attiva la nuova connessione. Se stai lavorando tramite SSH, esegui questo comando da accesso console o pianifica un rollback prima di cambiare l'interfaccia attiva.
sudo nmcli connection up my-static-eth
Se un vecchio profilo DHCP è ancora attivo sulla stessa interfaccia, disattivalo dopo aver confermato che il profilo statico funzioni:
sudo nmcli connection down "System enp0s3"
Sostituisci "System enp0s3" con il nome effettivo della vecchia connessione da nmcli connection show.
Passo 5: Verificare l'Indirizzo, la Route e il DNS
Controlla la connessione attiva:
nmcli connection show --active
Conferma l'indirizzo IP:
ip addr show enp0s3
Conferma la route predefinita:
ip route
Dovresti vedere una route simile a:
default via 192.168.1.1 dev enp0s3
Controlla le impostazioni DNS gestite da NetworkManager:
nmcli device show enp0s3 | grep DNS
Poi testa la connettività reale:
ping -c 3 192.168.1.1
ping -c 3 1.1.1.1
getent hosts example.com
Il primo comando controlla il gateway, il secondo controlla la connettività IP in uscita e il terzo controlla la risoluzione DNS.
Modifiche Remote Più Sicure
Le modifiche all'IP statico possono disconnettere la tua sessione SSH se digiti male l'indirizzo o il gateway. Prima di applicare il profilo in remoto, mantieni una seconda sessione aperta e considera di pianificare un rollback:
sudo shutdown -r +5 "Riavvio per rollback di rete"
Se il nuovo IP statico funziona, annulla il riavvio:
sudo shutdown -c
Su sistemi dove un riavvio non è accettabile, crea un job at temporaneo o usa accesso console out-of-band in modo da poter recuperare se la route è sbagliata.
Conclusione
Usa i profili di connessione nmcli per la configurazione IP statica persistente su RHEL e CentOS. Il set minimo di lavoro è ipv4.addresses, ipv4.gateway, ipv4.dns e ipv4.method manual; il flusso di lavoro più sicuro è attivare il profilo, verificare il comportamento della route e del DNS, quindi rimuovere o disabilitare il vecchio profilo DHCP solo dopo che il server è raggiungibile al suo nuovo indirizzo.