İp_conntrack_max güvenli bir şekilde arttırılsın mı?


9

Günlüklerimde aşağıdakileri sık sık görüyorum:

kernel: ip_conntrack: tablo dolu, paket bırakılıyor.

Şu anda, ip_conntrack_max'ı 65536 (varsayılan, RHEL5) olarak ayarladım.

Bellek kullanımını akılda tutarak, bu değeri ne kadar güvenle artırabilirim? Bu kutuda 4GB koç var. Bu makinenin sunduğu işlevlerden biri, muhtemelen yüksek bağlantı sayılarını açıklayan statik bir içerik sunucusu olarak ve aynı zamanda önbellekleme için kullanılan OS belleğinin mümkün olduğunca fazla tutmak istediğim anlamına geliyor.

Ayrıca, aşağıdaki ikisi arasındaki fark nedir? / proc / sys / net / ipv4 / netfilter / ip_conntrack_max / proc / sys / net / ipv4 / ip_conntrack_max

Hangisini düzenlemeliyim?

Teşekkürler!

Yanıtlar:


9

İlk olarak kendinize bir soru sorun: Kurulumunuz bağlantı izleme gerektiriyor mu? Yalnızca bir sunucuysa ve güvenlik duvarı / NAT başka bir yerde yapılıyorsa, büyük olasılıkla bağlantıyı hep birlikte devre dışı bırakabilirsiniz.

İkinci olarak, bağlantı girişlerinizin anlamlı olup olmadığını kontrol edin. Bazı ağ veya güvenlik duvarı yanlış yapılandırması nedeniyle bazen bağlantı tabloları çöplerle doldurulur. Genellikle bunlar hiçbir zaman tam olarak kurulmamış bağlantılar için girişlerdir. Bu, örneğin sunucu gelen bağlantı SYN paketlerini aldığında olabilir, ancak sunucu yanıtları her zaman ağda bir yerde kaybolur.

Ben sadece bir 'ip_conntrack: tablo dolu' mesajları vardı ve hangi oldukça büyük ağlar (binlerce uç nokta) için NAT yapan yönlendiriciler yerine (yapılandırma sabitlemek yerine) ip_conntrack_max artış gerekli.

Kontrack'e ihtiyacınız olduğunu biliyorsanız ve gerçekten olduğundan daha büyük olması gerekiyorsa, daha fazla 'tablo dolu' mesajı alana kadar sayıyı artırın. Ve bellek kullanımını izleyin.

Bağlantı nesneleri için bellek ayırma ile ilgili bazı istatistikler / proc / slabinfo dosyasında bulunabilir.


6

"Netfilter" içeren yol, aynı ayara başvurmanın eski yoludur. Her iki dosyayı da düzenleyebilirsiniz.

# cat / proc / sys / net / ipv4 / ip_conntrack_max  
655360
# cat / proc / sys / net / ipv4 / netfilter / ip_conntrack_max
655360
# echo 655361> / proc / sys / net / ipv4 / ip_conntrack_max
# cat / proc / sys / net / ipv4 / netfilter / ip_conntrack_max
655361

Ubuntu 10.04 / 2.6.32-45 sunucusunda, sadece ipv4 / netfilter / ip_conntrack_max var
okwap

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.