
estou a usarbloco de hostsjunto comdnsmasqno Arch Linux para bloquear alguns sites, um deles é facebook.com
e www.facebook.com
.
Eu sei que tudo está funcionando corretamente porque um simples ping para facebook.com
(ou www.facebook.com
) retorna 127.0.0.1. Além disso, se eu acessar esses sites a partir do Midori, uma página em branco será retornada (esse é um comportamento esperado, já que estou usando okwakddaemon para retornar páginas em branco no localhost).
Apenas o Chromium parece ignorar minha lista de bloqueio. Acessar o facebook.com me faz ir direto para a página inicial do Facebook.
Depois de limpar tudo (Ctrl+Shift+Delete) desde o início e reiniciar o Chromium, obtenho o comportamento desejado (= não consigo acessar o Facebook).
Embora, depois de um tempo (não tenho certeza do que causa isso), o Chromium ignore novamente meu DNS dnsmasq local e acesse com êxito a página inicial do Facebook.
Eu li algo sobre o cache e a pré-busca de consultas DNS do Chromium, mas não sei como desativá-lo.
Questão é:por que o Chromium está ignorando meu DNS local e o que posso fazer para impedir isso?
Responder1
A maioria das referências sobre este assunto são antigas. Se você tiver uma versão antiga do Chromium, sigaedvinas.meresponder.
Para as versões atuais do Chromium (no momento em que esta postagem foi escrita: 33), aqui está o que você deve fazer:
- Vá para
chrome://settings
- Clique em "Mostrar configurações avançadas..."
- Desmarque oPreveja ações de rede para melhorar o desempenho do carregamento da páginacaixa.
- Verifique se a pré-busca de DNS está realmente desabilitada acessando
chrome://dns
. Você deveria ver algo comoA pré-resolução de DNS e a pré-conexão TCP estão desativadas.Se a pré-busca não estiver desabilitada, você verá algumas tabelas lá.
Atualizar
Para versões mais recentes do Chrome (no momento desta atualização: 55), o terceiro item tem a seguinte redação:Use um serviço de previsão para carregar páginas mais rapidamente.
Referência
Responder2
Resposta atualizada
Certifique-se de limpar o cache do Chrome. Digite isto na barra de endereço:
chrome://net-internals/#dns
Em seguida, clique Clear host cache
no botão.
Resposta antiga
O Chromium usa o DNS interno do Google por padrão (8.8.8.8 e 8.8.4.4)
Para desativá-lo:
Clique no menu Ferramentas (um pequeno ícone de chave inglesa) e vá para Opções.
Clique na guia Sob o capô.
3. Na seção “Privacidade”, desmarque a caixa de seleção Usar pré-busca de DNS para melhorar o desempenho de carregamento da página.
4. Clique no botão Fechar.
5. Atualizar para recarregar a página da web.
Responder3
Uma outra possibilidade obscura é que seu sistema esteja configurado para usar um arquivo *.pac de proxy automático. Normalmente, esse seria o caso se você recebesse um computador em um ambiente corporativo e o arquivo *.pac estivesse informando ao seu navegador para passar por um proxy para resolver o URL. Isso tem prioridade sobre o arquivo /etc/hosts e se o arquivo *.pac tiver uma regra para retornar PROXY se nada corresponder, parecerá que o Chrome não está respeitando o /etc/hosts. Este normalmente será o caso se a sua linha de comando estiver funcionando conforme o esperado, por exemplo, dig, ping etc.
Se você tentou as outras soluções e elas não funcionaram, verifique se você não tem uma configuração de proxy automático usada pelo Chrome.
Responder4
Se você estiver usando algumExtensões de proxy VPNpara Google Chrome (comoBetterNet), você provavelmente encontrará esse problema. Desativar a extensão resolve o problema.