echo 0.0.0.0 facebook.com >> /etc/hosts
は、facebook.comとそのサブサイトがIPアドレスに解決されるのを防ぐための非常に簡単なソリューションです。 (これは、Linux MintのMint Nannyの動作方法でもあります)。
これを一部のサイトを除くすべてのサイトに拡張したいのですが、Web上で実行可能な解決策が見つからないようです。
透過プロキシサーバーの使用を提案する手がかりをいくつか見つけましたが、それを機能させることができないようです。
この単純な目標を達成する方法について、具体的でわかりやすいレシピを投稿できますか(Unixライクなオペレーティングシステム、できればGNU/Linuxで)。
Dnsmasqを使用します。これは本当にきちんとしたサービスです。
Debian/Ubuntu/Mintの場合:
Sudo apt-get install dnsmasq
/etc/dnsmasq.confを編集します
次の行を追加して、すべてのサイトをローカルホストにリダイレクトします。
address=/#/127.0.0.1
これらの行を追加して、特定のサイトが8.8.8.8のDNSサーバーを使用するようにします。
server=/allowed.com/8.8.8.8
次に、dnsmasqサービスを再起動します。
Sudo service dnsmasq restart
DNSブロックする必要はありません。 Apachemod_proxyとProxyBlockを設定するだけで十分です。