月曜日から金曜日までの午前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.0
notにリダイレクトしてください127.0.0.1
。はるかに早く。バインドされていないソフトウェアでも同じ効果が得られます。両方とも、DNSとDHCPのためのより多くの制御を提供します。