1. 程式人生 > >linux雲主機cpu一直很高降不下來,系統日誌報nf_conntrack: table full, dropping packet.

linux雲主機cpu一直很高降不下來,系統日誌報nf_conntrack: table full, dropping packet.

bsp 由於 系統日誌 filter 啟用 conf 狀態 con session

在啟用了iptables web服務器上,流量高的時候經常會出現下面的錯誤:

ip_conntrack: table full, dropping packet

這個問題的原因是由於web服務器收到了大量的連接,在啟用了iptables的情況下,iptables會把所有的連接都做鏈接跟蹤處理,這樣iptables就會有一個鏈接跟蹤表,當這個表滿的時候,就會出現上面的錯誤。

iptables的鏈接跟蹤表最大容量為/proc/sys/net/ipv4/ip_conntrack_max,鏈接碰到各種狀態的超時後就會從表中刪除。

所以解決方法一般有兩個:

(1) 加大 ip_conntrack_max 值

vi /etc/sysctl.conf

net.ipv4.ip_conntrack_max = 393216
net.ipv4.netfilter.ip_conntrack_max = 393216

(2)通過iptable限制

iptables -A INPUT -m state --state UNTRACKED -j ACCEPT --不做狀態跟蹤的鏈接就允許進入

參數 -m state --state
範例 iptables -A INPUT -m state --state RELATED,ESTABLISHED
說明 用來比對聯機狀態,聯機狀態共有四種:INVALID、ESTABLISHED、NEW 和 RELATED。

INVALID 表示該封包的聯機編號(Session ID)無法辨識或編號不正確。
ESTABLISHED 表示該封包屬於某個已經建立的聯機。
NEW 表示該封包想要起始一個聯機(重設聯機或將聯機重導向)。
RELATED 表示該封包是屬於某個已經建立的聯機,所建立的新聯機。例如:FTP-DATA 聯機必定是源自某個 FTP 聯機。

linux雲主機cpu一直很高降不下來,系統日誌報nf_conntrack: table full, dropping packet.