なんか、中途半端にアクセスできなくなるときがある
最近起こったことで、備忘録です。どうも、負荷が上がったときに発生しているようでした。
messagesを見ると、以下のようなエラーがでました。
nf_conntrack: table full, dropping packet
iptablesのネットワークのコネクションを管理するテーブルやらがいっぱいになって、入りきらないから捨てた。ということみたいですね。
今回は特に、どこかから変な攻撃されたりということではなくて単純にリソース不足が原因でした。
まずは値を確認
cat /proc/sys/net/netfilter/nf_conntrack_max
と実行すると
31712
と戻ってきました。
この値を変更します。
値を変更
etc/sysctl.confに対して以下を追加して、sysctl -pで読みこみしました。
net.netfilter.nf_conntrack_max = 100000
net.nf_conntrack_max = 100000
そして、値が変更されていることを確認して完了です。
メモリの注意点
この値を変更する件ですが、サーバのメモリの量に注意してください。多くしすぎるとサーバが死ぬ可能性があります。swap領域を利用できないものらしく、メモリが足らなくなると死にます。
この辺を見ると1個あたり350バイト必要になるようです。サーバのメモリと相談しましょう。
参考にしてみてください。では。