Mengatasi error ip_conntrack: table full, dropping packet

Jika server dedicated atau colocation anda mendapatkan pesan error pada  /var/log/messages (syslog) sebagai berikut :

Apr 4 22:21:05 server kernel: printk: 4883 messages suppressed.
Apr 4 22:21:05 server kernel: ip_conntrack: table full, dropping packet.
Apr 4 22:21:10 server kernel: printk: 4654 messages suppressed.
Apr 4 22:21:10 server kernel: ip_conntrack: table full, dropping packet.
Apr 4 22:21:15 server kernel: printk: 3943 messages suppressed.
Apr 4 22:21:15 server kernel: ip_conntrack: table full, dropping packet.
Apr 4 22:21:20 server kernel: printk: 3392 messages suppressed.

Hal tersebut menandakan bahwa database ip_conntrack sudah tidak dapat menampung request yang dibutuhkan oleh server anda.  ip_conntrack adalah salah satu module dari iptables yang umum tersedia pada server berbasis linux yang berfungsi sebagai netfilter connection pada server anda. Jika maksimum koneksi pada database  ip_conntrack penuh maka server akan mengalami masalah tidak stabilnya pada koneksi keserver, baik dari sisi network maupuk akses service.

Untuk mengatasi hal diatas anda dapat coba ikuti langkah-langkah berikut :

==== CentOs 5 ====

* cek nilai default pada ip_conntrack_max server anda saat ini dengan command

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

sebagai contoh dari command diatas terlihat bahwa nilai default  ip_conntrack_max anda adalah 65536,sebelum melakukan penambahan kita akan coba cek terlebih dahulu total session yang aktif pada server saat ini :

– wc -l /proc/net/ip_conntrack

Jika sudah diketahui nilai yang dibutuhkan oleh server anda, barulah value  ip_conntrack_max dapat anda naikan sesuai kebutuhan server anda, misalnya saya akan menambahak value sebesar 1131072 maka pada centos 5 bisa menggunakan command : echo 1131072 > /proc/sys/net/ipv4/ip_conntrack_max

agar value yang ditambahkan tidak berubah setelah server direboot, maka bisa anda tambahkan pada /etc/sysctl.conf

– net.ipv4.netfilter.ip_conntrack_max=1131072

==== CentOs 6 ====

Pada centos 6.x anda dapat coba langkah-langkah berikut :

* Cek default value saat ini :

– sysctl net.nf_conntrack_max

* Panambahan valeu menjadi 100000

– sysctl -w net.nf_conntrack_max=100000

* Menampilkan jumlah session yang aktif saat ini

– wc -l /proc/net/nf_conntrack