Como faço para o OSX Mavericks perceber uma alteração no DNS no `/ etc / hosts`?

24

Uma maneira comum de "bloquear" um site (por exemplo, eliminá-lo como uma distração) é editar /etc/hostse apontar o domínio para o endereço de loopback. Por exemplo:

# Stop goofing off
127.0.0.1 youtube.com

No Mavericks, acho que mudanças como essa são aparentemente ignoradas pelo sistema operacional; depois de editar o arquivo (com sudo) e salvar, o site que deve ser bloqueado ainda é carregado.

Tentei redefinir meu cache DNS da seguinte maneira:

dscacheutil -flushcache
sudo killall -HUP mDNSResponder

Mas o site ainda carrega.

Como faço para que o OSX Mavericks perceba uma alteração /etc/hosts?

Nathan Long
fonte
1
Será que o cache DNS do navegador não está liberado? Qual IP ping youtube.comusa?
Leonid Shevtsov
Nota lateral: se você estiver usando o DNS para bloquear temporariamente sites, o selfcontrolapp.com para OSX funcionará bem. Ele modifica o arquivo hosts e parece liberar o cache do navegador automaticamente. Eles também mencionam aplicativos semelhantes para outras plataformas: github.com/SelfControlApp/selfcontrol/wiki/FAQ
Nathan Long

Respostas:

19

De acordo com a página de manual hosts (5) , o /etc/hostsarquivo é usado por mDNSResponder. Suas tentativas estão liberando corretamente o cache do computador, mas você também precisa liberar o cache privado do navegador.

Após cada edição de /etc/hostsredefinir o mDNSRespondercache usando esta nota técnica da Apple, OS X: Como redefinir o cache DNS :

sudo dscacheutil -flushcache

Depois de fazer isso, redefina os caches do seu navegador :

  • Safari: use o item de menu Safari > Redefinir Safari .
  • Chrome: use o item de menu Chrome > Limpar dados de navegação .
Graham Miln
fonte
1
Isso consertou. Em "Limpar dados de navegação" do Chrome, há caixas de seleção para tipos de dados. "Esvaziar o cache" é o relevante.
Nathan Long
5

Exclua o cache do navegador e adicione 127.0.0.1 www.youtube.comao seu arquivo host.

youtube.comresolve para www.youtube.com. Seu navegador está armazenando essas informações em cache e o redireciona para a página www.

napcae
fonte
0

No OS X 10.9 Mavericks, há problemas ao tentar listar vários nomes de host na mesma linha de / etc / hosts. Tentei todas as outras dicas relacionadas ao DNS nesta publicação e a publicação relacionada sem sucesso, até me deparar com o link "problemas" acima.

Eu costumava ter algo parecido com isto:

127.0.0.1 localhost host1 host2 host3 ...

mas descobri que a resolução desses hosts levaria uma eternidade ou não funcionaria. Tentar acessar os sites por meio de navegadores geralmente seria bom (embora às vezes seja muito lento para resolver), mas tentar executar ping na linha de comando não funcionaria.

Mudá-lo para o seguinte formato fez tudo funcionar bem para mim e agora as coisas funcionam muito bem com ping, no navegador e em qualquer outro lugar:

127.0.0.1 localhost
127.0.0.1 host1
127.0.0.1 host2
127.0.0.1 host3

Mais detalhes .

Scott Dudley
fonte
0

Além da resposta de Graham, tente chrome: // net-internals / # dns (para Google Chrome) para ver o que está em cache. Em seguida, clique em Limpar cache do host para limpar tudo.

David Hempy
fonte