ログを確認していると何かエラーが出ていた
# tail -f /var/log/messages
ip_conntrack: table full, dropping packet
iptablesのセッション管理テーブル(ip_conntrack)が上限に達したようである
解消方法は二つ。
① ESTABLISHEDな状態を記録する期間を短くする
② ip_conntrackに記録できる上限数を上げる
【OSパラメータの変更作業】
◆ 現在の使用状況の確認
# cat /proc/sys/net/netfilter/nf_conntrack_count
# sysctl -a | grep nf_conntrack
net.netfilter.nf_conntrack_tcp_timeout_established = 432000 ← ①の対策
net.netfilter.nf_conntrack_max = 65536 ← ②の対策
net.nf_conntrack_max = 65536 ← ②の対策
正確には上は設定値なので、proc配下あたりの
該当キーを見た方がいいかもしれない。
# cat /proc/sys/net/~
◆ 設定ファイルの編集
# vi /etc/sysctl.conf
net.netfilter.nf_conntrack_tcp_timeout_established = 2000
net.nf_conntrack_max = 1048576
net.netfilter.nf_conntrack_max = 1048576
◆ 設定反映
# sysctl -p
◆ 事後確認
# sysctl -a | grep nf_conntrack
net.netfilter.nf_conntrack_tcp_timeout_established = 2000
net.netfilter.nf_conntrack_max = 1048576
net.nf_conntrack_max = 1048576
意外と見落としがちなポイントではないだろうか。
それ以外のチューニングすべき項目はこちらを参考にしてほしい。
また、iptables関係で、ここも気をつけるポイントだろう。