啓用nf_conntrack模塊,避免table full dropping

    最近收到Iptables服務器報警"nf_conntrack: table full, dropping packet."。通過對日誌分析,最終將問題解決了。給你們分享一下。
linux


問題分析:服務器

ip_conntrack是linux NAT的一個跟蹤鏈接條目的模塊,與Iptables相關,ip _conntrack模塊會使用一個哈希表記錄 tcp 通信協議的 established connection記錄,當這個哈希表滿了的時候,便會致使nf_conntrack: table full, dropping packet錯誤,因爲該物理機運行多虛擬機,哈希表滿的概率很大。 tcp


處理辦法:ide

處理方法有兩種。spa

  1. 修改/etc/modprobe.d/nf_conntrack.conf配置並關閉iptables服務:.net

more    /etc/modprobe.d/nf_conntrack.conf
日誌

wKiom1OunH_ifpMcAAAxzWICCsA919.jpg

開啓options  nf_conntrack hashsize=131072 調整nf_conntrack表大小。orm

service  iptables  stopblog

chkconfig iptables  offip


2.修改/etc/sysctl.conf中ip_conntrack的值

net.netfilter.nf_conntrack_max = 655350  #設置最大跟蹤鏈接數655350,該設置會增大內存開銷。

net.netfilter.nf_conntrack_tcp_timeout_established = 300 #設置跟蹤鏈接保存5小時。

sysctl  -p


3.總結

   防火牆有條件交給上層硬件設備完成會更好,使用系統防火牆必定要作調優;若是不須要防火牆的跟蹤功能,規則簡單的能夠開啓NOTRACK選購,條件容許的狀況下就刪除它。

相關文章
相關標籤/搜索