私はネットワークでホワイトリストを作成するためにdnsmasqを使用しています。私のdnsmasq.confファイルは次のとおりです。
bogus-priv
domain-needed
no-resolv
server=/stackexchange.com/8.8.8.8
#etc...
次のサブドメインをブロックしたいと思います。
server=/meta.stackexchange.com/0.0.0.0
私も次のことを試しました。
address=/meta.stackexchange.com/0.0.0.0
どちらの場合も、0.0.0.0を127.0.0.1に変更しようとしました。
残念ながら、これはうまくいかないようです。構成ファイルで特定のサブドメインをブロックし、残りのドメインを許可するにはどうすればよいですか?
答え1
実際、これはdnsmasq
うまくいきます。
address=/meta.stackexchange.com/127.0.0.1
dnsmasq
変更後に再起動しましたか?
dnsmasqの設定の詳細については、次を参照してください。これ。
ノート:他の人が指摘したように、次のものを使用できます。 /etc/hosts
127.0.0.1 meta.stackexchange.com
答え2
しないでください。DNSハイジャック。これは、インターネットの低レベルアーキテクチャを妨げる。 DNSハイジャックのほぼすべての倫理的適用は、ファイアウォールデバイスまたはプログラムによってよりよく処理されます。
ゾーンがアドレスで解決されないようにするには、クライアントを簡単に編集できます。ホストファイル。
あなたが説明する「偽装された」DNS結果タイプを提供できますが、dnsmasq
dnsmasqサーバーは、クライアントホストにアクセスできるエンドユーザーまたは悪意のある攻撃者によって簡単にバイパスされます。したがって、このタイプのDNSハイジャックはセキュリティ上の利点をほとんど提供しません。
同様に、クライアントが誤って悪意のあるまたは信頼できないリモートホストにアクセスするのを防ぐことが目的である場合は、適切に構成されたファイアウォールデバイスを使用する方が良いかもしれません。広く使用されているソリューションはRasperry PiのOpenWRTです。この記事で説明されている。
答え3
ホスト履歴を使用してウェブサイトをブロックできます。
host-record=meta.stackexchange.com,127.0.0.1
またはドメイン名:
cname=meta.stackexchange.com,blackhole.com
しかし、実際にはどちらの方法もウェブサイトをブロックする効果的な方法ではありません。私のファイルを見て/etc/hosts
問題を解決することができます。