Nella versione desktop di Ubuntu ci sono diversi tool grafici per configurare le impostazioni di rete del proprio pc. In alcuni casi, ad esempio se dobbiamo gestire un server senza interfaccia grafica, è però impossibile utilizzare interfacce grafiche e dovremo ricorrere al buon vecchio terminale.
In questo articolo cercheremo di capire come fare con ubuntu a configurare la rete da terminale senza utilizzare i tool grafici.
Listare le interfacce di rete
Il primo passo da fare per muoversi nella configurazione di rete è quello di identificare le varie interfacce di rete presenti sulla macchina che vogliamo configurare. Per fare ciò possiamo utilizzare il comando ip, eseguiremo quindi il comando:
ip a
Il risultato sarà simile a questo:
Da qui possiamo vedere che ci sono 2 interfacce di rete sulla nostra macchina, la prima identificata come lo è l’interfaccia di loopback, ed è un’interfaccia virtuale che ha lo scopo di permettere alla nostra macchina di comunicare con se stessa tramite l’ip 127.0.0.1 standard.
la seconda, identificata in questo caso come enp0s3 è quella che permette alla macchina di parlare con il resto del mondo.
Un altro comando utile per avere informazioni sulle interfacce di rete è lshw. In questo caso le informazioni riportate saranno più focalizzate sugli aspetti hardware delle interfacce di rete. il comando completo da usare è:
sudo lshw -class network
Configurazione dell’indirizzo IP
Vediamo ora come configurare l’indirizzo IP e il default gateway per permettere alla macchina di comunicare in una rete locale e verso internet.
Configurazione tramite riga di comando
è possibile configurare l’indirizzo ip e il default gateway utilizzando la linea di comando tramite i comandi ifconfig e route.
Per prima cosa dobbiamo individuare l’interfaccia di rete a cui assegnare l’indirizzo ip, possiamo farlo come abbiamo detto poco sopra tramite il comando ip a oppure possiamo utilizzare il comando netstat -i che offre una visualizzazione più ristretta.
Una volta che abbiamo l’interfaccia di rete possiamo impostare l’indirizzo ip tramite il comando:
sudo ifconfig enp0s3 192.168.1.50 netmask 255.255.255.0
A questo punto sarà necessario impostare il default gateway con il seguente comando:
sudo route add default gw 192.168.1.1 enp0s3
Fatto questo la rete dovrebbe essere configurata e dovremmo avere accesso ad internet tramite il gateway impostato.
Configurare la rete modificando il file /etc/interfaces
Un altro metodo per configurare la rete da terminale in linux è quello di modificare direttamente il file /etc/interfaces aggiungendo li la configurazione.
Per impostare la configurazione automatica dell’indirizzo ip di un’interfaccia, lasciando quindi al server dhcp locale l’onere di assegnare un indirizzo ip valido basterà aprire il file:
sudo nano /etc/network/interfaces
e aggiungere le seguenti righe (nel nostro caso l’interfaccia è quella con identificativo enp0s3, ma dovrete cambiarlo con il vostro)
auto enp0s3
iface enp0s3 inet dhcp
Occorrerà poi salvare il file e riavviare il servizio networking per far rileggere la nuova configurazione.
sudo systemctl restart networking
Se invece vorremo configurare un indirizzo statico, sarà necessario di nuovo editare il file /etc/network/interfaces
sudo nano /etc/network/interfaces
e inserire la nuova configurazione
auto enp0s3
iface enp0s3 inet static
address 192.168.1.50
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 8.8.8.8 4.4.2.2
Anche questa volta, dopo aver salvato il file, sarà necessario riavviare il servizio networking
sudo systemctl restart networking
Cambiare l’hostname
Per modificare l’hostname della propria macchina potete consultare l’articolo dedicato a come cambiare l’hostname su linux qui.
Se volete altre informazioni potete consultare la pagina inglese della community du ubuntu dedicata alla network configuration.