iptablesでsynプロキシとconnlimitルールを一緒に使用する方法は?

iptablesでsynプロキシとconnlimitルールを一緒に使用する方法は?

私はsynエージェントとconnlimitルールを作成したいと思います。パフォーマンスの問題のため、まずパケットをSynプロキシに送信したいと思います。

これは例示的なルールです。

#syn proxy rule 
iptables -t raw -A PREROUTING -i eth1 -p tcp -m tcp --syn -j CT --notrack 
iptables -t filter -A FORWARD -i eth1 -p tcp -m tcp -m state --state INVALID,UNTRACKED -j SYNPROXY --sack-perm --timestamp --wscale 7 --mss 1460
iptables -t filter -A FORWARD -i eth1 -m state --state INVALID -j DROP

#connlimit rule 
iptables -t filter -A FORWARD -i eth1 -p tcp -m tcp --syn -m connlimit --connlimit-above 100 -j DROP

問題は、synパケット(接続を開くパケット)がsynプロキシルールを超えることができないため、connlimitと一致できないことです。私はsynproxyで使用できるようにconnlimitを書く別の方法を探しています。

ベストアンサー1

私は同じルール(ブリッジのsynproxy)を使用しましたが、通常のtcpリクエストが機能しないことに気づきました。つまり、synproxy ルールを実装した後、すべての syn 要求がブロックされました。 tcpdumpを使用して監視しました。同期エージェントのルールが期待どおりに機能するかどうか疑問に思います。

おすすめ記事