Come configurare systemd-networkd su Linux

Systemd-networkd è uno strumento di sistema che viene eseguito in background su sistemi Linux e gestisce le configurazioni di rete. Può rilevare i dispositivi di rete quando vengono collegati e persino creare dispositivi di rete virtuali. Questo strumento è particolarmente utile con configurazioni di rete complesse, come server e contenitori. In questa guida, esamineremo come configurare systemd-networkd su Linux.

Nota: in questa guida ci concentreremo solo sulle connessioni Ethernet. Sebbene sia possibile utilizzare il WiFi con systemd-networkd, non è semplice da configurare e ci sono strumenti molto migliori da usare per WiFi su Linux, come Network Manager.

Abilitazione e avvio dei servizi

Per utilizzare il demone systemd-networkd per gestire le configurazioni di rete su Linux, è necessario che sia attivato. Per impostazione predefinita, questo servizio è disattivato. Per accenderlo, apri una finestra di terminale sul desktop Linux. Una volta aperta la finestra del terminale, eseguire il comando systemctl enable sul file systemd-networkd.service e sul file systemd-resolved.service.

sudo systemctl enable systemd-resolved.service
sudo systemctl enable systemd-networkd.service

Una volta abilitati i due file di servizio, si avvieranno ogni volta che il computer si accende. Tuttavia, se desideri iniziare a utilizzare i servizi ora, senza riavviare, puoi inizializzarli utilizzando il comando systemctl start sui due file di servizio precedentemente abilitati.

sudo systemctl start systemd-resolved.service
sudo systemctl start systemd-networkd.service

Con entrambi i servizi ora avviati, il tuo computer e il sistema di inizializzazione di systemd saranno in grado di vedere il servizio e interagire con esso. Per verificare se entrambi i file di servizio sono stati avviati correttamente, utilizzare il comando status.

systemctl status systemd-resolved.service
systemctl status systemd-networkd.service

Cerca “attivo (in esecuzione)” per confermare che il file di servizio è in esecuzione correttamente. Se non vedi “attivo (in esecuzione), i file del servizio non sono stati avviati correttamente. Riavvia il tuo PC Linux e il file di servizio dovrebbe essere attivo.

Disabilita NetworkManager

Systemd-networkd non funziona se sono in esecuzione altri strumenti di rete. Sulla maggior parte dei sistemi operativi Linux, NetworkManager è lo strumento di rete preferito. Per disabilitarlo, inserisci i seguenti comandi di seguito in una finestra di terminale.

sudo systemctl disable NetworkManager.service
sudo systemctl stop NetworkManager.service

Trovare il tuo adattatore cablato

Per utilizzare systemd-networkd, è necessario individuare l’adattatore cablato. Il motivo per cui è necessario identificarlo è che l’adattatore deve essere specificato nel file di configurazione per il profilo di connessione di rete.

Su Linux, ci sono molti modi diversi per capire qual è l’ID dispositivo dell’adattatore cablato. In questa guida, ci concentreremo sul comando networkctl list. Questo comando è semplice da leggere, anche per gli utenti principianti, e non offusca l’output del terminale con tonnellate di informazioni inutili.

Per capire qual è il tuo adattatore cablato (ethernet) su Linux, esegui il seguente comando in una finestra di terminale.

networkctl list | grep ether

Cerca nell’elenco il tuo dispositivo di rete. Probabilmente inizierà con “enp” o “eth”. Ignora i dispositivi che iniziano con “virb” o “vnet” a meno che tu non sappia cosa stai facendo, poiché questi dispositivi sono adattatori di rete di macchine virtuali.

Una volta individuato il nome del tuo dispositivo di rete, apri un secondo terminale e passa alla sezione successiva della guida.

Creazione di file di configurazione

Il processo di configurazione di systemd-networkd è molto semplice, il che potrebbe sembrare strano, considerando che è un’utilità di gestione della rete da riga di comando. Tuttavia, nel tipico modo di sistema, è facile da capire e configurare.

In questa sezione della guida, esamineremo come creare un file di configurazione di base per utilizzare ethernet con systemd-networkd. Non tratteremo configurazioni più avanzate. Se desideri una configurazione più avanzata di quella trattata in questo post, fai riferimento al manuale di systemd-networkd eseguendo il comando man systemd-networkd in una finestra di terminale.

Per creare un nuovo file di configurazione per systemd-networkd, avvia una finestra di terminale. Una volta aperta la finestra del terminale, eseguire il comando sudo -s per elevare la sessione del terminale all’account root.

sudo -s

Con il terminale come root, usa il comando touch per creare un nuovo file di configurazione nella cartella / etc / systemd / network /.

touch /etc/systemd/network/20-wired.network

Dopo aver creato il nuovo file di configurazione, aprilo nell’editor di testo Nano per scopi di modifica.

nano -w /etc/systemd/network/20-wired.network

Nell’editor di testo Nano, incolla il codice seguente. Tuttavia, tieni presente che questo codice deve essere modificato, quindi non salvarlo fino al completamento del processo di modifica.

Nota: cambia “ETHERNET-ID” con il nome del tuo adattatore cablato che si trova nella sezione precedente della guida.

[Match]
Nome = ETHERNET-ID

[Network]
DHCP = sì

Ora che il codice è all’interno del file di configurazione, salva le modifiche con Ctrl + O ed esci con Ctrl + X.

Inizia a usare systemd-networkd

Systemd-networkd è configurato. Ora è il momento di usarlo. Per utilizzare systemd-networkd, sarà necessario eseguire il comando di riavvio. Questo comando riavvierà il servizio systemd-networkd in modo che possa vedere il nuovo file di configurazione che hai creato.

systemctl restart systemd-networkd

Al riavvio del servizio, dovresti utilizzare la tua scheda di rete con systemd-networkd.

Cerchi qualcos’altro? Dai un’occhiata al nostro elenco dei migliori strumenti di monitoraggio della rete Linux.