IPTables 文字列一致リダイレクト

IPTables 文字列一致リダイレクト

質問:現在、ポート80要求をポート1000の他のシステムにリダイレクトしています。

実行方法は次のとおりです。

iptables -t nat -A PREROUTING ! -s 172.20.1.2 -p tcp --dport 80 -j DNAT --to-destination 172.20.1.2:1000

ただし、MSIEを含むフィルタリングされたパケットに追加されると、事前ルーティングは最初の-m string --algo kmp --string 'MSIE'SYNパケットのみを評価するため無視されます(したがって、評価しようとしているヘッダーを含むHTTPパケットがありません)。

壊れたルール:

iptables -t nat -A PREROUTING ! -s 172.20.1.2 -p tcp --dport 80 -j DNAT --to-destination 172.20.1.2:1000 --algo kmp -m string --string 'MSIE'

私の質問:文字列一致が発生したときにHTTPヘッダーを評価し、パケットをリダイレクトしたりシステムイベントをトリガーしたりするにはどうすればよいですか?

ベストアンサー1

マニュアルページを引用すると、次のようになります。

DNAT(IPv4のみ)

このターゲットは、natテーブル、PREROUTINGおよびOUTPUTチェーン、およびこれらのチェーンでのみ呼び出されるカスタムチェーンでのみ有効です。

つまり、敗北すれば不可能です。接続中に宛先アドレスを変更できないため、これは明らかです(新しい宛先では変更せず)。

アプリケーション層が必要な場合は、アプリケーションが必要です。接続の処理方法を決定できる(透明な)プロキシにすべてのパケットをリダイレクトします。

おすすめ記事