iptables は特定のポートで要求を「書き換え」ますか?

iptables は特定のポートで要求を「書き換え」ますか?

さて、私の状況は基本的に次のようになります... ルーターとして機能しているボックスがあり、2 つのインターフェイスがありますeth0eth1eth1アップリンクで、ボックスがインターネット接続を取得するインターフェイスです。eth0はダウンリンクで、別のデバイス/スイッチ/ワイヤレス AP などが接続されるインターフェイスです。

iptables を使用して、 から発信されるポート 53 のすべてのアドレスへの要求がeth0で実行されている DNS サーバーに送信され127.0.0.1、その DNS サーバーが応答を送信すると、要求を送信したマシンでは、応答が実際にパケットを送信したアドレスから送信されたように見えるようにしたいと考えています。

たとえば、 に接続され、DNS サーバーとしてeth0使用するように設定されているマシンがあるとします。ルーティング マシンの DNS サーバーには、 を指すレコードがあります。 に接続しているマシン上の誰かがを実行します。 から来たように見える応答を受け取りますが、実際はルーティング ボックスから来ており、この応答には example.com の A レコードが であると書かれています。8.8.8.8example.com192.0.2.1eth0dig example.com @8.8.8.88.8.8.8192.0.2.1

これどうやってするの?

これは だけでなく、任意の DNS サーバー アドレスに対して機能する必要があることに注意してください8.8.8.8

答え1

これを実行するには特定のソフトウェアが必要であり、これは悪とみなされます。DNS トラフィックに対して中間者攻撃を実行してインターネットを遮断することが、DNSSec のようなものが導入されている理由です。

それでもどうしても調べたい場合は、「DNS インターセプション」と「透過 DNS プロキシ」の結果をチェックするといいでしょう。思い浮かぶのは、Barracuda ファイアウォール、、dnschefそしておそらくさまざまな Web フィルタリング スイートがこの機能を提供していることです。

関連情報