ユーザ用ツール

サイト用ツール


01_linux:01_net:ip_contrack

差分

この文書の現在のバージョンと選択したバージョンの差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
01_linux:01_net:ip_contrack [2013/09/03 09:19]
matsui [④変更の確認]
01_linux:01_net:ip_contrack [2016/04/21 08:59] (現在)
matsui
ライン 1: ライン 1:
 +====== ip_contrack ======
  
 +iptablesでは、関連したパケットを追跡するために/​proc/​net/​ip_conntrackというファイルを作り、パケットの情報を記録しておきます。
 +このip_conntrackに記録できる上限数を決めているのが/​proc/​sys/​net/​ipv4/​ip_conntrack_max。
 +システムで自動的に設定されるデフォルト値は搭載されているメモリーによって異なり、1GBで30000強、2GB以上で65536ぐらいになります。
 +
 +1GBのメモリーを積んでいる場合、1時間あたりのアクセス数が100,​000ページビュー程度までならデフォルト値でも問題ないのですが、
 +ぞれ以上になってくるとip_conntrack_maxの値を超えてしまい、パケットが捨てられてしまうという事態に陥ります。
 +ip_conntrack_maxの値を超えると、コンソールに以下のようなメッセージが出力されます。
 +
 +<​code>​
 +ip_conntrack:​ maximum limit of 65536 entries exceeded
 +</​code>​
 +
 +/​proc/​net/​ip_conntrackを見ると、ESTABLISHEDが大量に保存されている
 +<code console>
 +# cat /​proc/​net/​ip_conntrack
 +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
 +</​code>​
 +
 +  * これのMAX値が、ip_conntrack_max(デフォルト:​65536)
 +  * これのESTABLISHED が保持される時間が、ip_conntrack_tcp_timeout_established(デフォルト 432000秒=(5日間))
 +===== ①現在の確認 =====
 +
 +<code console>
 + # cat /​proc/​sys/​net/​ipv4/​netfilter/​ip_conntrack_count
 + # cat /​proc/​sys/​net/​ipv4/​ip_conntrack_max
 + 65536
 +
 + # cat /​proc/​sys/​net/​ipv4/​netfilter/​ip_conntrack_tcp_timeout_established
 + 432000
 +</​code>​
 +
 +===== ②変更 =====
 +
 +<code console>
 + # cp -a /​etc/​sysctl.conf /​etc/​sysctl.conf.org
 + # vi /​etc/​sysctl.conf
 + ​net.ipv4.netfilter.ip_conntrack_max = 1210856
 + ​net.ipv4.netfilter.ip_conntrack_tcp_timeout_established = 43200
 +</​code>​
 +
 +===== ③反映 =====
 +
 +<code console>
 + # sysctl -p
 + ​または
 + # sysctl net.ipv4.netfilter.ip_conntrack_max=1200000
 +</​code>​
 +
 +===== ④変更の確認 =====
 +<code console>
 + # cat /​proc/​sys/​net/​ipv4/​ip_conntrack_max
 + ​1210856
 +
 + # cat /​proc/​sys/​net/​ipv4/​netfilter/​ip_conntrack_tcp_timeout_established
 + ​259200 3日
 + ​172800 2日
 + ​86400 1日
 + ​43200 半日
 +</​code>​
 +
 +===== 参考 =====
 +[[https://​nazx.jp/​x/​CentOS_TIPS_002]]
 +
 +{{tag>​iptables}}
01_linux/01_net/ip_contrack.txt · 最終更新: 2016/04/21 08:59 by matsui

Yesterday:185 Today:205 Total:00390