Come configurare hostname e FQDN del server su Linux | INTROSERV
EUR
european

EUR

usa

USD

Italy It
Ex. VAT Ex. VAT 0%

Come configurare hostname e FQDN del server

Livello: Principiante
Tempo stimato: circa 15 minuti
Obiettivo: Configurare un hostname persistente del server e definire un Fully Qualified Domain Name (FQDN) per una corretta identificazione del sistema e per la risoluzione DNS locale.

Introduzione

Un hostname è l'etichetta assegnata a un dispositivo in rete, mentre un Fully Qualified Domain Name (FQDN) comprende sia l'hostname sia il dominio a cui appartiene (ad es. web-server-01.example.com). Configurarli correttamente è fondamentale per servizi come i mail server (Postfix, Exim), per il coordinamento della rete interna e per identificare i server nel prompt del terminale in una flotta di grandi dimensioni.

In questa guida definirai un hostname persistente tramite gli strumenti di systemd e imposterai una risoluzione locale dell'FQDN.

Nota sui tipi di FQDN:

  • FQDN pubblico: impostato tramite il DNS pubblico (ad es. Cloudflare, Route53). È il modo in cui il resto del mondo raggiunge il tuo server.
  • FQDN locale: il nome con cui il server si identifica e si risolve internamente. Idealmente i due dovrebbero coincidere, ma è la configurazione locale a garantire la stabilità del sistema.

Prerequisiti

Prima di iniziare, assicurati di avere:

  • Sistema operativo: Ubuntu 20.04/22.04/24.04 LTS, Debian 11/12 oppure RHEL/CentOS/AlmaLinux 8/9.
  • Accesso: un utente con privilegi sudo.
  • Conoscenze richieste: utilizzo di base del terminale Linux e degli editor di testo (come nano o vim).

Passaggio 1: Verificare la configurazione attuale

Per prima cosa, controlla quale nome il server ritiene di avere al momento.

Esegui il comando di stato:

hostnamectl status

Output atteso (o simile):

Static hostname: localhost.localdomain Icon name: computer-vm Chassis: vm Machine ID: abc123def456 Boot ID: 123abc456def Virtualization: kvm Operating System: Ubuntu 24.04 LTS Kernel: Linux 6.8.0-31-generic Architecture: x86-64

Quindi verifica se l'FQDN viene risolto correttamente:

hostname -f

Se il sistema restituisce una riga vuota, esattamente localhost oppure un errore che indica che l'host non può essere risolto, l'FQDN non è configurato correttamente.

Passaggio 2: Impostare il nuovo hostname (configurazione dell'hostname su un server Linux)

Nella maggior parte delle distribuzioni, hostnamectl è il metodo corretto per impostare l'hostname sulle istanze server e mantenere la modifica in modo persistente. Questa parte della guida tratta la configurazione pratica dell'hostname in Linux per i deployment più comuni, compresa la procedura abituale su Ubuntu e Debian senza modificare manualmente /etc/hostname.

Esegui il comando seguente, sostituendo <YOUR_HOSTNAME> con il nome breve desiderato (ad es. web-01):

sudo hostnamectl set-hostname <YOUR_HOSTNAME>

Info

Sebbene Linux consenta tecnicamente i punti nell'hostname, si consiglia di usare solo lettere minuscole, cifre e trattini. L'uso di punti nel nome breve (ad es. web.01) può creare confusione con l'FQDN e in genere viene evitato.

Il comando aggiorna immediatamente il sistema. Potresti notare che il prompt del terminale corrente (di solito user@old-hostname:~$) non cambia subito. Esci e rientra, oppure apri una nuova sessione bash digitando bash, per vedere il prompt aggiornato con il nuovo nome.

Passaggio 3: Aggiornare /etc/hosts per la risoluzione dell'FQDN

Questo passaggio associa l'hostname locale a un FQDN e a un dominio, in modo che la risoluzione dei nomi funzioni in modo prevedibile. In pratica, è la parte della configurazione dell'hostname del server che definisce l'identità di rete locale della macchina e completa la configurazione dell'identità di rete in Linux utilizzata da molti servizi.

Associare l'FQDN all'indirizzo di loopback 127.0.1.1 è lo schema più sicuro per la produzione (soprattutto su Debian/Ubuntu). In questo modo il nome viene risolto anche se la rete non è disponibile o se cambia l'IP pubblico.

Apri il file hosts:

sudo nano /etc/hosts

Vedrai un contenuto simile al seguente:

127.0.0.1 localhost 127.0.1.1 old-hostname

Non rimuovere la riga 127.0.0.1 localhost. Modifica invece la riga 127.0.1.1 (oppure aggiungila) in modo che includa l'FQDN seguito dall'hostname breve.

Aggiorna il file seguendo questo schema:

127.0.0.1 localhost 127.0.1.1 <YOUR_FQDN> <YOUR_HOSTNAME>

Esempio con FQDN web-01.example.com e hostname web-01:

127.0.0.1 localhost 127.0.1.1 web-01.example.com web-01

Warning

Evita di usare IP pubblici in /etc/hosts, a meno che non sia espressamente necessario. Se l'indirizzo IP cambia (frequente negli ambienti cloud) e dimentichi di aggiornare questo file, la risoluzione dell'hostname smetterà di funzionare.

Salva il file ed esci (in nano premi Ctrl+O, Invio, poi Ctrl+X).

Passaggio 4: Verificare le modifiche

Ora assicurati che il sistema registri correttamente l'FQDN.

Controlla l'FQDN attivo:

hostname -f

Output atteso:

web-01.example.com

Controlla l'hostname breve attivo:

hostname -s

Output atteso:

web-01

Infine, esegui un ping all'FQDN per verificare che venga risolto correttamente nell'indirizzo IP indicato nel file hosts:

ping -c 3 <YOUR_FQDN>

Completati questi passaggi, il server è in grado di identificare e risolvere correttamente il proprio nome di rete.

Nota su cloud-init per la configurazione dell'hostname su VPS

Sulle istanze VPS cloud come AWS, GCP e DigitalOcean, cloud-init può sovrascrivere le modifiche all'hostname al riavvio. Se dopo il riavvio ricompare il valore precedente, controlla /etc/cloud/cloud.cfg e imposta preserve_hostname: true, in modo che il VPS mantenga l'hostname desiderato e le relative impostazioni di dominio.

Risoluzione dei problemi

Se l'hostname non persiste dopo il riavvio, verifica innanzitutto che hostnamectl status mostri il valore statico atteso, quindi controlla se cloud-init sta ripristinando un'impostazione precedente. Se hostname -f non restituisce l'FQDN atteso, controlla la voce 127.0.1.1 in /etc/hosts e verifica che l'hostname breve compaia dopo l'FQDN. Se i servizi continuano a riportare un nome errato, verifica che il dominio del server, l'ordine di risoluzione in /etc/nsswitch.conf e gli eventuali metadati del provider corrispondano alla configurazione prevista.

Ripristino (rollback)

Se hai configurato i nomi in modo errato e devi riportare il server allo stato predefinito:

Reimposta l'hostname breve:

sudo hostnamectl set-hostname localhost

Ripristina il file /etc/hosts rimuovendo la riga IP personalizzata. Assicurati che il loopback locale appaia così:

sudo nano /etc/hosts

127.0.0.1 localhost 127.0.1.1 localhost

Conclusione

Hai definito con successo un hostname persistente e configurato la rete locale per ottenere un FQDN corretto. Farlo nel modo giusto crea il livello base di identità necessario per i servizi web, le configurazioni di posta e gli strumenti di orchestrazione remota.

Versione del documento: 1.0
Ultimo aggiornamento: aprile 2026
Responsabile: Team di documentazione tecnica

VAT

  • Other

    Ex. VAT

    0%
  • austria

    Austria

    20%
  • Belgium

    Belgium

    21%
  • Bulgaria

    Bulgaria

    20%
  • Croatia

    Croatia

    25%
  • Cyprus

    Cyprus

    19%
  • Czech Republic

    Czech Republic

    21%
  • Denmark

    Denmark

    25%
  • Estonia

    Estonia

    22%
  • France

    France

    20%
  • Finland

    Finland

    24%
  • Germany

    Germany

    19%
  • Greece

    Greece

    24%
  • Hungary

    Hungary

    27%
  • Ireland

    Ireland

    23%
  • Italy

    Italy

    22%
  • Latvia

    Latvia

    21%
  • Lithuania

    Lithuania

    21%
  • Luxembourg

    Luxembourg

    17%
  • Malta

    Malta

    18%
  • Netherlands

    Netherlands

    21%
  • Poland

    Poland

    23%
  • Portugal

    Portugal

    23%
  • Romania

    Romania

    19%
  • Slovakia

    Slovakia

    20%
  • Slovenia

    Slovenia

    22%
  • Spain

    Spain

    21%
  • Sweden

    Sweden

    25%
  • USA

    USA

    0%
european
states
  • kingdom
  • germany
  • Español
  • French
  • Hrvatska
  • Italiano
  • Poland
  • Slovenski
  • ukraine
  • Türkçe
  • Русский
  • Other
  • Austria
  • Belgium
  • Bulgaria
  • Croatia
  • Cyprus
  • Czech Republic
  • Denmark
  • Estonia
  • Finland
  • France
  • Germany
  • Greece
  • Hungary
  • Ireland
  • Italy
  • Latvia
  • Lithuania
  • Luxembourg
  • Malta
  • Netherlands
  • Poland
  • Portugal
  • Romania
  • Slovakia
  • Slovenia
  • Spain
  • Sweden
  • USA