OpenDNSは、インターネットをカテゴリ別にフィルタリングする非常に簡単な方法を提供します。もちろん、正確なIPアドレスを得ることができる人なら誰でも簡単にフィルタをバイパスすることができますが、これほど私の期待を満たすのに十分です。
より大きな問題は、クライアント側でDNSプロバイダを変更することが大きな問題ではないことです。
だから私の質問は、ローカルネットワークで特定のDNSプロバイダのみを使用するように強制することが可能かどうかです。
ターゲットデバイスはOpenWRTを含むWiFiルーターです。 (しかし、同様に簡単な設定フィルタリングソリューションを歓迎しますが、最大の問題はDNSプロバイダの適用です。)
答え1
この機能はiptablesファイアウォールを使用して実装できます(Openwrtもiptablesを使用します)。
iptables -t nat -A PREROUTING -s 192.168.1.0/24 -p udp --dport 53 -j DNAT --to 192.168.1.1
iptables -t nat -A PREROUTING -s 192.168.1.0/24 -p tcp --dport 53 -j DNAT --to 192.168.1.1
ルーターで Opendns サーバーを使用します。192.168.1.1
Openwrt ルーターの IP です。192.168.1.0/24
LANネットワークサブネット。ネットワークサブネット設定に従って上記のルールを変更します。 openwrtプロンプトで上記の規則を試している場合-A
に置き換えます-I
。起動または再起動時にロードされるスクリプトにルールを保存すると、-A
スイッチは機能します。この設定を有効にすると、クライアント コンピュータがどの DNS サーバーを使用しても、DNS 要求がルータに到達すると、宛先 IP がルータの IP に変更されます。 Openwrtでiptablesの詳細情報を見つけることができます。ここで。
答え2
はい、ローカルネットワーク上のすべてのホストに特定のDNSプロバイダのみを使用させることができます。プロキシサーバーを構成してこれを行うことができます。イカの代理人ローカルネットワーク上のすべてのホストがこのプロキシサーバーを介してのみインターネットにアクセスできるようにします。したがって、DNS要求、HTTP要求、またはその他の要求など、すべての要求は最初にプロキシサーバーに移動します。これにより、プロキシサーバーを構成したときに作成されたすべてのDNSエントリがローカルネットワーク上のすべてのホストで使用されます。