Ricerca nel sito web

Configura la rete su AlmaLinux 8, CentOS 8 o Rocky Linux 8 con il comando nmcli (20 esempi)


Su questa pagina

  1. Prerequisiti
  2. 1. Controlla lo stato di Network Manager
  3. 2. Controlla tutti i dispositivi disponibili
  4. 3. Controlla la connessione attiva
  5. 4. Visualizza informazioni sulla connessione Ethernet
  6. 5. Modifica la direttiva \Connessione automatica.
  7. 6. Modifica la direttiva BOOTPROTO della connessione di rete
  8. 7. Disabilita l'indirizzo IPv6 con nmcli
  9. 8. Aggiungi server DNS alla connessione esistente
  10. 9. Rimuovi il server DNS dalla connessione esistente
  11. 10. Aggiungi/modifica connessione in modo interattivo
  12. 11. Monitorare l'attività di connessione
  13. 12. Crea una nuova connessione con IP statico
  14. 13. Crea una nuova connessione con DHCP
  15. 14. Attiva una nuova connessione
  16. 15. Disattivare una connessione
  17. 16. Elimina una connessione
  18. 17. Cambia il nome host con nmcli
  19. 18. Cambia la direttiva DEFROUTE
  20. 19. Riavvia la connessione Ethernet
  21. 20. aiuto nmcli
  22. Conclusione

nmcli è uno strumento della riga di comando che può essere utilizzato per controllare NetworkManager. Questo strumento ti aiuterà a visualizzare lo stato del dispositivo di rete, creare, modificare, attivare/disattivare, eliminare le connessioni di rete e anche a risolvere i problemi di rete nel tuo sistema Linux. È molto utile per i server e le macchine senza testa per controllare le connessioni a livello di sistema.

In questo tutorial, ti mostreremo come utilizzare il comando nmcli per controllare le connessioni di rete con esempi.

Prerequisiti

  • Un server che esegue AlmaLinux 8, CentOS 8 o Rocky Linux 8.
  • Una password di root è impostata sul tuo server.

1. Controllare lo stato di NetworkManager

Per verificare se Network Manager è in esecuzione o meno, utilizzare il seguente comando:

nmcli -t -f RUNNING general

Dovresti vedere il seguente output:

running

Per ottenere uno stato generale, eseguire il seguente comando:

nmcli general

Dovresti vedere il seguente output:

STATE      CONNECTIVITY  WIFI-HW  WIFI     WWAN-HW  WWAN    
connected  full          enabled  enabled  enabled  enabled 

2. Selezionare Tutti i dispositivi disponibili

Puoi visualizzare tutti i dispositivi disponibili nel tuo sistema, esegui il seguente comando:

nmcli dev status

Dovresti vedere il seguente output:

DEVICE  TYPE      STATE      CONNECTION  
eth0    ethernet  connected  System eth0 
eth1    ethernet  connected  System eth1 
lo      loopback  unmanaged  --      

3. Selezionare Connessione attiva

Per elencare tutte le connessioni attive nel tuo sistema, esegui il seguente comando:

nmcli con show

Dovresti ottenere il seguente output:

NAME         UUID                                  TYPE      DEVICE 
System eth0  5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03  ethernet  eth0   
System eth1  9c92fad9-6ecb-3e6c-eb4d-8a47c6f50c04  ethernet  eth1

4. Visualizza informazioni sulla connessione Ethernet

È possibile visualizzare le informazioni sintetiche sulla connessione ethernet utilizzando il seguente comando:

nmcli con show "System eth0"

Dovresti ottenere il seguente output:

connection.id:                          System eth0
connection.uuid:                        5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03
connection.stable-id:                   --
connection.type:                        802-3-ethernet
connection.interface-name:              eth0
connection.autoconnect:                 yes
connection.autoconnect-priority:        0
connection.autoconnect-retries:         -1 (default)
connection.multi-connect:               0 (default)
connection.auth-retries:                -1
connection.timestamp:                   1588217245
connection.read-only:                   no
connection.permissions:                 --
connection.zone:                        --
connection.master:                      --
connection.slave-type:                  --
connection.autoconnect-slaves:          -1 (default)
connection.secondaries:                 --
connection.gateway-ping-timeout:        0
connection.metered:                     unknown
cat /etc/sysconfig/network-scripts/ifcfg-eth1 | grep BOOTPROTO
BOOTPROTO=dhcp

5. Modificare la direttiva Connetti automaticamente.

Per impostazione predefinita, tutte le connessioni Ethernet si collegheranno automaticamente. Puoi disabilitarlo con il seguente comando:

nmcli con mod "System eth1" connection.autoconnect no

Puoi verificare le modifiche con il seguente comando:

cat /etc/sysconfig/network-scripts/ifcfg-eth1 | grep ONBOOT

Dovresti vedere il seguente output:

ONBOOT=no

6. Modifica della direttiva BOOTPROTO per la connessione di rete

È possibile modificare la direttiva BOOTPROTO della connessione Ethernet da statica a DHCP utilizzando il seguente comando:

nmcli con mod "System eth1" ipv4.method auto

Ora puoi verificare le modifiche con il seguente comando:

cat /etc/sysconfig/network-scripts/ifcfg-eth1 | grep BOOTPROTO

Dovresti vedere il seguente output:

BOOTPROTO=dhcp

Per modificare la direttiva BOOTPROTO della connessione Ethernet da statica a DHCP in statica utilizzando il seguente comando:

nmcli con mod "System eth1" ipv4.method manual ipv4.address 192.168.0.10/24 ipv4.gateway 192.168.0.1

7. Disabilitare l'indirizzo IPv6 con nmcli

Per impostazione predefinita, sia la connessione IPv6 che IPv4 è abilitata in CentOS 8. È possibile disabilitare la connessione IPv6 con il seguente comando:

nmcli con mod "System eth1" ipv6.method ignore

8. Aggiungere il server DNS alla connessione esistente

Per aggiungere un nuovo server DNS a una connessione esistente con il seguente comando:

nmcli con mod "System eth1" ipv4.dns 8.8.4.4

Puoi verificare le modifiche con il seguente comando:

cat /etc/sysconfig/network-scripts/ifcfg-eth1 | grep DNS

Produzione:

DNS1=8.8.4.4

Puoi anche aggiungere un nuovo server DNS utilizzando l'opzione +ipv4.dns:

nmcli con mod "System eth1" +ipv4.dns 4.4.4.4

9. Rimuovere il server DNS dalla connessione esistente

Per rimuovere il singolo server DNS dalla connessione, eseguire il seguente comando:

nmcli con mod "System eth1" -ipv4.dns 8.8.4.4

Per rimuovere più server DNS dalla connessione, eseguire il comando seguente:

nmcli con mod "System eth1" -ipv4.dns 8.8.4.4,8.8.2.2

10. Aggiungere/modificare la connessione in modo interattivo

Puoi anche creare una nuova connessione o modificare una connessione esistente utilizzando un editor interattivo.

Ad esempio, modifica una connessione esistente, esegui il seguente comando:

nmcli con edit "System eth1"

Dovresti vedere il seguente output:

===| nmcli interactive connection editor |===

Editing existing '802-3-ethernet' connection: 'System eth1'

Type 'help' or '?' for available commands.
Type 'print' to show all the connection properties.
Type 'describe [.]' for detailed property description.

You may edit the following settings: connection, 802-3-ethernet (ethernet), 802-1x, dcb, sriov, ethtool, match, ipv4, ipv6, tc, proxy
nmcli> 

Ora, visualizza un indirizzo IP esistente, esegui il seguente comando:

nmcli> print ipv4.address

Produzione:

ipv4.addresses: 192.168.0.10/32

Per impostare un nuovo indirizzo IP, eseguire il seguente comando:

nmcli> set ipv4.address 192.168.0.11

Puoi verificare e salvare la connessione con il seguente comando:

nmcli> verify

Produzione:

Verify connection: OK
nmcli> save

Produzione:

Connection 'System eth1' (9c92fad9-6ecb-3e6c-eb4d-8a47c6f50c04) successfully updated.

Ora puoi verificare la connessione salvata con il seguente comando:

cat /etc/sysconfig/network-scripts/ifcfg-eth1 | grep IPADDR

Dovresti vedere il seguente output:

IPADDR=192.168.0.10
IPADDR1=192.168.0.11

11. Monitorare l'attività di connessione

Puoi anche monitorare l'attività di NetworkManager utilizzando nmcli come i cambiamenti nello stato della connessione, nei profili, nei dispositivi, ecc.

Dopo aver modificato la connessione ethernet, esegui il seguente comando per monitorarla:

nmcli con monitor "System eth1"

12. Creare una nuova connessione con IP statico

Puoi anche creare una nuova connessione ethernet statica con nmcli. Ad esempio, crea una nuova connessione Ethernet denominata eth2, IP 192.168.0.12/24, Gateway 192.168.0.1, \onboot=yes\ eseguendo il seguente comando:

nmcli con add con-name eth2 type ethernet ifname eth2 ipv4.method manual ipv4.address 192.168.0.15/24 ipv4.gateway 192.168.0.1

Dovresti vedere il seguente output:

Connection 'eth2' (cefb3f7d-424c-42f8-b4e8-ed54e7dcb880) successfully added.

Ora, verifica la connessione con il seguente comando:

nmcli con

Produzione:

NAME         UUID                                  TYPE      DEVICE 
System eth0  5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03  ethernet  eth0   
System eth1  9c92fad9-6ecb-3e6c-eb4d-8a47c6f50c04  ethernet  eth1   
eth2         cefb3f7d-424c-42f8-b4e8-ed54e7dcb880  ethernet  eth2 

13. Creare una nuova connessione con DHCP

Puoi anche creare una nuova connessione DHCP con nmcli. Ad esempio, crea una nuova connessione Ethernet DHCP denominata eth3 con il seguente comando:

nmcli con add con-name eth3 type ethernet ifname eth3 ipv4.method auto

Dovresti vedere il seguente output:

Connection 'eth3' (ff54dbd6-255d-4935-abc8-73773bef5b55) successfully added.

14. Attiva una nuova connessione

Per attivare la nuova connessione ethernet eth2, eseguire il seguente comando:

nmcli con up eth2

Dovresti vedere il seguente output:

Connection successfully activated

Ora puoi verificare la connessione attiva con il seguente comando:

nmcli con show --active

Dovresti vedere il seguente output:

Produzione:

NAME         UUID                                  TYPE      DEVICE 
System eth0  5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03  ethernet  eth0   
System eth1  9c92fad9-6ecb-3e6c-eb4d-8a47c6f50c04  ethernet  eth1   
eth2         cefb3f7d-424c-42f8-b4e8-ed54e7dcb880  ethernet  eth2 

15. Disattivare una connessione

Per disattivare la connessione eth2, eseguire il seguente comando:

nmcli con down eth2

16. Eliminare una connessione

Puoi anche eliminare una specifica connessione Ethernet con nmcli.

Ad esempio, per eliminare una connessione eth2, eseguire il seguente comando:

nmcli con del eth2

Dovresti vedere il seguente output:

Connection 'eth2' (cefb3f7d-424c-42f8-b4e8-ed54e7dcb880) successfully deleted.

17. Modificare il nome host con nmcli

Per trovare il nome host corrente del tuo sistema, esegui il seguente comando:

nmcli general hostname

Dovresti vedere il seguente output:

centos8

Quindi, cambia il nome host da centos8 a Linux usando il seguente comando:

nmcli general hostname linux

Successivamente, verifica il nome host con il seguente comando:

nmcli general hostname

Dovresti vedere il seguente output:

linux

18. Modificare la Direttiva DEFROUTE

La direttiva DEFROUTE viene utilizzata per disabilitare e abilitare il gateway predefinito della tua connessione ethernet.

Per abilitare la direttiva DEFROUTE per eth2 eseguire il seguente comando:

nmcli con mod "System eth2" ipv4.never-default yes

19. Riavviare la connessione Ethernet

Puoi riavviare o ricaricare la tua connessione ethernet con il seguente comando:

nmcli con reload

20. aiuto nmcli

Per ottenere maggiori informazioni sul comando nmcli, eseguire il seguente comando:

nmcli --help

Dovresti vedere il seguente output:

Usage: nmcli [OPTIONS] OBJECT { COMMAND | help }

OPTIONS
  -a, --ask                                ask for missing parameters
  -c, --colors auto|yes|no                 whether to use colors in output
  -e, --escape yes|no                      escape columns separators in values
  -f, --fields <field,...>|all|common      specify fields to output
  -g, --get-values <field,...>|all|common  shortcut for -m tabular -t -f
  -h, --help                               print this help
  -m, --mode tabular|multiline             output mode
  -o, --overview                           overview mode
  -p, --pretty                             pretty output
  -s, --show-secrets                       allow displaying passwords
  -t, --terse                              terse output
  -v, --version                            show program version
  -w, --wait                      set timeout waiting for finishing operations

OBJECT
  g[eneral]       NetworkManager's general status and operations
  n[etworking]    overall networking control
  r[adio]         NetworkManager radio switches
  c[onnection]    NetworkManager's connections
  d[evice]        devices managed by NetworkManager
  a[gent]         NetworkManager secret agent or polkit agent
  m[onitor]       monitor NetworkManager changes

Conclusione

Nella guida sopra, abbiamo imparato come utilizzare nmcli per gestire e controllare le connessioni Ethernet nei cloni di RHEL 8 come AlmaLinux, centOS o Rocky Linux. Spero che ora tu possa facilmente aggiungere, modificare o creare una nuova connessione con nmcli. Non esitate a chiedermi se avete domande.