Nozioni di base su Linux: imposta un IP statico su Ubuntu
Questo tutorial spiega come impostare un indirizzo IP statico su un sistema Ubuntu dalla riga di comando. Copre la configurazione di rete per tutte le versioni attuali di Ubuntu e include istruzioni per configurare un indirizzo IP statico, impostare il nome host e configurare la risoluzione dei nomi.
Configurazione di rete su Ubuntu 22.04, Ubuntu 20.04 e Ubuntu 18.04
La configurazione di rete in Ubuntu viene effettuata con uno strumento chiamato netplan. Ha sostituito il tradizionale file /etc/network/interfaces.
Configura un indirizzo IP statico con Netplan su Ubuntu
Ecco i passaggi per configurare un indirizzo IP statico con Netplan. I file di configurazione di Netplan si trovano nella directory /etc/netplan/. Il file di configurazione predefinito è /etc/netplan/01-netcfg.yaml.
Apri il file di configurazione della rete con un editor. Il nome del file di configurazione di netplan varia a seconda della versione di Ubuntu.
Ubuntu 22.04 e Ubuntu 20.04:
sudo nano /etc/netplan/00-installer-config.yaml
Ubuntu 18.04:
sudo nano /etc/netplan/01-netcfg.yaml
La sintassi di configurazione è in linguaggio di programmazione Python (formato .yaml), quindi il rientro delle righe è importante!
Il contenuto del file è lo stesso su Ubuntu 22.04 - 18.04.
Ecco un esempio di indirizzo IPv4 statico 192.168.1.100 sulla prima interfaccia di rete ens33 e IP gateway 192.168.1.1. Il server utilizzerà i server DNS Google gratuiti 8.8.8.8 e 8.8.4.4 per la risoluzione dei nomi.
# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
version: 2
renderer: networkd
ethernets:
ens33:
dhcp4: no
dhcp6: no
addresses: [192.168.1.100/24]
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8,8.8.4.4]
Oppure, come screenshot da un server Ubuntu:
È possibile aggiungere un indirizzo IPv6 nella riga indirizzi, separato da una virgola. Esempio:
# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
version: 2
renderer: networkd
ethernets:
ens33:
dhcp4: no
dhcp6: no
addresses: [192.168.1.100/24, '2001:1::1/64']
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8,8.8.4.4]
È necessario racchiudere l'indirizzo IPv6 tra virgolette singole. Altrimenti riceverai un errore di sintassi.
Per applicare le modifiche, eseguire quanto segue:
sudo netplan apply
Oppure usalo con l'opzione --debug per ottenere un output utile se l'analisi del file di configurazione netplan ha avuto esito positivo.
sudo netplan --debug apply
Configura un indirizzo DHCP con Netplan
Ecco la configurazione per ottenere la configurazione di rete per IPv4 e IPv6 da un server DHCP.
# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
version: 2
renderer: networkd
ethernets:
ens33:
dhcp4: yes
dhcp6: yes
Per applicare le modifiche, eseguire:
sudo netplan apply
Altre opzioni di configurazione Netplan
Netplan è un nuovo e complesso sistema di configurazione per schede di rete, dispositivi virtuali, VLAN e bridge in Ubuntu 18.04. Vedi la pagina man per ulteriori esempi e una spiegazione approfondita della sintassi.
Configurazione di rete su Ubuntu 12.04 - 17.04 (incluso Ubuntu 16.04 LTS)
Passaggio 1: configura l'interfaccia di rete
In questo passaggio, configurerai manualmente la tua interfaccia di rete modificando i seguenti file utilizzando il tuo editor di testo preferito (nano gedit vi). Per questo esempio, sto utilizzando l'editor "nano". È possibile modificare il file appropriato immettendo il seguente comando nel terminale:
Puoi copiare e incollare direttamente da questa riga.
sudo nano /etc/network/interfaces
Inserisci la tua password di root, una volta che il tuo editor preferito apre il file puoi vederlo sulle versioni precedenti di Ubuntu:
auto lo eth0
iface lo inet loopback
iface eth0 inet dynamic
Nei sistemi Ubuntu con systemd (come Ubuntu 16.04 e versioni successive), l'interfaccia di rete ora si chiama ens33 invece di eth0 e la parola "dinamico" è stata sostituita con "dhcp".
Una configurazione in cui l'indirizzo IP viene assegnato automaticamente da DHCP sarà simile alla seguente:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto ens33
iface ens33 inet dhcp
Le schede di rete configurate staticamente avranno una sezione come questa nelle versioni precedenti di Ubuntu:
auto lo eth0
iface lo inet loopback
iface eth0 inet static
address xxx.xxx.xxx.xxx(enter your ip here)
netmask xxx.xxx.xxx.xxx
gateway xxx.xxx.xxx.xxx(enter gateway ip here,usually the address of the router)
Ecco un esempio per una versione precedente di Ubuntu:
auto lo eth0
iface lo inet loopback
iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.1
Ed ecco un esempio per Ubuntu 16.04 e versioni successive:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# test
# The primary network interface
auto ens33
iface ens33 inet static
address 192.168.1.100
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
dns-nameservers 8.8.8.8 8.8.4.4
Ed ecco il file di configurazione di rete completo da un sistema Ubuntu 16.04.
Se utilizzi l'editor "nano" per modificare il file di configurazione, digita Ctrl+x per salvare le modifiche.
Salva buffer modificato (RISPONDERE "No" DISTRUGGERÀ LE MODIFICHE)?
<---Digita "y"
Nome del file da scrivere: interfacce
<---INVIO
Passaggio 2: configura i server DNS
Le modifiche a /etc/resolv.conf sono richieste solo su sistemi con Ubuntu < 14.04, per le versioni Ubuntu più recenti i server dei nomi vengono configurati nel file /etc/network/interfaces o nel file di configurazione netplan.
a) Ubuntu 20.04
Apri il file di configurazione netplan con un editor. Utilizzerò l'editor nano in questo esempio:
sudo nano /etc/netplan/00-installer-config.yaml
Ho contrassegnato in grassetto gli indirizzi IP del server DNS:
# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
version: 2
renderer: networkd
ethernets:
ens33:
dhcp4: no
dhcp6: no
addresses: [192.168.1.100/24]
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8,8.8.4.4]
b) Ubuntu 18.04
Apri il file di configurazione netplan con l'editor nano:
sudo nano /etc/netplan/01-netcfg.yaml
Ho contrassegnato in grassetto gli indirizzi IP del server DNS:
# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
version: 2
renderer: networkd
ethernets:
ens33:
dhcp4: no
dhcp6: no
addresses: [192.168.1.100/24]
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8,8.8.4.4]
c) Versioni Ubuntu 14.04 e 16.04
Apri nuovamente il file /etc/network/interfaces e aggiungi una riga dns-nameservers 8.8.8.8 subito dopo la riga gateway.
sudo nano /etc/network/interfaces
auto lo
iface lo inet loopback
iface ens33 inet static
address xxx.xxx.xxx.xxx(enter your ip here)
netmask xxx.xxx.xxx.xxx
gateway xxx.xxx.xxx.xxx(enter gateway ip here,usually the address of the router)
dns-nameservers 8.8.8.8
I nameserver 8.8.8.8 e 8.8.4.4 sono forniti da Google per uso pubblico, quindi puoi utilizzarli nella configurazione della tua rete.
Se utilizzi l'editor "nano", digita Ctrl+x per salvare le modifiche.
Salva buffer modificato (RISPONDERE "No" DISTRUGGERÀ LE MODIFICHE)?
<---Digita "y"
Nome del file da scrivere: interfacce
<---INVIO
d) Versioni di Ubuntu < 14.04
In questo passaggio, configurerai manualmente il tuo file di configurazione DNS.
sudo nano /etc/resolv.conf
Una volta che il tuo editor apre il file, desideri inserire le seguenti informazioni...
nameserver xxx.xxx.xxx.xxx(enter your dns server ip)
nameserver xxx.xxx.xxx.xxx(enter your alt dns server ip)
Se utilizzi l'editor "nano", digita Ctrl+x per salvare le modifiche.
Salva buffer modificato (RISPONDERE "No" DISTRUGGERÀ LE MODIFICHE)?
<---Digita "y"
Nome del file da scrivere: resolv.conf
<---INVIO
Ecco un esempio:
nameserver 8.8.8.8
nameserver 8.8.4.4
Passaggio 3: riavviare la rete
Riavvia manualmente l'interfaccia di rete con le nuove impostazioni.
Per Ubuntu 20.04 e 18.04, utilizza il comando netplan per applicare le modifiche e riavviare la rete. Il comando è:
sudo netplan apply
Per le versioni Ubuntu 14.04 e 16.04 utilizziamo invece systemctl:
systemctl restart ifup@eth0
A questo punto puoi verificare se le impostazioni sono corrette:
ifconfig
Se tutto è corretto otterrai questo risultato.
eth0 Link encap:Ethernet direcciónHW 00:33:27:46:2v:34
Direc. inet:192.168.1.101 Difus.:0.0.0.0 Másc:255.255.255.0
...
Per Ubuntu < 14.04 utilizzare lo script init di rete:
sudo /etc/init.d/networking restart
Questo dovrebbe restituire un risultato simile al seguente:
*Reconfiguring network interfaces… [OK]
Configura il nome host
Il nome host di un server o desktop Ubuntu viene configurato nei file /etc/hostname e /etc/hosts . Il file /etc/hostname imposta il nome host effettivo del sistema mentre /etc/hosts viene utilizzato per la risoluzione dei nomi locali.
In questo esempio, cambierò il nome host del mio sistema in obelix.example.com.
Innanzitutto, modifica il file /etc/hostname
sudo nano /etc/hostname
Il file del nome host contiene solo la parte locale del nome host. La parte locale qui è "obelix". Modificare il contenuto del file /etc/hostname in:
obelix
e salvare il file. Il file del nome host come appare in nano dopo la modifica:
Quindi apri il file /etc/hosts con un editor:
sudo nano /etc/hosts
e modificare la riga che inizia con l'indirizzo IP del sistema in questo modo:
192.168.1.100 obelix.example.com obelix
Ecco uno screenshot del file /etc/hosts.
Il formato è questo:
[Indirizzo IP] [nome host completo incl. dominio] [parte locale del nome host]
Infine, riavvia il sistema per applicare la modifica del nome host.