《Disney +》 迪士尼、Marvel、彼思、星球大戰…  看《師父》的功夫戰鬥如何了得   「集合啦!動物森友會」2021年最初的免費更新!增加狂歡節及季節品項!   《地平線 西域禁地》實體版2021年12月14日起接受預訂   魔物獵人桌遊化?!桌遊版魔物獵人「魔物獵人 世界 The Board Game」隆重登場!   透過凸版印刷公司內部活動「TOPPAN eSPORTS FESTIVAL 2021」重新認識了電競的優點!   七月份PlayStation Plus遊戲:《決勝時刻:黑色行動4》、《WWE 2K Battlegrounds》、《A Plague Tale: Innocence》   《泡泡龍3D:Vacation Odyssey》於今年稍後為PS VR、PS4和PS5帶來次元提升的泡泡爆破體驗   寶可夢變成動作RPG?!官方發表系列新作「寶可夢傳說 阿爾宙斯」!這次將在很久以前的神奧地區展開冒險! 

Linux 遇到 nf_conntrack: table full, dropping packet 解法

商業

系統平常跑得很正常,為何灌了 Docker 後,dmesg 開始出現下述的訊息:

  • nf_conntrack: table full, dropping packet

要怎麼解決呢?

Linux 遇到 nf_conntrack: table full, dropping packet 解法

主要是問題在於 Docker 灌了後,預設會開啟 nf_conntrack 追蹤功能(因為 Docker 系統內部都是走 NAT,想要追蹤每個連線,不過這不是必要的),而追蹤連線的條數越來越多(量大的話),來
不及消耗掉,就會滿載,滿載就會出現此訊息。

先講我的解法

  1. sudo iptables -A FORWARD -m state --state UNTRACKED -j ACCEPT
  2. sudo iptables -L # 確認有此 "ACCEPT all -- anywhere anywhere state UNTRACKED" 行
  3. 若上述執行太多次,會顯示很多行,可以用下述刪除
    • sudo iptables -D FORWARD -m state --state UNTRACKED -j ACCEPT

此篇文章列了幾種解法:解決 nf_conntrack: table full, dropping packet 的幾種思路

  1. 移除 nf_conntrack 模組
    1. 移除前先注意 iptables 有沒有使用到 state 模組的規則
      • ex: -A INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT
    2. sudo modprobe -r xt_NOTRACK nf_conntrack_netbios_ns nf_conntrack_ipv4 xt_state
    3. sudo modprobe -r nf_conntrack
  2. 調整 /proc conntrack 等等的數字 (/etc/sysctl.conf),增加 CONNTRACK_MAX 與 HASHSIZE 的值 並且縮短 timeout 值
    • $ sudo su -c "echo 100000 > /proc/sys/net/netfilter/nf_conntrack_max" #
    • $ sudo su -c "echo 50000 > /proc/sys/net/netfilter/nf_conntrack_buckets"
    • $ sudo su -c "echo 600 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_established"
    • vim /etc/sysctl.conf # 增加下述
      • net.netfilter.nf_conntrack_max = 655350
      • net.netfilter.nf_conntrack_tcp_timeout_established = 1200
    • $ sudo sysctl -p
  3. 使用 raw 表,不跟蹤連接
    • $ sudo iptables -A FORWARD -m state --state UNTRACKED -j ACCEPT
    • $ sudo iptables -t raw -A PREROUTING -p tcp -m multiport --dport 80,81,82 -j NOTRACK
    • $ sudo iptables -t raw -A PREROUTING -p tcp -m multiport --sport 80,81,82 -j NOTRACK
  4. 註:上述解法建議挑 1、3。2 的解法治標不治本,量大一樣會有問題

相關網頁

Tsung

隨機商業新聞

Addidas