1. 程式人生 > >關於ip conntrack table full dropping packet的問題

關於ip conntrack table full dropping packet的問題

系統報:Apr 17 16:37:26 www kernel: printk: 135 messages suppressed.Apr 17 16:37:26 www kernel: ip_conntrack: table full, dropping packet.Apr 17 16:37:26 www kernel: ip_conntrack: table full, dropping packet.Apr 17 16:37:33 www kernel: printk: 139 messages suppressed.Apr 17 16:37:33 www kernel: ip_conntrack: table full, dropping packet.Apr 17 16:37:37 www kernel: printk: 60 messages suppressed.Apr 17 16:37:37 www kernel: ip_conntrack: table full, dropping packet.Apr 17 16:37:52 www kernel: printk: 19 messages suppressed.Apr 17 16:37:52 www kernel: ip_conntrack: table full, dropping packet.有丟包現象[
[email protected]
~]# wc -l /proc/net/ip_conntrack68463 /proc/net/ip_conntrack
[[email protected] ~]# cat /proc/sys/net/ipv4/netfilter/ip_conntrack_max65536
可調整以下引數:echo 180 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_establishedecho 262144 > /proc/sys/net/ipv4/netfilter/ip_conntrack_maxecho 120   > /proc/sys/net/ipv4/neigh/default/gc_stale_timeecho 1024 > /proc/sys/net/ipv4/neigh/default/gc_thresh1echo 4096 > /proc/sys/net/ipv4/neigh/default/gc_thresh2echo 8192 > /proc/sys/net/ipv4/neigh/default/gc_thresh3或vi /etc/sysctl.confnet.ipv4.ip_conntrack_max = 655360net.ipv4.netfilter.ip_conntrack_tcp_timeout_established = 180再sysctl -p相關引數說明:
ARP 支援一個 sysctl 介面,可以用以配置全域性引數或逐個網路介面地進行配製。 該 sysctl 可以通過 /proc/sys/net/ipv4/neigh/*/* 檔案或者使用 (2) 介面來訪問。系統中每個介面都在 /proc/sys/net/ipv4/neigh/. 中有自己的目錄。`default'目錄中的設定用於所有新建的裝置。 sysctl 相關的時間是以秒為單位,除非特別宣告過.
anycast_delay
對 IPv6 相鄰請求資訊的回覆的最大延遲時間; 目前還不支援 anycast。預設值為1秒。
app_solicit
這是在使用多路廣播探測(multicast probe)前, 經過網路連線送到使用者間隙ARP埠監控程式的探測(probe) 最大數目(見 mcast_solicit
)。 預設值為0。
base_reachable_time
一旦發現相鄰記錄,至少在一段介於 base_reachable_time/2和3*base_reachable_time/2 之間的隨機時間內,該記錄是有效的。如果收到上層協議的肯定反饋, 那麼記錄的有效期將延長。 預設值是30秒。
delay_first_probe_time
發現某個相鄰層記錄無效(stale)後,發出第一個探測要等待的時間。 預設值是5秒。
gc_interval
收集相鄰層記錄的無用記錄的垃圾收集程式的執行週期,預設為30秒。
gc_stale_time
決定檢查一次相鄰層記錄的有效性的週期。 當相鄰層記錄失效時,將在給它傳送資料前,再解析一次。 預設值是60秒。
gc_thresh1
存在於ARP快取記憶體中的最少層數,如果少於這個數, 垃圾收集器將不會執行。預設值是128。
gc_thresh2
儲存在 ARP 快取記憶體中的最多的記錄軟限制。 垃圾收集器在開始收集前,允許記錄數超過這個數字 5 秒。 預設值是 512。
gc_thresh3
儲存在 ARP 快取記憶體中的最多記錄的硬限制, 一旦快取記憶體中的數目高於此, 垃圾收集器將馬上執行。預設值是1024。
locktime
ARP 記錄儲存在快取記憶體內的最短時間(jiffy數), 以防止存在多個可能的對映(potential mapping)時, ARP 快取記憶體系統的顛簸 (經常是由於網路的錯誤配置而引起)。 預設值是 1 秒。
mcast_solicit
在把記錄標記為不可抵達的之前, 用多路廣播/廣播(multicast/broadcast)方式解析地址的最大次數。 預設值是3。
proxy_delay
當接收到有一個請求已知的代理 ARP 地址的 ARP 請求時, 在迴應前可以延遲的 jiffy(時間單位,見BUG)數目。 這樣,以防止網路風暴。預設值是0.8秒。
proxy_qlen
能放入代理 ARP 地址佇列(proxy-ARP addresses)的資料包最大數目。預設值是64。
retrans_time
重發一個請求前的等待 jiffy(時間單位,見BUG)的數目。預設值是1秒。
ucast_solicit
詢問ARP埠監控程式前,試圖傳送單探測(unicast probe)的次數。 (見 app_solicit). 預設值是3秒。
unres_qlen
每個沒有被其它網路層解析的地址,在佇列中可存放包的最大數目。預設值是3.