Translation(s): English – Français – Italiano – German – Português (Brasil) – 简体中文 – Русский
NetworkManager permette di configurare interfacce di rete usando dialoghi GUI forniti dagli ambienti desktop, strumenti a riga di comando, applicazioni in terminale o file di configurazione YAML di netplan.io. È comodo sui portatili che si spostano tra reti diverse. Può essere usato su server con una configurazione statica.
Sezioni https://www.debian.org/doc/manuals/debian-reference/ch05.en.html#_the_modern_network_configuration_for_desktop - 5.2. The modern network configuration for desktop e 5.4. The modern network configuration for cloud in Chapter 5. Network setup della Debian Reference
https://www.debian.org/doc/manuals/debian-handbook/sect.network-config - 8.2. Configuring the Network nel The Debian Administrator's Handbook
parla brevemente di NetworkManager
Contents
NetworkManager
Dal README nel codice sorgente di NetworkManager:
NetworkManager cerca di mantenere una connessione di rete attiva in qualunque momento. Il punto di NetworkManager è quello di rendere la configurazione e lìimpostazione della rete il meno dolorosa e il più automatica possibile. NetworkManager è pensato per rimpiazzare l'instradamento predefinito, rimpiazzare altri instradamenti, impostare indirizzi IP e in generale configurare la rete come ritiene opportuno (con la possibilità di scavalcarlo manualmente, se necessario). In effetti, lo scopo di NetworkManager è di far sì che la rete Semplicemente Funzioni, con il minimo di sforzo da parte dell'utente, ma permettendo comunque personalizzazioni e un alto livello di controllo manuale della rete. Se si hanno necessità particolari, sentirle è benvenuto, ma si deve tenere a mente che NetworkManager non è pensato per ogni singolo caso d'uso.
In parallelo a NetworkManager alcune interfacce di rete possono essere sotto il controllo di
ifupdown (/etc/network/interfaces), vedere Configurazione della rete
L'infrastruttura di configurazione Netplan.io può usare NetworkManager come backend.
Firewalld uses connection.zone property of NetworkManager connection profiles to determine filtering rules when network device is configured.
NetworkManager è composto da due livelli:
Un demone eseguito come root: NetworkManager(8) è solitamente gestito da systemd come NetworkManager.service.
Interfacce: lo strumento a riga di comando nmcli(1), l'interfaccia testuale in terminale nmtui(1), applet per gli ambienti desktop.
Il demone e gli strumenti nmtui e nmcli sono forniti nel pacchetto network-manager. Gli strumenti GUI sono pacchettizzati separatamente: nm-tray, network-manager-gnome (nm-applet), plasma-nm, ecc.
In aggiunta sono disponibili vari plugin che permettono a NetworkManager di gestire altre connessioni speciali, come vari tipi di connessioni VPN.
NetworkManager memorizza le informazioni di connessioni sulle singole reti conosciute in file di configurazione chiamati profili. Questi sono archiviati in /etc/NetworkManager/system-connections/. Per le opzioni usate in questi file fare riferimento alla pagina di manuale di nm-settings: man nm-settings o online. Possono essere modificati (come root) usando un editor di testo o nm-connection-editor (incluso in network-manager-gnome).
Affinché le modifiche alla configurazione diventino effettive, può essere necessario riavviare il demone di NetworkManager:
sudo service network-manager restart
A partire da Debian 11 (bullseye), usare:
sudo service NetworkManager restart
Documentazione
- Per gli strumenti GUI vedere la documentazione del proprio ambiente desktop.
La fonte principale sono le pagine di manuale. In particolare vedere nm-settings-nmcli(5) per le opzioni di configurazione e nmcli-examples(7) per l'uso dello strumento CLI. Per ottenere un elenco completo delle pagine di manuale eseguire
dpkg -L network-manager | grep /man/
Anche il sito web del progetto fornisce le pagine di manuale. In aggiunta sono disponibili come parte del Manuale di riferimento
La sezione Network Configuration Setting Specification del Manuale di riferimento può essere una descrizione più facile delle proprietà delle connessioni rispetto alle lunghe pagine di manuale.
Alcune annotazioni specifiche per Debian possono essere trovate in /usr/share/doc/network-manager/README.Debian (online)
I collegamenti nelle sezioni Vedere anche e Collegamenti esterni più avanti.
Interfacce di rete ignorate
Per coesistere con altri strumenti di configurazione della rete, NetworkManager non dovrebbe toccare alcune interfacce di rete. Lo stato attuale viene riportato da
$ nmcli device
In modo predefinito non gestisce le interfacce dichiarate in /etc/network/interfaces, vedere il file README.Debian del pacchetto nella #Documentazione e la sezione sottostante.
In aggiunta tiene in conto unmanaged-devices in NetworkManager.conf(5) § SEZIONE KEYFILE
[keyfile] unmanaged-devices=*,except:type:wifi
e di managed dalla NetworkManager.conf(5) § SEZIONE DEVICE. Vedere anche NetworkManager.conf(5) § Device List Format.
[device] match-device=lxcbr0 managed=false
La configurazione, inclusi i file aggiunti, può essere ottenuta con
$ /usr/sbin/NetworkManager --print-config
Vedere anche Chapter 15. Configuring NetworkManager to ignore certain devices in Configuring and managing networking per RHEL9.
I dispositivi da /etc/network/interfaces non sono gestiti in modo predefinito
A partire da Debian 6.0 "Squeeze", NetworkManager non gestisce in modo predefinito nessuna interfaccia definita in /etc/network/interfaces. Quello è il regno di ifupdown.
Un dispositivo non gestito è un dispositivo che NetworkManager non tocca. Ciò avviene quando sono soddisfatte due condizioni:
Il file /etc/network/interfaces, vedere interfaces(5), contiene una cosa qualsiasi che riguardi l'interfaccia, anche solo:
allow-hotplug eth0 iface eth0 inet dhcp
e /etc/NetworkManager/NetworkManager.conf contiene:
[main] plugins=ifupdown,keyfile [ifupdown] managed=false
Abilitare la gestione delle interfacce
Si può commentare la descrizione dell'interfaccia da /etc/network/interfaces e configurare una connessione in NetworkManager. Il vantaggio è una veloce configurazione DHCP quanto viene connesso il cavo Ethernet.
Se si desidera che NetworkManager gestisca le interfacce abilitate in /etc/network/interfaces:
impostare managed=true in un file aggiuntivo in /etc/NetworkManager/NetworkManager.conf.d/ o direttamente in /etc/NetworkManager/NetworkManager.conf;
riavviare NetworkManager:
sudo service NetworkManager restart
prima di Debian 11 (bullseye) era necessario usare:
sudo service network-manager restart
"Auto Ethernet" e "Auto eth0"
Auto Ethernet significa "Seleziona un'interfaccia Ethernet automaticamente"
Auto eth0 significa configura automaticamente l'interfaccia eth0.
Permessi
Se un utente può effettuare o meno una certa azione viene gestito attraverso PolicyKit. Per ottenere una panoramica dei permessi usare
nmcli general permissions
Un utente attivo locale ha abbastanza permessi per abilitare o disabilitare le connessioni vista la funzionalità "uaccess" di udev e systemd-logind.
I membri dei gruppi sudo e netdev possono creare connessioni a livello di sistema senza che venga chiesta la password. In Debian 12 bookworm, il primo utente creato dall'installatore viene aggiunto al gruppo netdev (#821424), tuttavia questo gruppo è stato eliminato dai valori predefiniti per adduser (#849265). Nelll'output del comando soprastante la voce corrispondente è org.freedesktop.NetworkManager.settings.modify.system e il suo valore è yes o auth in base alla configurazione.
In Debian 9 stretch (2017) l'applet di NetworkManager non compariva per nulla a meno che l'utente non appartenesse al gruppo netdev, vedere README.Debian per network-manager-gnome_1.4.4-1+deb9u1. Questo non è più richiesto.
FAQ
- Q. Come posso configurare un indirizzo IP statico (per un server, ecc.)?
-
A) Usare il dialogo per le impostazioni di rete fornito dall'ambiente desktop, es. nm-connection-editor(1) in GNOME, creare or modificare una connessione usando nmcli(1), vedere Example 11. Adding an ethernet connection profile with manual IP configuration in nmcli-examples(7) oppure configurare /etc/network/interfaces come descritto in Configurazione della rete.
- Q. Come posso configurare il DNS per !NetworkManager?
A) La risposta breve è usare nm-connection-editor. Per una risposta più dettagliata vedere la voce corrispondente in Configurazione della rete.
- Q. Come impostare la condivisione di una connessione ("hotspot") per un'interfaccia cablata?
A) Prima assicurarsi di intallare (ma non dnsmasq a meno di non disabilitare il demone di sistema in /etc/default/dnsmasq). Poi usare nm-connection-editor e configurare un nuovo profilo usando "condiviso con altro computer" come metodo per IPv4 (non possibile da gnome-control-center di Gnome3). Questo nasconde tutta le complessità (dnsmasq, iptables, sysctl). Da ultimo usare tale profilo per l'interfaccia di rete connessa alla rete condivisa. Pe le interfacce Wi-Fi, è fornita un'interfaccia hotspot che usa le stesse funzionalità oltre ad impostare una rete WiFi apposita.
- Q. Come posso impostare OpenVPN usando NetworkManager?
A) Usando il pacchetto network-manager-openvpn o network-manager-openvpn-gnome è possibile configurare tutti gli aspetti di OpenVPN, inclusa l'importazione delle configurazioni dal fornitore di servizi e l'avvio automatico per specifiche connessioni (tramite nm-connection-editor).
Risoluzione dei problemi
Se si incontrano problemi con la rete allora si può provare ad ottenere una panoramica dello stato e della configurazione attuale usando i seguenti comandi
$ nmcli general $ nmcli radio $ nmcli device $ nmcli $ nmcli connection $ nmcli connection show "NAME_OR_UUID" $ /usr/sbin/NetworkManager --print-config
Ispezionare i log dell'avvio attuale (o di uno precedente con opzioni aggiuntive)
# journalctl -b
in alternativa si può avviare
# journalctl -f
e osservare la reazione, ad es. ad un cavo connesso o ad un'attivazione della connessione. Notare che per eseguire journalctl(1) è necessario essere amministratore o si otterranno messaggi solo dalle applet GUI.
Vedere anche
client VPN (Network Manager ha il supporto per molti tipi di VPN)
/usr/share/doc/network-manager/README.md.gz (file online) dal repository del codice sorgente.
Collegamenti esterni
https://networkmanager.dev/ - Pagina web del progetto
https://gitlab.freedesktop.org/NetworkManager/NetworkManager - Repository del codice sorgente del progetto
https://wiki.archlinux.org/title/NetworkManager - Pagina in ArchWiki. Contiene molte ricette.
https://wiki.gnome.org/Projects/NetworkManager – Pagina del progetto nel wiki GNOME (con alcuna documentazione)
https://www.redhat.com/sysadmin/becoming-friends-networkmanager "Becoming friends with NetworkManager".
tutorial su nmcli.
nmtui(1) - client testuale interattivo
nmcli(1) - client a riga di comando
https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/configuring_and_managing_networking/ - Configurazione e gestione della rete per Red Hat Enterprise Linux 9.
Contiene molti esempi per l'uso di nm-connection-editor, nmtui e nmcli per vari tipi di connessione.
https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/8/html/configuring_and_managing_networking/ - Red Hat Enterprise Linux 8 edition
https://blogs.gnome.org/dcbw/2015/02/16/networkmanager-for-administrators-part-1/ - NetworkManager for Administrators Part 1 di Dan Williams (2015).
Un messaggio nel blog di GNOME che descrive alcune impostazioni da NetworkManager.conf. Non sembra esserci una parte 2.
https://networkmanager.dev/docs/admins/ - NetworkManager per gli amministratori. Una breve panoramica con alcuni suggerimenti nel sito web del progetto.