このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
01_linux:01_net:ip_contrack [2013/09/03 00:19] – matsui | 01_linux:01_net:ip_contrack [2021/09/06 22:42] (現在) – matsui | ||
---|---|---|---|
行 1: | 行 1: | ||
+ | ====== ip_contrack ====== | ||
+ | iptablesでは、関連したパケットを追跡するために/ | ||
+ | このip_conntrackに記録できる上限数を決めているのが/ | ||
+ | システムで自動的に設定されるデフォルト値は搭載されているメモリーによって異なり、1GBで30000強、2GB以上で65536ぐらいになります。 | ||
+ | |||
+ | 1GBのメモリーを積んでいる場合、1時間あたりのアクセス数が100, | ||
+ | ぞれ以上になってくるとip_conntrack_maxの値を超えてしまい、パケットが捨てられてしまうという事態に陥ります。 | ||
+ | ip_conntrack_maxの値を超えると、コンソールに以下のようなメッセージが出力されます。 | ||
+ | |||
+ | < | ||
+ | ip_conntrack: | ||
+ | </ | ||
+ | |||
+ | / | ||
+ | <code console> | ||
+ | # cat / | ||
+ | tcp 6 431999 ESTABLISHED src=192.168.100.50 dst=192.168.10.11 sport=62856 dport=22 packets=2107 bytes=129391 src=192.168.10.11 dst=192.168.100.50 sport=22 dport=62856 packets=2254 bytes=161844 [ASSURED] mark=0 secmark=0 use=1 | ||
+ | tcp 6 431867 ESTABLISHED src=182.48.51.190 dst=192.168.10.11 sport=44108 dport=22 packets=1493774 bytes=185262756 src=192.168.10.11 dst=182.48.51.190 sport=22 dport=44108 packets=1491669 bytes=201699448 [ASSURED] mark=0 secmark=0 use=1 | ||
+ | </ | ||
+ | |||
+ | * これのMAX値が、ip_conntrack_max(デフォルト: | ||
+ | * これのESTABLISHED が保持される時間が、ip_conntrack_tcp_timeout_established(デフォルト 432000秒=(5日間)) | ||
+ | ===== ①現在の値確認===== | ||
+ | |||
+ | ==== CentOS5 ==== | ||
+ | |||
+ | <code console> | ||
+ | # cat / | ||
+ | # cat / | ||
+ | 65536 | ||
+ | |||
+ | # cat / | ||
+ | 432000 | ||
+ | </ | ||
+ | |||
+ | ==== CentOS6/ | ||
+ | |||
+ | < | ||
+ | # cat / | ||
+ | 14471 | ||
+ | |||
+ | # cat / | ||
+ | 14475 | ||
+ | |||
+ | # cat / | ||
+ | 65536 | ||
+ | # cat / | ||
+ | 65536 | ||
+ | |||
+ | </ | ||
+ | |||
+ | ===== ②変更 ===== | ||
+ | |||
+ | ==== CentOS5 ==== | ||
+ | |||
+ | <code console> | ||
+ | # cp -a / | ||
+ | # vi / | ||
+ | | ||
+ | | ||
+ | </ | ||
+ | |||
+ | |||
+ | ==== CentOS6/ | ||
+ | < | ||
+ | net.netfilter.nf_conntrack_max = 1210856 | ||
+ | net.nf_conntrack_max = 1210856 | ||
+ | </ | ||
+ | |||
+ | ===== ③反映 ===== | ||
+ | |||
+ | <code console> | ||
+ | # sysctl -p | ||
+ | | ||
+ | # sysctl net.ipv4.netfilter.ip_conntrack_max=1200000 | ||
+ | # sysctl net.nf_conntrack_max=1200000 | ||
+ | </ | ||
+ | |||
+ | ===== ④変更の確認 ===== | ||
+ | <code console> | ||
+ | # cat / | ||
+ | | ||
+ | |||
+ | # cat / | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | </ | ||
+ | |||
+ | ===== ④確認(sysctl) ===== | ||
+ | |||
+ | < | ||
+ | # sysctl net.netfilter.nf_conntrack_max net.nf_conntrack_max net.netfilter.nf_conntrack_generic_timeout | ||
+ | net.netfilter.nf_conntrack_max = 1210856 | ||
+ | net.nf_conntrack_max = 1210856 | ||
+ | net.netfilter.nf_conntrack_generic_timeout = 600 | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== ⑤ip_contrackのエラー ===== | ||
+ | |||
+ | kernel: nf_conntrack: | ||
+ | ===== 参考 ===== | ||
+ | [[https:// | ||
+ | |||
+ | {{tag> |