設定したパケットを追跡するために
/proc/net/ip_conntrack
というファイルへパケット情報を記録、追跡します。
これがたまに大規模なシステムになると
# vim /var/log/messagesというメッセージが表示される場合があります。
ip_conntrack: maximum limit of xxxx entries exceeded
原因は、iptablesで追跡するパケットの上限数を超えてしまっているからです。
その上限数は
/proc/sys/net/ipv4/ip_conntrack_max
に書かれているのですが、システムで自動的に設定されています。
対処法は
# echo '100000' > /proc/sys/net/ipv4/ip_conntrack_maxと上限数を上げてあげるか、または
# vim /etc/sysctl.confのようにしてあげるか、で大丈夫です。
net.ipv4.ip_conntrack_max = 100000
# sysctl -p
/proc/sys/net/ipv4/ip_conntrack_maxの上限値は、搭載メモリーに依存するらしいので、増やしすぎには注意が必要です。
追跡中のip_conntrackの数を調べるには
# cat /proc/net/ip_conntrack | wc -lで分かります。
大規模システムにもなると、外部システムとの連携などでptablesの監視パケットの数が膨大になるので注意が必要ですね。
0 件のコメント:
コメントを投稿