
さて、私の状況は基本的に次のようになります... ルーターとして機能しているボックスがあり、2 つのインターフェイスがありますeth0
。eth1
はeth1
アップリンクで、ボックスがインターネット接続を取得するインターフェイスです。eth0
はダウンリンクで、別のデバイス/スイッチ/ワイヤレス AP などが接続されるインターフェイスです。
iptables を使用して、 から発信されるポート 53 のすべてのアドレスへの要求がeth0
で実行されている DNS サーバーに送信され127.0.0.1
、その DNS サーバーが応答を送信すると、要求を送信したマシンでは、応答が実際にパケットを送信したアドレスから送信されたように見えるようにしたいと考えています。
たとえば、 に接続され、DNS サーバーとしてeth0
使用するように設定されているマシンがあるとします。ルーティング マシンの DNS サーバーには、 を指すレコードがあります。 に接続しているマシン上の誰かがを実行します。 から来たように見える応答を受け取りますが、実際はルーティング ボックスから来ており、この応答には example.com の A レコードが であると書かれています。8.8.8.8
example.com
192.0.2.1
eth0
dig example.com @8.8.8.8
8.8.8.8
192.0.2.1
これどうやってするの?
これは だけでなく、任意の DNS サーバー アドレスに対して機能する必要があることに注意してください8.8.8.8
。
答え1
これを実行するには特定のソフトウェアが必要であり、これは悪とみなされます。DNS トラフィックに対して中間者攻撃を実行してインターネットを遮断することが、DNSSec のようなものが導入されている理由です。
それでもどうしても調べたい場合は、「DNS インターセプション」と「透過 DNS プロキシ」の結果をチェックするといいでしょう。思い浮かぶのは、Barracuda ファイアウォール、、dnschef
そしておそらくさまざまな Web フィルタリング スイートがこの機能を提供していることです。