Modificar / etc / hosts não tem efeito


17

Estou tentando me impedir de perder tempo com sites, mas as alterações que faço no / etc / hosts. Por exemplo:

127.0.0.1   localhost
127.0.1.1   ross-laptop

127.0.0.1   bing.com

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

Posso acessar o bing.com em um Chrome ou Firefox recém-aberto - por que isso não está funcionando?

Respostas:


17

Você encontrará os navegadores e o sistema armazenará coisas em cache para você. Para que isso se aplique logo de cara, você deve limpar os caches e reiniciar o navegador. Para testar isso, tente executar uma verificação de DNS de um terminal como

ping bing.com

Você deve receber a resposta de 127.0.0.1. Se isso funcionar, a alteração do arquivo de hosts é boa, mas é apenas armazenada em cache no navegador.


Mas o cache realmente sobrevive ao reinício do navegador? Eu já me deparei com isso também. Seria bom se houvesse uma maneira de invalidar o cache.
loevborg

1
Bem, eu não tenho 100% de certeza se o cache do DNS sobrevive a uma recarga do navegador. Eu sei que o cache de arquivos faz. O fato é que, com os atuais modelos de desenvolvimento Web ajax / multi-requisições, você não deseja executar um hit de DNS em todas as solicitações enquanto carrega uma página. Cada navegador fará seus próprios truques para ajudar a acelerar isso e, portanto, você deverá verificar seus mecanismos de cache de DNS por versão do navegador / navegador.
Rick

Eu ficaria surpreso se o cache DNS não persistir durante a reinicialização do navegador, pelo menos na maioria dos navegadores (provavelmente todos os principais).
David Z

7

Você já tentou colocar as 127.0.0.1entradas na mesma linha?

120.0.0.1 abc bing.com foo

Isso deve funcionar.


3
Isso funcionou, embora eu acho que tem a ver com os navegadores fazendo o cache e não limpando o cache corretamente.
Ross

0

Abra o terminal ( ALT+ F2).

Digite sudo -ino campo de entrada. Marque a opção Executar no terminal . Por fim, clique no botão Executar .

Digite sua senha, se necessário, e pressione enter. Em seguida, insira os seguintes comandos.

gedit /etc/hosts

Você receberá a janela do Editor de Texto do Gedit.

Por exemplo, se precisarmos bloquear o Facebook, adicione as seguintes linhas logo depois 127.0.0.1 localhost.

0.0.0.1 facebook.com    
0.0.0.1 www.facebook.com

Ao fazer isso, ele bloqueará o site em todos os navegadores, incluindo Google Chrome, Chromium, Mozilla.

É isso aí. Quando você abre agora www.facebook.com ou facebook.com , não pode acessá-lo. Para ativar novamente o Facebook, remova as linhas que adicionamos do arquivo /etc/hosts.

Fonte - Blog do Subin


-1

Além da solução da CragM, lembre-se de que você pode usar todo o endereço 127.xxx para esse fim, não repita o mesmo endereço.

127.0.0.1   localhost
127.0.0.2   ross-laptop
127.0.0.3   bing.com
127.0.0.4   foo.com
127.0.0.5   bar.com
......

1
Você pode explicar por que o mesmo endereço não se repete?
8128

Fluteflute @, não tenho certeza, mas eu costumava fazer isso e sempre funcionou para mim.
grokus

-1

Modificar / etc / hosts parece um hack global. Eu sugiro configurar um proxy http local (squid, privoxy etc) e aponte seu navegador para usá-lo. Dessa forma, você obteria uma maneira mais flexível de gerenciar listas negras no nível do proxy.


2
Parece que seria muito esforço comparado a adicionar algumas linhas a /etc/hosts? Você poderia explicar por que essa é uma solução melhor?
8128

"Parece" porque você está fazendo suposições sem tentar. Emitir a instalação do apt-get, editar um arquivo de configuração e / ou uma lista negra e apontar o navegador para o proxy local não é mais complicado. É melhor porque você não faz alterações globais no seu sistema, apenas está configurando uma maneira alternativa de bloquear alguns sites. Se você precisar desfazer, não precisará editar o / etc / hosts novamente, basta configurar o navegador para acessar sites diretamente, não através do proxy.
VH1
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.