0

IPTABLES では、NAT テーブルは最初のパケットだけを見ると思います。これは、パケット内の文字列を照合できないことを意味します。文字列に基づいてパケットを照合するには、フィルター テーブルにいる必要があります。

したがって、「redtube」などの文字列で一致させたい場合は、これを NAT テーブルに送り返して DNAT を実行できるようにしたいと考えています。

例えば:

iptables -I FORWARD 1 -s 192.168.1.156 -m string --string 'redtube' --algo bm -J DROP 

このコマンドは、redtube を含むすべてのパケットをドロップします。

-J DNATターゲットを使用して、ブロックページを表示する別のWebサーバーに送信できるように、natを介してその接続を送信する方法はありますか?

4

1 に答える 1

1

「パーソナライズされた」チェーンを作成し、「-j chain_name」を使用してそのチェーンにパケットを送信できます

そして、そのチェーンで何をするかを宣言するよりも、たとえば

-A input_ext -p tcp -m tcp --dport 113 -m state --state NEW -j reject_func

そしてより

-A reject_func -p tcp -j REJECT --reject-with tcp-reset
-A reject_func -p udp -j REJECT --reject-with icmp-port-unreachable
-A reject_func -j REJECT --reject-with icmp-proto-unreachable

1 行目の「reject_func」のチェーン名に注意してください。それは「そのチェーンに送る」ことを意味し、指定されたチェーンで、どこに行き、何をすべきかを見つけた

(これが SuSEFirewall2 の仕組みです)

于 2013-10-03T11:22:36.127 に答える