月曜日から金曜日の午前9時から午後3時まで、osX10.12.2上のいくつかのWebサイトをブロックするようにLaunchedをセットアップしようとしています。
launchd
をcp /etc/hosts_BLOCKED_sites.txt /etc/hosts
に設定しました
Launchedはファイルを正しくコピーしているようです。
$ 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
ただし、/etc/hosts
がアクセスをブロックするように設定された後でも、ブロックされたサイトを開くことができます。
/etc/hosts
がサイトへのアクセスをブロックしていない理由について何か提案はありますか?
Chromeでサイトをブロックしようとしましたが、ブロックできませんでした。
Sudo killall -HUP mDNSResponder
コマンドラインからchrome://net-internals/#dns
を介してChrome DNSキャッシュをフラッシュしようとしましたchrome://netinternals/#sockets
をフラッシュしようとしましたこれは違いを生みませんでした。ブロックされたすべてのサイトには、Chrome v55.0.2883.95から引き続きアクセスできます。
/ etc/hostsファイルの権限が600であることに気付きました。そのファイルの権限は通常644である必要があります。アプリケーションが/ etc/hostsを読み取れない場合は、DNSのみを使用します。
/etc/nsswitch.confに次のような行があることを確認しましたか?
ホスト:ファイルDNS
ファイルにそのような行がない場合、または行の前にdnsがある場合は、最初にdnsクエリが実行され、有効な回答が得られた場合、/ etc/hostsファイルは参照されません。
Ipv4 + ipv6のホストエントリを入力し、実行している
Sudo dscacheutil -flushcache; Sudo killall -HUP mDNSResponder
キャッシュをクリアするには、ホストエントリを有効にするためにChromeを再起動する必要がありました。
私のホストエントリ:
127.0.0.1 youtube.com
127.0.0.1 www.youtube.com
fe80::1%lo0 youtube.com
fe80::1%lo0 www.youtube.com
私はネットワーキングの専門家ではないので、私はこれについて間違っていることを受け入れています...
.0.0. は厳密に無効で、ルーティングできないメタアドレスであるため、無視されている可能性があります。
ルーティングのコンテキストでは、0.0.0.0は通常、デフォルトルート、つまりローカルネットワーク上のどこかではなくインターネットの「残りの部分」につながるルートを意味します。
代わりに127.0.0.1を試してください。これは、デフォルトのループバックアドレス、つまり「me」です。
私はIPv6が苦手ですが、変更することで修正されるいくつかの問題を知っています::1 localhost
に::1 127.0.0.1
それらを127.0.0.1のエイリアスとして記述してみてください
127.0.0.1 localhost www.facebook.com www.reddit.com
最初に問題の原因を特定します。それはChromeからですか?キャッシュからですか?または、hostsファイル自体からですか?
提案:次のような拡張機能を使用してChromeで目標を達成できます: https://chrome.google.com/webstore/detail/block-site/eiimnmioipafcokbfikbljfdeojpcgbh?hl = en 。
Mavericksでホストファイルのオーバーライドが機能しない|公式Appleサポートコミュニティ :
ホストファイルはキャッシュされます。 OSXを再起動するとリロードされます。次のコマンドを使用して、キャッシュのリロードを強制することもできます。
Sudo killall -HUP mDNSResponder
<...> TextEditを使用すると、ファイルが破損する可能性があります。ファイルはプレーンである必要がありますASCII text <...>。TextWranglerツール(無料)を使用するか、nanoエディター(または、vimまたはemacsに精通している場合)を使用します。 <...>:
Sudo nano /etc/hosts
/ etc/hostsファイルがSnowLeopardで使用されていません|公式Appleサポートコミュニティ 提案:
編集するときは正しい構文を使用し、正しい権限を持っていることを確認してください。システムが所有し、644の権限を持っている必要があります。