Come posso fare in modo che OSX Mavericks noti una modifica DNS in `/ etc / hosts`?


24

Un modo comune per "bloccare" un sito Web (ad es. Per eliminarlo come distrazione) è modificare /etc/hostse indirizzare il dominio all'indirizzo di loopback. Per esempio:

# Stop goofing off
127.0.0.1 youtube.com

Su Mavericks, trovo che cambiamenti come questo siano apparentemente ignorati dal sistema operativo; dopo aver modificato il file (con sudo) e aver salvato, il sito che deve essere bloccato si carica ancora.

Ho provato a ripristinare la mia cache DNS come segue:

dscacheutil -flushcache
sudo killall -HUP mDNSResponder

Ma il sito si carica ancora.

Come posso fare in modo che OSX Mavericks noti una modifica /etc/hosts?


1
Potrebbe essere che è la cache DNS del browser a non essere svuotata? Che IP ping youtube.comusa?
Leonid Shevtsov,

Nota a margine: se stai usando DNS per bloccare temporaneamente i siti, selfcontrolapp.com per OSX funziona bene. Modifica il file hosts e sembra svuotare automaticamente la cache del browser. Citano anche app simili per altre piattaforme: github.com/SelfControlApp/selfcontrol/wiki/FAQ
Nathan Long,

Risposte:


19

Secondo la pagina di manuale degli host (5) , il /etc/hostsfile viene utilizzato da mDNSResponder. I tuoi tentativi stanno svuotando correttamente l'intera cache del computer ma devi anche svuotare la cache privata del browser.

Dopo ogni modifica del /etc/hostsripristino della mDNSRespondercache utilizzando questa nota tecnica di Apple, OS X: come ripristinare la cache DNS :

sudo dscacheutil -flushcache

Dopo aver fatto ciò, ripristinare le cache del browser :

  • Safari: utilizzare la voce di menu Safari > Ripristina Safari .
  • Chrome: usa la voce di menu Chrome > Cancella dati di navigazione .

1
Questo l'ha risolto. Sotto "Cancella dati di navigazione" di Chrome, ci sono caselle di controllo per i tipi di dati. "Svuota la cache" è quello pertinente.
Nathan Long,

5

Elimina la cache del browser e aggiungi 127.0.0.1 www.youtube.comal file host.

youtube.comsi risolve in www.youtube.com. Il tuo browser memorizza nella cache tali informazioni e ti reindirizza alla pagina www.


0

In OS X 10.9 Mavericks, ci sono problemi con il tentativo di elencare più nomi host sulla stessa linea di / etc / hosts. Ho provato tutti gli altri suggerimenti relativi al DNS in questo post e nel post correlato senza risultati, fino a quando non sono inciampato sul link "problemi" sopra.

Avevo qualcosa del genere:

127.0.0.1 localhost host1 host2 host3 ...

ma ho scoperto che la risoluzione di quegli host avrebbe richiesto un'eternità o non avrebbe funzionato affatto. Cercare di accedere ai siti tramite browser sarebbe generalmente OK (anche se a volte molto lento da risolvere), ma provare a eseguire il ping dalla riga di comando non funzionerebbe.

Modificandolo nel seguente formato, tutto ha funzionato bene per me, e ora le cose funzionano alla grande con il ping, nel browser e ovunque:

127.0.0.1 localhost
127.0.0.1 host1
127.0.0.1 host2
127.0.0.1 host3

Maggiori dettagli .


0

In cima alla risposta di Graham, prova chrome: // net-internals / # dns (per Google Chrome) per vedere cosa viene memorizzato nella cache. Quindi fare clic su Cancella cache host per cancellare tutto.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.