欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

CentOS ip_conntrack: table full, dropping packet 的解決方法

  發(fā)布時間:2012-09-16 11:43:20   作者:佚名   我要評論
當你在日志文件中發(fā)現(xiàn) ip_conntrack: table full, dropping packet 的時候,你可以通過本文所介紹的方法來解決
那么,為什么會出現(xiàn) ip_conntrack: table full, dropping packet 呢?iptables 使用一張連接跟蹤表,來描述連接狀態(tài),當這張表滿了,就會在日志里面寫入該信息。這可能有點難以理解,那么到底在什么情況下,我們需要在日志里面查找這條記錄呢?

當你發(fā)現(xiàn),PING 服務器的結(jié)果,出現(xiàn)丟包,或者出現(xiàn)延遲不穩(wěn)定,忽高忽低,在排除線路因素之后,就應當考慮 ip_conntrack: table full, dropping packet 。

下面介紹 ip_conntrack: table full, dropping packet 的解決方法:

CentOS 6 /RHEL 5 下的解決方法:

1.運行


復制代碼
代碼如下:
sysctl -w net.ipv4.netfilter.ip_conntrack_max=100000.sysctl -w net.ipv4.netfilter.ip_conntrack_max=100000


2.在 /etc/sysctl 中加入:


復制代碼
代碼如下:
net.ipv4.netfilter.ip_conntrack_max = 100000.net.ipv4.netfilter.ip_conntrack_max = 100000


3.使其生效:


復制代碼
代碼如下:
sysctl -p.sysctl -p


CentOS 6 /RHEL 6 下的解決方法:

1.運行


復制代碼
代碼如下:
sysctl -w net.nf_conntrack_max=100000.sysctl -w net.nf_conntrack_max=100000


2.在 /etc/sysctl 中加入:


復制代碼
代碼如下:
net.nf_conntrack_max = 100000.net.nf_conntrack_max = 100000


3.使其生效:


復制代碼
代碼如下:
sysctl -p.sysctl -p


*** 如果 Xen DomU 出現(xiàn)零星丟包或者 PING 忽高忽低,同時關(guān)閉 iptables 后 ping 正常,則多半是這個問題。

或參考下面的方法試試

一。服務器出現(xiàn)了大量的丟包現(xiàn)象,通過查看message出現(xiàn)了下面的錯誤:
kernel:ip_conntrack:table full,dropping packet

解決的方法:

復制代碼
代碼如下:

顯示當前的會話數(shù):
cat /proc/net/ip_conntrack | wc -l
顯示系統(tǒng)目前配置的最大 conntrack 數(shù):
cat /proc/sys/net/ipv4/ip_conntrack_max
# 一旦前者的數(shù)字大于后者時,系統(tǒng)就報錯,解決辦法:
echo “” > /proc/sys/net/ipv4/ip_conntrack_max
# 然后寫入
/etc/sysctl.conf
net.ipv4.ip_conntrack_max =


有兩點我們要注意.

-conntrack最大數(shù)量.叫做conntrack_max
-存儲這些conntrack的hash表的大小,叫做hashsize
當conntrack入口數(shù)大于conntrack_max時,在hash表中每一個conntrack list中的存儲的入口將不可控.(conntrack_mark/hashsize 為每個list所能存儲的入口的數(shù)量)
hash表存在于固定的的不可swap的內(nèi)存中. conntrack_mark決定占用多少這些不可swap的內(nèi)存.
缺省的hashsize
——————————–
conntrack_max=hashsize*8
i386中 hashsize=conntrack_max/8=ramsize(in bytes)/131072=ramsize(in MegaBytes)*8.
所以32位pc,512M內(nèi)存可以存512*1024^2/128/1024=512*8=4096(連接池list)
但是正確的算法是:
hashsize=conntrack_max/8=ramsize(in bytes)/131072/(x/32)
x表示使用的指針類型是(32位還是64的)
—————————-\
讀取conntrack_max值
2.4內(nèi)核
cat /proc/sys/net/ipv4/ip_conntrack_max
2.6內(nèi)核
cat /proc/sys/net/ipv4/netfilter/ip_conntrack_max

讀取hashsize值
cat /proc/sys/net/ipv4/netfilter/ip_conntrack_buckets
——————————
你可修改這兩個值以適應高負載的netfilter的應用
系統(tǒng)默認為conntrack_max:hashsize是8:1,你可以設(shè)成1:1以提高性能.
————————-
設(shè)置conntrack_max
echo $CONNTRACK_MAX > /proc/sys/net/ipv4/ip_conntrack_max
設(shè)置hashsize
如果(netfilter conntrack靜態(tài)編譯在內(nèi)核中),2.4中可以在編譯時設(shè)置,2.6可以在啟動中(boot時)加入ip_conntrack.hashsize=$hashsize
如果為modules,則可以使用 modprobe ip_conntrack hashsize=$hashsize
#####################################
實踐過方法:
Vi /etc/modprobe.conf
添加:
options ip_conntrack hashsize=524288

vi /etc/sysctl.conf
net.ipv4.netfilter.ip_conntrack_max = 524288 (根據(jù)自己的物理內(nèi)存算出來的)
net.ipv4.netfilter.ip_conntrack_tcp_timeout_established = 180
##########################################
————————–
conntrack使用的內(nèi)存計算
size_of_mem_used_by_conntrack (in bytes) =
CONNTRACK_MAX * sizeof(struct ip_conntrack) +
HASHSIZE * sizeof(struct list_head)
其中sizeof(struct ip_conntrack)大概在192-352字節(jié)之間.
sizeof(struct list_head) = 2 * size_of_a_pointer(i386中為4字節(jié))
一個例子512m內(nèi)存,使用384m來用于conntrack則
384*1024*1024/(352+8)(使用它是保守計算) =~1143901 (此為conntrack:hashszie為1:1,352為sizeof(ip_conntrack),8為sizeof(list_head).
由于hash最好設(shè)為2的乘方的數(shù),所以為1048576(2^20).
———————
附相關(guān)設(shè)置及命令:
ip_conntrack timeout 原值432000秒(5天)
可改為10小時,echo “600″ > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_established
ip_conntrack buffer使用情況
grep conn /proc/slabinfo
例ip_conntrack 188069 229570 336 11 1 : tunables 54 27 8 : slabdata 20870

相關(guān)修改:
echo “1024 65000″ > /proc/sys/net/ipv4/ip_local_port_range
echo “100 1200 128 512 15 5000 500 1884 2″>/proc/sys/vm/bdflush
echo “1″ > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
echo “1″ > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
echo “1048576″ > /proc/sys/net/ipv4/netfilter/ip_conntrack_max
echo “1″ > /proc/sys/net/ipv4/ip_forward
echo “268435456″ >/proc/sys/kernel/shmall
echo “536870912″ >/proc/sys/kernel/shmmax
echo “600″ > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_established
echo “1024″ > /proc/sys/net/ipv4/neigh/default/gc_thresh1
echo “2048″ > /proc/sys/net/ipv4/neigh/default/gc_thresh2
echo “4096″ > /proc/sys/net/ipv4/neigh/default/gc_thresh3
echo “52428800″ > /proc/sys/net/ipv4/route/max_size
echo “1″ > /proc/sys/net/ipv4/conf/all/proxy_arp
echo “1″ > /proc/sys/net/ipv4/tcp_window_scaling

相關(guān)文章

  • linux防火墻iptables詳細教程

    2.1 框架圖 -->PREROUTING-->[ROUTE]-->FORWARD-->POSTROUTING--> mangle | mangle ^ mangle nat | &
    2008-09-08
  • centOS防火墻iptables的設(shè)置教程

    iptables是Linux上常用的防火墻軟件,下面說一下iptables的安裝、清除iptables規(guī)則、iptables只開放指定端口、iptables屏蔽指定ip、ip段及解封、刪除已添加的iptables規(guī)則
    2012-12-24
  • LINUX下防火墻iptables的日志管理

    iptables的日志(log)由syslogd紀錄和管理。初始存放在 /var/log/messages里面。自動采取循環(huán)紀錄(rotation)的方式記錄。但是由于混在 messages中,對于管理和監(jiān)視產(chǎn)生
    2008-09-08
  • linux設(shè)置iptables防火墻的詳細步驟(centos防火墻設(shè)置方法)

    這篇文章主要介紹了linux設(shè)置iptables防火墻的詳細步驟,這里以centos防火墻設(shè)置為例,需要的朋友可以參考下
    2014-05-05
  • CentOS7系統(tǒng)進行IP和主機名的網(wǎng)絡配置的過程圖解

    有不少用戶不知道怎么對CentOS7進行安裝和配置,主要是因為CentOS7的主機名和IP等相關(guān)網(wǎng)絡配置跟之前的版本有些不同,下面針對CentOS7系統(tǒng)怎么進行IP和主機名網(wǎng)絡配置進行
    2015-05-27
  • Linux centos系統(tǒng)的IP設(shè)置配置方法

    Linux centos已被廣泛應用但是也在不斷的更新,這里介紹Linux centos安裝設(shè)置使用,幫助大家安裝更新Linux centos系統(tǒng)手動配置Linux centos的IP地址
    2010-09-22
  • apache如何禁止使用IP訪問

    用apache搭建的WEB服務器,如何讓網(wǎng)友只能通過設(shè)定的域名訪問,而不能直接通過服務器的IP地址訪問呢,有兩個方法可以實現(xiàn)(僅限于我知道的,當然肯定還會有其他方法可以實
    2008-09-08
  • 在CentOS系統(tǒng)上安裝Eclipse的教程

    這篇文章主要介紹了在CentOS系統(tǒng)上安裝Eclipse的教程,Eclipse是被廣大開發(fā)者熟知的擁有多種編程語言開發(fā)插件的IDE,需要的朋友可以參考下
    2015-06-14
  • Centos設(shè)置靜態(tài)IP及修改Centos配置文件的方法

    Centos設(shè)置IP完成后,重啟一下網(wǎng)卡就可以了:service network restart 我們還有一個辦法可以實現(xiàn)Centos設(shè)置靜態(tài)IP,那就是通過 ifconfig 這個命令
    2013-06-18
  • 詳解CentOS 加一個額外的IP地址

    本文為大家詳細的介紹如何在同一個network interface加一個額外的IP地址,不同的版本有不一樣的方法,這里使用的是使用的CENTOS版本是CentOS 7
    2016-11-17

最新評論