Por que o /etc/hosts não está bloqueando domínios depois que eu adiciono sites bloqueados via launchd?

0

Estou tentando configurar o Launchd para bloquear vários sites no osX 10.12.2 das 9h às 15h de segunda a sexta

Eu configurei launchd para cp /etc/hosts_BLOCKED_sites.txt /etc/hosts

O Launchd parece estar copiando o arquivo corretamente.

$ ls -la /etc/hosts   

    -rw-r--r--  1 root  wheel  715 Jan 10 15:01 /etc/hosts

$ sudo cat /etc/hosts

    ##  
    # Host Database  
    #  
    # localhost is used to configure the loopback interface  
    # when the system is booting.  Do not change this entry.  
    ##   
    127.0.0.1   localhost   
    255.255.255.255 broadcasthost  
    ::1             localhost   


    # Blocked sites redirected to 0.0.0.0  
    0.0.0.0 reddit.com   
    0.0.0.0 www.reddit.com  
    0.0.0.0 facebook.com  
    0.0.0.0 www.facebook.com  

No entanto, ainda posso abrir os sites bloqueados depois que /etc/hosts estiver definido para bloquear o acesso.

Alguma sugestão sobre por que /etc/hosts não está bloqueando o acesso aos sites?

Coisas que tentei, mas não consegui bloquear sites no Chrome:

  • sudo killall -HUP mDNSResponder da linha de comando
  • Eu tentei limpar o cache do DNS do Chrome por meio de chrome://net-internals/#dns
  • Eu tentei liberar o Chrome Sockets chrome://netinternals/#sockets
  • Troquei o arquivo de hosts para redirecionar sites para 127.0.0.1, ele não bloqueou o site e foi-me dito que é mais rápido redirecionar para 0.0.0.0

Isso não fez diferença. Todos os sites bloqueados ainda podem ser acessados pelo Chrome v55.0.2883.95.

    
por BryanWheelock 03.01.2017 / 17:16

7 respostas

1

Percebi que seu arquivo / etc / hosts tem permissão 600. As permissões nesse arquivo geralmente devem ser 644. Se seu aplicativo não puder ler / etc / hosts então apenas usará o DNS.

    
por 11.01.2017 / 19:14
2

Estou aberto a estar errado nisso, pois não sou especialista em redes ...

0.0.0.0 é um meta-endereço estritamente inválido e não roteável & pode, portanto, ser apenas ignorado.

In the context of routing, 0.0.0.0 usually means the default route, i.e. the route which leads to "the rest of" the internet instead of somewhere on the local network.

Tente 127.0.0.1, que é o endereço de loopback padrão, ou seja, "me"

Eu sou menos bom em IPv6, mas conheço alguns problemas corrigidos alterando
::1 localhost
para ::1 127.0.0.1

    
por 03.01.2017 / 18:15
2

Você verificou que o /etc/nsswitch.conf tem uma linha como esta:

hosts: arquivos dns

Se não houver uma linha como essa no arquivo ou se a linha tiver dns antes dos arquivos, as consultas do DNS serão feitas primeiro e, se obtiver uma resposta válida, o arquivo / etc / hosts nem será analisado

    
por 07.01.2017 / 23:26
1

Tente escrevê-los como um alias para o 127.0.0.1

127.0.0.1     localhost www.facebook.com www.reddit.com
    
por 05.01.2017 / 17:53
1

Primeiro, identifique a origem do problema, é do Chrome? é do Cache? Ou, talvez, do próprio arquivo hosts?

  1. Verifique a codificação do arquivo de hosts, pois ele deve ser ASCII e não UTF-8.
  2. Tente adicionar um site que você nunca visitou no arquivo de hosts e verifique se o problema está no cache ou no arquivo de hosts.
  3. Tente usar o comando dig para verificar se o cache do Chrome é o problema.

Sugestão : você pode alcançar sua meta no Chrome usando extensões como: link .

    
por 06.01.2017 / 16:04
1

Ter introduzido entradas de hosts para ipv4 + ipv6 e executando

sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder

para limpar os caches, ainda tive que reiniciar o Chrome para que as entradas dos hosts entrassem em vigor.

As entradas dos meus anfitriões:

127.0.0.1       youtube.com
127.0.0.1       www.youtube.com
fe80::1%lo0      youtube.com
fe80::1%lo0     www.youtube.com
    
por 02.02.2018 / 16:14
0

De acordo com a Substituição do arquivo host não funciona no Mavericks | Comunidades oficiais de suporte da Apple :

The hosts file is cached. Rebooting OS X will reload it. You can also attempt to force a cache reload with the following command:

sudo killall -HUP mDNSResponder

<...> using TextEdit can corrupt the file. The file needs to be plain ASCII text <...>. Use the TextWrangler tool (free) or use the nano editor (or vim or emacs, if you're more familiar with those) <...>:

sudo nano /etc/hosts

O arquivo / etc / hosts não está sendo usado no Snow Leopard | Comunidades oficiais de suporte da Apple sugerem:

make sure you use the correct syntax when editing it and also make sure that it has correct permissions. it should be owned by the system and have 644 permissions.

    
por 11.01.2017 / 14:40