ネットワークのホワイトリストとして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に置き換えてみました。
残念ながらこれはうまくいかないようです。構成ファイルでドメインの残りの部分を許可しながら、特定のサブドメインをブロックするにはどうすればよいですか?
しないでください ハイジャックDNS 。これは、インターネットの低レベルのアーキテクチャを妨害します。ファイアウォールアプライアンスまたはプログラムで適切に処理されないDNSハイジャックの倫理的アプリケーションはほとんどありません。
ゾーンがアドレスに解決されないようにしたい場合は、クライアント hosts file を簡単に編集できます。
dnsmasq
は、説明した「なりすまし」のDNS結果のタイプを処理することができますが、dnsmasqサーバーは、クライアントホストにアクセスするエンドユーザーまたは悪意のある攻撃者によって簡単に迂回できます。したがって、このタイプのDNSハイジャックは、セキュリティに利益をもたらすことはほぼ不可能です。
この場合も、適切に構成されたファイアウォールアプライアンスは、クライアントが悪意のある、または信頼できないリモートホストに意図せずにアクセスすることをブロックする場合に役立つ可能性があります。 この記事で説明 のように、トレンディなソリューションはRasperry Pi上のOpenWRTです。
dnsmasq
を使用すると、これは実際に機能します。
address=/meta.stackexchange.com/127.0.0.1
変更後にdnsmasq
を再起動しましたか?
Dnsmasqの設定の詳細については、 これ を参照してください。
注:他の人がこれについて指摘したように、/etc/hosts
127.0.0.1 meta.stackexchange.com
ホストレコードでWebサイトをブロックできます。
Host-record=meta.stackexchange.com,127.0.0.1
またはcname:
cname=meta.stackexchange.com,blackhole.com
しかし、実際にはこれらの両方がウェブサイトをブロックするためのかなり非効率的な方法です。 /etc/hosts
ファイルを作成し、問題を修正します。