Skip to main content

Modificare il file hosts su macOS
per bypassare i DNS e raggiungere un sito non propagato

Pubblicato il: 11 Marzo 2024

In questo tutorial vedremo di chiarire a cosa serve il file hosts, gli scenari in cui è utile personalizzarlo ed infine come si procede alla sua modifica su macOS utilizzando il Terminale del Mac per raggiungere un dominio bypassando il DNS.

File di hosts, che cos'è e a cosa serve

Facciamo un passo indietro per capire come funziona la risoluzione di un dominio.
Quando digitiamo un indirizzo nella barra delle URL inseriamo una stringa del tipo: www.miodominio.com che per sua stessa natura è facile da ricordare.
Per poterlo raggiungere il browser deve però determinare a quale IP è associato quel dominio (da intendere come l'IP del server che ospita quel dominio).
Questo compito è affidato ai risolutori DNS, componenti fondamentali del DNS (Domain Name System) che risolvono il dominio associandovi il corrispondente indirizzo IP (Record A del dominio). Ora che il browser "sa dove deve andare", si collegherà al server corretto e ci mostrerà la pagina web.

In realtà prima di interrogare il DNS, il browser controlla se nel nostro computer c'è una direttiva di corrispondenza tra un IP e quel dominio e, se la trova, segue subito quella saltando il DNS. Il file che contiene queste impostazioni è per l'appunto, il file di hosts.

Quando conviene modificare il file di hosts?

Gli scenari più comuni sono:

  • trasferimento di un sito ad un nuovo server di hosting
  • realizzare un nuovo sito web senza che sia visibile a tutti
  • realizzare un nuovo sito web lasciando visibile il vecchio
  • creare un ambiente di test

Trasferimento ad un nuovo server di hosting

Il trasferimento di un sito da un hosting all'altro potrebbe presentare sorprese dovute principalmente a diverse versioni di PHP o di configurazione del php.ini.
Per poter testare il sito sul nuovo server possiamo trasferire file e database nel nuovo spazio web, modificare il file di hosts per raggiungerlo "direttamente", fare tutte le prove necessarie ed in caso correggere eventuali problemi prima che il sito diventi visibile a tutti.

Realizzazione di un nuovo sito web

In questo caso possiamo installare Joomla!® nel nuovo spazio web e lavorare sul nuovo sito senza che sia visibile a tutti o nel caso di un dominio già propagato, lasciare che continui a puntare al vecchio sito fino a quando non avremo ultimato il nuovo.

Ambiente di test

Se ho a disposizione uno spazio web posso creare un sito per le mie esigenze di test ed operarci senza dover per questo registrare un dominio.
È il grande vantaggio che abbiamo quando acquistiamo un piano di hosting multidominio (reseller) o disponiamo di un server dedicato o di una VPS.

Come modificare il file di hosts su macOS

Per questo useremo l'applicazione Terminale (nativa del Mac) che troviamo in Applicazioni → Utility.
In questo tutorial l'IP 123.123.123.123 indica l'IP del server che ospita il sito: miodominio.it.

Premessa: la digitazione nel terminale è "vecchio stile", un pò come nel DOS di una volta e va fatta con attenzione, è un file molto delicato per il sistema.
Non si usa il mouse, il cursore va spostato con le frecce, per andare a capo si usa Invio. Per editare il file hosts da terminale è possibile usare gli editor di testo inclusi in macOS, come Nano o Vim, un editor vi-compatibile; noi qui usermo vi.

Lanciamo il Terminale e prima di tutto digitiamo il comando:

cat /etc/hosts

se il percorso al file di hosts è corretto, vedrete un testo simile a quello della foto a lato.
In caso contrario fate una ricerca per trovare il percorso corretto del file hosts per la versione di macOS in uso ed adeguate di conseguenza il path dei comandi riportati più avanti.

Se il percorso è corretto, per aprire il file digitate (sarà richiesta la password di amministratore):

sudo vi /etc/hosts

e comparirà in forma testuale il file di hosts del Mac.

comando cat per leggere il file di hosts

Ora procedi con attenzione e leggi bene tutto prima di digitare i comandi.

Premiamo il tasto i (lettera "i" della tastiera) per entrare nella modalità di inserimento
(compare la scritta  -- INSERT -- in basso)

Spostiamo il cursore usando la freccia "giù" fino all'ultima riga del file ed inseriamo (vedi foto):
sostituire 123.123.123.123 con l'IP del server

## Server NOMESERVER
#
123.123.123.123 tasto Tab per spostarmi a dx e poi miodominio.it
123.123.123.123 tasto Tab per spostarmi a dx e poi www.miodominio.it
#

Nota: il carattere # all'inizio di una riga ci permette di inserire una riga vuota o un commento ad es. per ricordarci a quale server ci riferiamo, usiamo Invio per andare a capo.

Ora tasto Esc della tastiera (per uscire dalla modalità inserimento) seguito da : (":" due punti - il cursore si sposta in basso) e poi  wq (lettere "w" e "q" della tastiera, stanno per Write & Quit, Salva ed Esci), tasto Invio ed abbiamo finito.

Questa la sequenza:
tasto esc
:
wq
tasto Invio

Puoi verificare il corretto inserimento con il comando:

cat /etc/hosts

come modificare il file di hosts

Personalizzare la finestra del Terminale del Mac (opzionale)

Se volete personalizzare la finestra del terminale e darle un look più accattivante, andate nelle Impostazioni del Terminale e configuratelo come qui sotto.
Potete anche decidere la dimensione del font e della finestra per adattarla meglio al vostro schermo impostando il numero di righe e colonne.

impostazioni terminale 1
impostazioni terminale 2
impostazioni terminale 3