2011-02-24 4 views
0

NAT経由でパケットを送信する前に、アプリケーションレベルでパケットを変更できるようにするパケット変更のlib /ユーティリティがありますか?rfc 2694 nat(iptables)のDNS_ALG実装、誰ですか?

例えば、私はdnsで返されたプライベートIPを公開されているものに変更したい。

回答がありません: - 私はpublic:public realmsから静的マッピングを使用しないので、公開ipsで別のDNSサーバを設定することはできません。 - cisco routerを使用してください。

したがって、iptablesに付随するすべてのlib /ユーティリティは、例えば、ユーザがペイロードを変更できるようにします。 DNSパケット。

私は

答えて

2

QUEUEとNFQUEUE iptablesのターゲットは、パケットをドロップするか、その途中で送信する前にそれを自由に変更でき、ユーザーモードプロセスにパケットを渡し購入する必要はありません。 netfilterプロジェクトは、あなたのためにカーネルにパケットを出し入れするためのC libraryを提供しています。利用可能なハイレベルバインディングもあります(それぞれpython-libnetfilter-queuenfqueue-bindingsがPythonとPerlに対応しています)。

または、ネームサーバーの前に座るプロキシを作成します。

+0

rfc 2694が古くなっているので、これには既に解決策がありませんでした。> DNS_ALGは、私が望む動作を記述しています。 – nikhilelite

+0

あなた自身がこのことをコード化したかったように、あなたの質問は響きました。 RFCの時代は無関係です。それはシスコの実装者によって書かれたもので、ほとんどのネットワークではスプリットホライズンDNSで静的なマッピングを使用していると思うので、他の誰もそれを実装するのを邪魔しませんでした(静的なIPv4から6へのマッピングでは 'totd' 。既存のツールが*ある場合は、Server Faultに問い合わせることで見つけやすくなります。 – SimonJ

+0

私はコードを書いたくないが、利用可能なものがないなら、私は:)する必要があります。私はサーバの故障でこれを尋ねることを試みるが、私は知りませんでしたが、シスコの人たちは2回のナッティングとdns-algでその情報を書きました。 – nikhilelite

関連する問題