SYN Floodについて

公開するのを忘れて数カ月経ってました。

 

たまにきますね。

対応内容をメモしておきます。

コネクションが詰まってしまうのが原因なので、デフォルトのカーネルパラメータだと太刀打ちできません。

また、過剰なアクセスがくるとiptablesで参照するip_conntrack_tableというものがいっぱいになり、正常なアクセスまでもDROPしてしまうようになります。これはLVSの設定周りでも書きました。ロードバランサーはCPU負荷などはありませんが、数十台のフロントでパケットを受けるので、通常のカーネルパラメータでは捌けなくなるのです。

/proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_syn_recv

/proc/sys/net/ipv4/tcp_synack_retries

上の設定はsyn_ackを返すまでのタイムアウト値ですね。

下はリトライ回数です。即ち、デフォルトで60秒×5回で最大300秒はコネクションが解放されません。

/proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_time_wait

cat /proc/sys/net/ipv4/netfilter/ip_conntrack_max

cat /proc/sys/net/ipv4/netfilter/ip_conntrack_count

/proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_fin_wait

Comments are closed.