Il file host è un file di sistema utilizzato dal sistema operativo per la risoluzione dei nomi di dominio in indirizzi IP. Questo file contiene una lista di coppie di nomi di dominio e indirizzi IP corrispondenti, che vengono utilizzati dal sistema operativo per effettuare la corretta traduzione dei nomi di dominio in indirizzi IP.
Se si ha la necessità di modificare il file host su Windows o Apple, questo articolo fornisce una guida dettagliata per farlo in modo corretto e sicuro. La modifica del file host può essere utile per risolvere problemi di connettività DNS, ad esempio se si hanno problemi di accesso a un sito web specifico o a un server di posta elettronica.
Per modificare il file host su Windows e Apple, è necessario seguire alcuni semplici passaggi, come spiegato di seguito. Nel file host è possibile aggiungere o rimuovere le coppie di nomi di dominio e indirizzi IP, in base alle proprie necessità. È importante fare attenzione a non cancellare le righe esistenti e a non modificare il formato del file. Dopo aver effettuato le modifiche desiderate, è necessario salvare il file e riavviare il computer affinché le modifiche abbiano effetto.
Come funzionano i DNS dei siti web
Ogni sito web è ospitato da un server raggiungibile da un indirizzo IP numerico. Quando chiediamo di poter navigare su un sito il computer utilizza il DNS (Domain Name System) per cercare l’indirizzo IP associato ad un preciso dominio. Per semplificare, pensa al sistema DNS come ad un enorme elenco telefonico che conserva le associazioni tra gli indirizzi IP e i nomi di dominio.
Quando apri una pagina Web ed entri in un sito Web, non è necessario conoscere l’IP. È sufficiente digitare il nome di dominio, ad esempio example.com, per aprire la pagina.
Un servizio DNS è un servizio distribuito globale che traduce nomi comprensibili come www.esempio.com in indirizzi IP numerici come 192.0.2.1, utilizzati dai computer per connettersi tra loro. Il sistema DNS di Internet funziona quindi in modo esattamente analogo a una rubrica telefonica, perché gestisce la mappatura tra nomi e numeri. I server DNS traducono le richieste di nomi in indirizzi IP, controllando a quale server si connetterà un utente finale nel momento in cui inserisce un nome di dominio nel suo browser web. Queste richieste sono chiamate query.
Cosa sono i file hosts e a cosa servono
Un file hosts altro non è che un semplice file testuale:
123.45.67.89 www.ilmiosito.it
Ha la funzione di associare il nome di dominio ad un indirizzo IP in locale, cioè sul sistema operativo in uso. Un server locale è un ambiente web che si trova sul tuo computer e che ti permette di replicare l’ambiente di un server web, in modo che il sito web sia visibile soltanto a te. Questo significa che digitando il nome del dominio nella barra di ricerca tu sarai in grado di vedere il sito a cui stai lavorando, mentre tutti gli altri utenti continueranno a visualizzare la versione ufficiale già pubblicata online.
Qualcuno potrebbe chiedersi, a questo punto: come mai il mio computer non va in tilt quanto gli chiedo di farmi visitare un sito web, per il quale possiede indirizzi IP differenti a seconda che cerchi nel file hosts o nei server DNS? Il motivo è semplice: il dispositivo controlla prima se esiste una corrispondenza a questo nome dominio nel file hosts in locale, e soltanto se la ricerca non restituisce risultati procede a fare una richiesta ai DNS pubblici (anche detti autoritativi).
In quali casi modificare i file hosts
In alcuni casi può essere utile modificare il file hosts del proprio computer. Vediamo quando:
- Quando realizzi un nuovo sito web su un server remoto e desideri raggiungere questo server con un nome dominio non pubblico.
- Quando devi fare attività di manutenzione o modifica su un sito web, spostando il sito su un server differente da quello pubblico.
- Quando vuoi testare una specifica versione del sito (ad esempio mobile) dirottando le richieste del browser verso un altra versione del sito.
- Quando vuoi fare attività di restyling di un sito web.
- Quando vuoi testare un sito web in sviluppo.
- Quando vuoi trasferire un sito web da un server ad un altro.
Cosa occorre conoscere per modificare il file hosts
Per modificare il tuo file hosts devi conoscere l’IP pubblico della macchina sulla quale devi fare puntare il tuo dominio.
Modificare i file hosts su Windows 10 e Windows 8
Per modificare i file hosts su computer Windows 10 o Windows 8 segui queste istruzioni:
- Premi il tasto Windows.
- Digita Blocco Note o Notepad nella barra di ricerca.
- Clicca con il tasto destro sul Blocco Note e seleziona Avvia come amministratore.
- Sul Blocco Note vai su c:\Windows\System32\Drivers\etc\hosts
- Apri il file host.
- Aggiungi o modifica le voci del file.
- Clicca su File > Salva.
Modificare i file hosts su Windows Vista e Windows 7
Per modificare i file hosts su computer Windows Vista o Windows 7 segui queste istruzioni:
- Vai su Start > Tutti i programmi > Accessori
- Clicca con il tasto destro su Blocco Note e seleziona Esegui come amministratore.
- Clicca su Continua nella finestra che comparirà, per confermare l’operazione.
- Seleziona File > Apri.
- Vai su c:\Windows\System32\Drivers\etc\hosts
- Apri il file host.
- Aggiungi o modifica le voci del file.
- Clicca su File > Salva.
Modificare i file hosts su Windows NT, Windows 2000, Windows XP
Per modificare i file hosts su computer Windows NT, Windows 2000 o Windows 7 segui queste istruzioni:
- Vai su Start > Tutti i programmi > Accessori > Notepad.
- Clicca su File > Apri.
- Vai su c:\Windows\System32\Drivers\etc\hosts
- Apri il file host.
- Aggiungi o modifica le voci del file.
- Clicca su File > Salva.
Modificare i file hosts su Linux
Per modificare i file hosts su Linux segui queste istruzioni:
- Apri una connessione da Terminale.
- Inserisci il seguente comando:
sudo nano /etc/hosts
- Inserisci la password di gestione.
- Aggiungi o modifica le voci del file.
- Premi Control-X.
- Premi y quando ti viene chiesto se vuoi salvare.
Modificare i file hosts su Mac OS X 10.6 – 10.12
Per modificare i file hosts su computer Mac OS segui queste istruzioni:
- Apri Applicazioni.
- Vai su Utility > Terminale.
- Apri il file host digitando nel Terminale:
sudo nano /private/etc/hosts
- Aggiungi o modifica le voci del file.
- Premi Control-X e clicca su Sì per salvare le modifiche.
- Svuota la cache del DNS inserendo nel Terminale:
sudo killall -HUP mDNSResponder
Attenzione: quando si inserisce un comando SUDO potrebbe essere richiesto di inserire la password di amministratore del computer.
Modificare i file hosts su Android
Modificare il file hosts su dispositivi android è decisamente più complesso e generalmente sono necessari i permessi di root. Tuttavia può essere utile cambiare i puntamenti di un dispositivo mobile quando si vogliono testare degli sviluppi mobile o responsive.
In questo caso il consiglio è di installare una app specifica.
Una semplice ricerca su Google play vi fornirà un’ampia scelta di soluzioni.
Poi si può utilizzare una semplice app tipo Hosts Editor.
Modificare i file hosts su iPhone e iPad
Modificare il file hosts su dispositivi iOS è impossibile senza effettuare un jailbreak, cosa che sconsigliamo perché invalida la garanzia del dispositivo.
Dato che su un iPhone o un iPad non possiamo modificare il file hosts senza jailbreak come possiamo reindirizzare arbitrariamente il traffico web a un altro URL?
Ciò sarebbe importante per qualcosa come lo sviluppo di un sito Web che utilizza una configurazione di host virtuale in cui si desidera reindirizzare a una macchina di sviluppo.
L’unico modo per aggirare questa limitazione del dispositivo Apple è utilizzare un server proxy HTTP come Squid, in esecuzione su un’altra macchina in cui è possibile modificare il file hosts.
Ad esempio su iPad vai In Impostazioni -> Rete -> Wi-Fi -> (La tua rete) È disponibile un’impostazione proxy HTTP che può essere impostata su manuale. Immettere le informazioni sul proxy qui.
Una volta impostato, sarai in grado di manipolare l’iPad come se stessi modificando il file hosts.
Conclusioni
Con questa rapida guida abbiamo visto come modificare i file hosts per testare un sito web su un server non pubblico. Piuttosto semplice, no?
Se dopo questo articolo avessi ancora dei dubbi puoi contare su un team di sviluppatori esperti proprio qui, in Neting.it!