مرکز آموزش

صفحه اصلی پورتال > مرکز آموزش > سرورهای مجازی > روش رفع مشکل سرورهای لینوکس Centos , iptables ip_conntrack: table full, dropping packet error


روش رفع مشکل سرورهای لینوکس Centos , iptables ip_conntrack: table full, dropping packet error




در برخی موارد پینگ سرور مجازی قطع می شود و تنها راه دسترسی به سرورمجازی و یا سرور اختصاصی از طریق کنسول می باشد. 
بعد از دسترسی به کنسول سرور در لاگ خطای زیر را خواهید دید : 

vim  /var/log/messages (syslog):
ip_conntrack: table full, dropping packet.

راه حل این مشکل این هست که احتمالا تنظیم جدول Iptable conntrack سرور شما برای تعداد کانکشنی و ترافیکی که دریافت می کنید مناسب نیست و تعداد کانکشن همزمانی که سرورتان می تواند دریافت کند کافی نیست.
شما می توانید به راحتی این محدودیت کانکشن ها را افزایش دهید. توجه داشته باشید که با افزایش تعداد کانکشن رم مصرفی از سخت افزارتان ( که swapable هم نیست ) در حدود 350 بایت بابت هرکانکشن بیشتر مصرف خواهد شد.

تنظیمات زیر در centos 5 دائمی نیستند و با هر ریبوت سرور به حالت 65000 پیش فرض تغییر می کنند و باید بعد از ریبوت مجدد تنظیم شوند و یا با استفاده از cron job و نوشتن یک shell script اتوماتیک فراخوانی اش کنید.


——————
CentOS 5 Solution:
——————

Increase your ip_conntrack_max value from the default of

cat /proc/sys/net/ipv4/ip_conntrack_max
65536

to:

cat /proc/sys/net/ipv4/ip_conntrack_max
1131072

Issue the command:

echo 1131072 > /proc/sys/net/ipv4/ip_conntrack_max

To check the number of current sessions open for this host:

wc -l /proc/net/ip_conntrack

——————
CentOS 6 Solution:
——————

To print current limit type:

# sysctl net.nf_conntrack_max

Output:

65536

To increase this limit to e.g. 100000, type:

# sysctl -w net.nf_conntrack_max=100000

To make this settings permanent add the following line to /etc/sysctl.conf file:

net.nf_conntrack_max = 100000

The following will tell you how many sessions are open right now:

# wc -l /proc/net/nf_conntrack




آیا این پاسخ مفید بود؟

افزودن به علاقه مندی ها افزودن به علاقه مندی ها    چاپ این مقاله چاپ این مقاله

خوانده شده
پهنای باند چیست ؟ (بازدید: 11901)

زبان: