關於ip conntrack table full dropping packet的問題
阿新 • • 發佈:2018-12-21
系統報: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
- 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.