Introduzione

Un hostname è un'etichetta assegnata a un computer connesso ad Internet e utilizzato per identificare la macchina all'interno di una rete interna. Gli hostname sono importanti anche perché fanno parte del Fully Qualified Domain Name (FQDN) di un computer. Assegnare un FQDN a un computer lo rende raggiungibile tramite il Domain Name System (DNS) pubblico, ovvero Internet.

Questa guida spiega come impostare o modificare il nome host su Ubuntu 20.04 LTS Focal Fossa senza dover riavviare il sistema.

Se desideri configurare Hostname e Hosts su un server in remoto continua a leggere, altrimenti salta il primo paragrafo "Connessione al Server" e leggi il successivo.

Connessione al Server

Per accedere al server, è necessario conoscere l'indirizzo IP. Avrai anche bisogno dell'username e della password per l'autenticazione. Per connettersi al server come utente root digitare il seguente comando:

ssh [email protected]_DEL_SERVER

Successivamente sarà necessario inserire la password dell'utente root.

Se non utilizzate l'utente root potete connettervi con un'altro nome utente utilizzando lo stesso comando, quindi modificare root con il vostro nome_utente:

ssh [email protected]_DEL_SERVER

Successivamente vi verrà chiesto di inserire la password del vostro utente.

La porta standard per connettersi tramite ssh è la 22, se il vostro server utilizza una porta diversa, sarà necessario specificarla utilizzando il parametro -p, quindi digitare il seguente comando:

ssh [email protected]_DEL_SERVER -p PORTA

Siete ora connessi al vostro server, siete pronti per iniziare la configurazione dell'hostname.

Prerequisiti

Prima di configurare il server di posta, è necessario rispettare i seguenti prerequisiti:

Comprensione dei nomi host

Un nome host è un'etichetta che identifica un dispositivo su una rete. Non dovresti avere due o più macchine con lo stesso nome host, sulla stessa rete.

In Ubuntu, puoi modificare il nome host del sistema e le relative impostazioni usando il comando hostnamectl. Questo strumento riconosce tre diverse classi di nome host:

  • static - L'hostname tradizionale. È memorizzato nel file /etc/hostname e può essere impostato dall'utente.
  • pretty - Un hostname UTF8 descrittivo in formato libero utilizzato per la presentazione all'utente. Ad esempio Novello's laptop,.
  • transient - Un hostname dinamico gestito dal kernel. I server DHCP o mDNS possono modificare il nome host temporaneo in fase di esecuzione. Per impostazione predefinita, è uguale all'hostname static.

Si consiglia di utilizzare un nome di dominio completo (FQDN) come host.example.com per entrambi i nomi static e transient.

Solo il root o gli utenti con privilegi sudo possono cambiare il nome host del sistema.

Configurare e identificare il tuo FQDN (Fully Qualified Domain Name)

L'hostname è il nome da associare al server, potete usare quello che volete.

Per visualizzare il nome host corrente, invoca il comando hostnamectl senza alcun argomento:

hostnamectl

La modifica del nome host del sistema è un processo semplice. La sintassi è la seguente:

sudo hostnamectl set-hostname host.example.com
sudo hostnamectl set-hostname "Your Pretty HostName" --pretty
sudo hostnamectl set-hostname host.example.com --static
sudo hostnamectl set-hostname host.example.com --transient

Ad esempio, per modificare il nome host statico del sistema in server.noviello.it, utilizzare il comando seguente:

hostnamectl set-hostname server.noviello.it

Opzionalmente puoi anche impostare un hostname in questo modo:

hostnamectl set-hostname "Noviello's laptop" --pretty

La modifica del nome host del siste

hostnamectl set-hostname server.noviello.it

ma è un processo semplice. La sintassi è la seguente:

sudo hostnamectl set-hostname host.example.com

Il comando hostnamectl non produce output. In caso di successo, viene restituito 0, altrimenti un codice di errore diverso da zero.

L'hostname è archiviato in /etc/hostname e l'hostname pretty è archiviato nel file /etc/machine-info.

Non dovresti usare lo stesso nome host su due macchine diverse sulla stessa rete.

Sulla maggior parte dei sistemi, l'hostname è mappato su 127.0.0.1 in /etc/hosts. Apri il file e modifica il vecchio hostname in quello nuovo.

127.0.0.1   localhost
127.0.0.1   server.noviellol.it

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
/etc/hosts

Se stai eseguendo Ubuntu su un'istanza cloud e il pacchetto è installato cloud-init, devi anche modificare il file /etc/cloud/cloud.cfg. Questo pacchetto viene in genere installato per impostazione predefinita nelle immagini fornite dai provider cloud e viene utilizzato per gestire l'inizializzazione delle istanze cloud.

Se il file esiste sul tuo sistema, aprilo:

sudo nano /etc/cloud/cloud.cfg

Cerca preserve_hostname e modifica il valore da false a true:

# This will cause the set+update hostname module to not operate (if true)
preserve_hostname: true
/etc/cloud/cloud.cfg

Salva il file e chiudi il tuo editor.

Verifica la modifica

Per controllare l'hostname, da terminale digitare il seguente comando:

hostnamectl

Per controllare il dominio, da terminale:

   Static hostname: server.noviello.it
         Icon name: computer-vm
           Chassis: vm
        Machine ID: 3e8adc78daa34283b1c71dea860d53b4
           Boot ID: f55f719d898b42d0957bf7c4957d3fd3
    Virtualization: kvm
  Operating System: Ubuntu 20.04 LTS
            Kernel: Linux 5.4.0-29-generic
      Architecture: x86-64

Per controllare l'FQDN, da terminale:

hostname -f

Risultato:

server.noviello.it

Potrebbe essere necessario riavviare il server.

Conclusione

La configurazione dell'hostname e del file hosts su Ubuntu 20.04 LTS Focal Fossa è terminata.