ex1-lab

Linux, CentOS, Mac OS X, Windows, 仮想化, Apache等のLinux中心に気になることをメモがわりに・・・

ip_conntrackの設定を変更しても初期値に戻る場合

    この記事は約3分で読むことができます。

概要

iptablesでは、パケットを解析するために ip_conntrack(nf_conntrack)というファイルを作って、そのパケットの情報を記録します。

このip_conntrack(nf_conntrack)に記録できる上限数を決めているのが、その上限を超えると新規セッショを弾きます。その際に /var/log/messages 等に以下のエラーを吐きます。
また、CentOS 6.xでは、「nf_conntrack」と名前が変更されてますので、エラーログの内容も変更されてます

その場合は、ip_conntrack(nf_conntrack)が溢れている状態です。

ip_conntrack(nf_conntrack)の 最大値を変更すれば、最大値が変更されますが、サーバーの再起動やiptablesを再起動すれば、初期値に戻るケースがありました。その際の対応策を紹介します

ip_conntrack(nf_conntrack)の最大値を変更する

ip_conntrack(nf_conntrack)の最大値を変更する方法を紹介します

現在のip_conntrack(nf_conntrack)の最大値を確認

現在の設定でのip_conntrackの最大値は以下のコマンドで確認できます。
Cent OSのバージョンで、参照している場所が違いますので注意して下さい。

ip_conntrack(nf_conntrack)の最大値を変更する

/etc/sysctl.conf の ip_conntrack_max(net.nf_conntrack_max) の値に変更したい最大値を設定します

設定が反映されたか確認します

iptabel を再起動すると、ip_conntrack(nf_conntrack)が初期される場合の対処法

OSを再起動または、iptablesを再起動すると、ip_conntrack(nf_conntrack)の最大値が初期値(65536)に戻るケースがありました。

他のサイトではCentOS 5.xだとこの事象が発生しCentOS 6.x だと発生しないと記載されているWEBサイトがありましたが、私が運用しているCentOS 6.x でも、iptablesを再起動すると、ip_conntrack(nf_conntrack)の最大値が初期値(65536)に戻るケースが発生しました。

iptablesを再起動すると、ip_conntrack(nf_conntrack)が初期値になるか確認してみます

iptablesを再起動すると、「Unloading iptables modules  [ ok ] 」となり、iptables モジュールアンロードされて初期値に戻ります。

iptables モジュールをアンロードしないように「/etc/sysconfig/iptables-config」のファイル内の「IPTABLES_MODULES_UNLOAD="no"」と設定して、モジュールがアンロードされないようにします



 - Linux , ,