launchd를 통해 차단된 사이트를 추가한 후 /etc/hosts가 도메인을 차단하지 않는 이유는 무엇입니까? [폐쇄]

launchd를 통해 차단된 사이트를 추가한 후 /etc/hosts가 도메인을 차단하지 않는 이유는 무엇입니까? [폐쇄]

월요일부터 금요일까지 오전 9시부터 오후 3시 사이에 osX 10.12.2의 Chrome에서 여러 웹사이트를 차단하도록 Launchd를 설정하려고 했습니다.

launchd를 cp /etc/hosts_BLOCKED_sites.txt /etc/hosts로 설정했습니다.

Launchd가 파일을 올바르게 복사하는 것 같습니다.

$ ls -la /etc/hosts

-rw-------  1 root  wheel  619 Dec 29 09:00 /etc/hosts  

$ sudo 고양이 /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  
127.0.0.1 reddit.com  
127.0.0.1 www.reddit.com  
127.0.0.1 facebook.com  
127.0.0.1 www.facebook.com   

# Block Facebook IPv6
fe80::1%lo0 facebook.com
fe80::1%lo0 reddit.com
::1 facebook.com
::1 www.facebook.com
::1 www.reddit.com  
::1 reddit.com  

그러나 액세스를 차단하도록 /etc/hosts를 설정한 후에도 Chrome에서 차단된 웹사이트를 열 수 있습니다.

/etc/hosts가 사이트에 대한 액세스를 차단하지 않는 이유에 대한 제안 사항이 있습니까?

편집: Chrome에서 웹사이트를 차단하려고 시도했지만 실패했습니다.
sudo Killall -HUP mDNSR 응답자명령줄에서
chrome://net-internals/#dns를 통해 Chrome DNS 캐시를 플러시해 보았습니다.
Chrome 소켓을 플러시해 보았습니다. chrome://netinternals/#sockets

IPv6 형식도 추가했습니다.
아무런 차이가 없습니다. 차단된 모든 웹사이트는 Chrome v55.0.2883.95를 통해 계속 액세스할 수 있습니다.

답변1

응용 프로그램은필수의상담하러 오세요 /etc/hosts. 원하는 효과를 얻으려면 를 설치하고 구성하십시오 dnsmasq. dnsmasq.conf아래의 대상 관련 스니펫을 참조하세요 .

# Add domains which you want to force to an IP address here.
# The example below send any host in double-click.net to a local
# web-server.
address=/local/0.0.0.0
address=/double-click.net/0.0.0.0
address=/google.com/0.0.0.0
address=/reddit.com/0.0.0.0  
address=/www.reddit.com/0.0.0.0
address=/facebook.com/0.0.0.0
address=/www.facebook.com/0.0.0.0

그런 다음 /etc/resolv.conf다음과 같이 구성하십시오.

nameserver 127.0.0.1

또한 0.0.0.0not 로 리디렉션하십시오 127.0.0.1. 훨씬 더 빨리. 바인딩되지 않은 소프트웨어도 동일한 효과를 얻을 수 있습니다. 둘 다 DNS와 DHCP에 대한 더 많은 제어 기능을 제공합니다.

관련 정보