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 correnti di Ubuntu e include istruzioni per la configurazione di un indirizzo IP statico, l'impostazione del nome host e la configurazione della risoluzione dei nomi.
Configurazione di rete su Ubuntu 20.04 LTS e Ubuntu 18.04 LTS
La configurazione di rete in Ubuntu è realizzata con uno strumento chiamato netplan, che 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 di rete con un editor. Il nome del file di configurazione di netplan varia a seconda della versione di Ubuntu.
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 20.04 e 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 gratuiti di Google 8.8.8.8 e 8.8.4.4 a 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]
O come screenshot da un server Ubuntu:
È possibile aggiungere un indirizzo IPv6 negli indirizzi riga, separata 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]
È importante racchiudere l'indirizzo IPv6 tra virgolette singole, altrimenti otterrai un errore di sintassi.
Per applicare le modifiche, esegui:
sudo netplan apply
Oppure usalo con l'opzione --debug per ottenere un output utile se l'analisi del file di configurazione di netplan ha avuto successo.
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, esegui:
sudo netplan apply
Più opzioni di configurazione di Netplan
Netplan è un nuovo sistema di configurazione complesso per configurare schede di rete, dispositivi virtuali, VLAN e bridge in Ubuntu 18.04. Per altri esempi e una spiegazione approfondita della sintassi, consulta la pagina man.
Configurazione di rete su Ubuntu 12.04 - 17.04 (incl. 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). Ai fini di questo esempio, sto usando l'editor "nano". Puoi modificare il file appropriato inserendo 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 su versioni precedenti di Ubuntu:
auto lo eth0 iface lo inet loopback iface eth0 inet dynamic
Sistemi Ubuntu con systemd (come Ubuntu 16.04 e successivi), l'interfaccia di rete si chiama ora 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 a questa:
# 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 sulle 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 successivi:
# 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
E qui 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 il buffer modificato (RISPONDERE "No" DISTRUGGERÀ I CAMBIAMENTI)?
<---Digita "y"
Nome file da scrivere:interfacce
<---INVIO
Fase 2:configura i server DNS
Le modifiche in /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 di netplan.
a) Ubuntu 20.04
Aprire il file di configurazione di netplan con un Editor. Userò l'editor nano in questo esempio:
sudo nano /etc/netplan/00-installer-config.yaml
Ho contrassegnato gli indirizzi IP del server DNS in grassetto:
# 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 di netplan con l'editor nano:
sudo nano /etc/netplan/01-netcfg.yaml
Ho contrassegnato gli indirizzi IP del server DNS in grassetto:
# 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) Ubuntu versioni 14.04 e 16.04
Apri di nuovo il file /etc/network/interfaces e aggiungi una riga dns-nameservers 8.8.8.8 subito dopo la riga del 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 server dei nomi 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 il buffer modificato (RISPONDERE "No" DISTRUGGERÀ I CAMBIAMENTI)?
<---Digita "y"
Nome 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 ha aperto il file, vuoi 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 il buffer modificato (RISPONDERE "No" DISTRUGGERÀ I CAMBIAMENTI)?
<---Digita "y"
Nome file da scrivere:resolv.conf
<---INVIO
Ecco un esempio:
nameserver 8.8.8.8 nameserver 8.8.4.4
Passaggio 3:riavvia la rete
Riavvia manualmente l'interfaccia di rete con le nuove impostazioni.
Per Ubuntu 20.04 e 18.04 , utilizzare il comando netplan per applicare le modifiche e riavviare la rete. Il comando è:
sudo netplan apply
Per le versioni di Ubuntu 14.04 e 16.04 utilizziamo invece systemctl:
systemctl restart [email protected]
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 usa lo script di inizializzazione 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 del sistema effettivo mentre /etc/hosts viene utilizzato per la risoluzione del nome locale.
In questo esempio, cambierò il nome host del mio sistema in obelix.example.com.
Per prima cosa, modifica il file /etc/hostname
sudo nano /etc/hostname
Il file hostname contiene solo la parte locale del nome host. La parte locale qui è "obelix". Modifica il contenuto del file /etc/hostname in:
obelix
e salva 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 cambia la riga che inizia con l'indirizzo IP del sistema in questo modo:
192.168.1.100 obelix.example.com obelix
Qui uno screenshot di /etc/hosts file.
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.