網路城邦
上一篇 回創作列表 下一篇   字體:
(轉貼)ip_conntrack: table full, dropping packet
2009/07/03 15:05:23瀏覽2094|回應0|推薦1

FTP Server 時, 由dmesg看到一個警告訊息


 " ip_conntrack: table full, dropping packet "


google
一下發現似乎是個還蠻常見的問題,通常是NAT user過多或是同時建立太多tcp connection,導致table爆炸,因為Linux
Kernel在NAT預設的tcp
timeout是五天,難怪user多就爆炸。所以改法很簡單,就是把table加大,timeout縮短即可,要注意的是table所使用的
memory為


ip_conntrack_max * 232 Bytes


所以要小心大小,不要改的太爽,加到超過你記憶體能夠負擔的能力,步驟如下:


首先查看一下table size以及timeout預設是多少:


cat /proc/sys/net/ipv4/ip_conntrack_max


cat /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_established


上面兩行指令能告訴你,目前機器上的table大小及tcp timeout時間


改法有二, 選一個你喜歡的作法即可 :Q


方法一:


sysctl -w net.ipv4.ip_conntrack_max=131072 (or 任何妳喜歡且不會爆的值)


sysctl -w net.ipv4.netfilter.ip_conntrack_tcp_timeout_established=600


(把這兩行寫到你的開機啟動檔裡面)


方法二:


編輯/etc/sysctl.conf, 加上下列兩行


net.ipv4.ip_conntrack_max=131072 (or 任何妳喜歡且不會爆的值)


net.ipv4.netfilter.ip_conntrack_tcp_timeout_established=600


這樣每次開機就會設定上去啦.


問題便可以因此解決。




( 知識學習隨堂筆記 )
回應 推薦文章 列印 加入我的文摘
上一篇 回創作列表 下一篇

引用
引用網址:https://classic-blog.udn.com/article/trackback.jsp?uid=webberjane&aid=3100238