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.
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 chrome://net-internals/#dns
chrome://netinternals/#sockets
Isso não fez diferença. Todos os sites bloqueados ainda podem ser acessados pelo Chrome v55.0.2883.95.
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
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
Tente escrevê-los como um alias para o 127.0.0.1
127.0.0.1 localhost www.facebook.com www.reddit.com
Primeiro, identifique a origem do problema, é do Chrome? é do Cache? Ou, talvez, do próprio arquivo hosts?
Sugestão : você pode alcançar sua meta no Chrome usando extensões como: link .
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
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
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.
Tags ipv6 hosts-file blocking macos