I server DNS si occupano di risolvere i nomi a dominio: quando si digita un indirizzo nel browser, il resolver si occupa di stabilire a quale indirizzo IP pubblico risponde il server Web remoto.
A livello locale esiste un oggetto chiamato file HOSTS che consente di alterare l’associazione tra uno o più indirizzi mnemonici e i rispettivi indirizzi IP: modificare il file HOSTS può essere utile per bloccare il caricamento di certi contenuti remoti, evitare che le applicazioni installate sul sistema “chiamino casa” o indirizzare le richieste verso un server Web differente da quello definito a livello di record DNS. Quest’ultimo approccio può essere utile, per esempio, agli sviluppatori Web che hanno la necessità di effettuare dei test su un sito in fase di realizzazione, senza modificare ciò che i normali visitatori raggiungono e visualizzano dai propri sistemi.
Come abbiamo visto nell’articolo citato in precedenza, ogni sistema operativo permette eventualmente di configurare il contenuto di un file HOSTS che è conservato in una locazione di memoria specifica. In tutti i casi, il file HOSTS può essere utilizzato per creare manualmente delle regole di risoluzione DNS che superano quelle standard eseguite dai server DNS pubblici o privati (anche in azienda si può configurare un server DNS locale).
La modifica del file HOSTS richiede privilegi amministrativi o di root; inoltre, è bene essere cauti quando si apportano variazioni sul contenuto del file HOSTS. Alcuni componenti malevoli possono sfruttarlo per modificare ad arte il sito Web di destinazione che viene raggiunto dall’utente, ad esempio per indirizzarlo verso server Web gestiti da criminali informatici.
Il file HOSTS, inoltre, altera la risoluzione di un nome a dominio a livello dell’intero sistema: non soltanto i browser Web installati sulla macchina ma qualunque altra applicazione raggiungerà l’indirizzo IP indicato nel file HOSTS non appena l’utente o una qualunque programma (o componente di sistema) richiedono la connessione con quell’indirizzo mnemonico.
Un esempio concreto: se nel file HOSTS si scrivesse quanto segue, tutte le richieste del nome a dominio specificato verrebbero automaticamente girate verso l’IP 192.168.1.100
(che è un indirizzo IP locale, ma potrebbe essere anche un IP pubblico…):
La modifica ha valore per il sistema operativo e per tutte le applicazioni installate sulla macchina, browser compresi.
C’è un trucco molto semplice da porre in essere che permette di modificare la corrispondenza tra indirizzo mnemonico e IP senza utilizzare il file HOSTS e limitandosi al singolo browser Web.
Supponiamo ad esempio che abbiate installato più istanze di Chrome, ad esempio la versione stabile e la release “Canary” che utilizzate per svolgere test, effettuare verifiche e in generale per lo sviluppo di applicazioni Web.
Cliccando con il tasto destro del mouse sul collegamento che permette di aprire Chrome quindi scegliendo Proprietà, si può fare in modo di modificare la risoluzione di un nome a dominio a livello del singolo browser.
Come modificare la risoluzione DNS in Google Chrome senza usare il file HOSTS
L’argomento host-resolver-rules
è una funzionalità avanzata di Chrome poco conosciuta che permette di specificare regole personalizzate per la risoluzione degli indirizzi IP dei nomi a dominio durante la navigazione Web.
Con un semplice trucco, è possibile indicare espressamente a Chrome come deve gestire alcuni indirizzi, senza fare affidamento sulla risoluzione DNS predefinita e il file HOSTS locale.
Basta cliccare con il tasto destro, come accennato in precedenza, sul collegamento a Chrome (ad esempio quello visualizzato sul desktop) quindi scegliere Proprietà. Nel campo Destinazione si può aggiungere quanto segue:
Avviando Chrome, tutte le richieste di collegamento verso il nome a dominio indicato, saranno automaticamente redirezionate verso l’IP locale altrettanto specificato. È ovviamente possibile aggiungere ulteriori direttive che vanno a modificare il comportamento del browser nella gestione degli URL remoti. Un altro esempio
L’argomento --host-resolver-rules
deve essere specificato al di fuori delle doppie virgolette, nel campo Destinazione. A seconda del percorso in cui è installato Chrome, il contenuto del campo Destinazione potrebbe diventare qualcosa di simile:
Non appena si avvia Chrome facendo doppio clic sul suo collegamento, il browser di Google proverà a stabilire una connessione con il server Web in ascolto sull’indirizzo IP specificato ogni volta che l’utente digita nella barra delle applicazioni il nome a dominio specificato. Stessa cosa avviene per eventuali risorse, presenti nelle pagine Web, facenti riferimento allo stesso dominio.
L’utilizzo di queste regole personalizzate può essere utile per scopi di test, sviluppo o per bypassare determinati problemi di connettività o configurazioni di rete.
Tuttavia, è importante notare che l’argomento host-resolver-rules
va considerato alla stregua di una funzionalità avanzata non destinata all’uso quotidiano.
Per i tecnici o comunque per gli utenti più esperti, i vantaggi sono tangibili: è possibile ottenere lo stesso effetto di una modifica sul file HOSTS senza disporre di diritti amministrativi e limitando la sua azione a una specifica installazione del browser Chrome. Il sistema operativo e le altre applicazioni installate, continueranno a risolvere il nome a dominio come prescritto dal server DNS.