2012-02-17 16 views
6

पर लागू नहीं किया गया है, मुझे इसके साथ जुड़े हजारों डिवाइसों के साथ एक नेट सेटअप मिला है। गेटवे के पास eth0 द्वारा प्रदान किया गया इंटरनेट है और लैन पक्ष के डिवाइस गेटवे पर eth1 से कनेक्ट होते हैं।ip_conntrack_tcp_timeout_established पूरे सबनेट

/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE 
/sbin/iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT 
/sbin/iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT 

eth1 इस प्रकार कॉन्फ़िगर किया गया है:

ip: 192.168.0.1 
subnet: 255.255.0.0 

ग्राहकों 192.168.255.254 के माध्यम से ips 192.168.0.2 आवंटित कर रहे हैं

मैं iptables के साथ निम्नलिखित सेटअप है।

/etc/sysctl.conf में मैं के लिए ip_conntrack_tcp_timeout_established

net.ipv4.netfilter.ip_conntrack_tcp_timeout_established=1200 
ग्राहक उपकरणों है कि इस प्रवेश द्वार से कनेक्ट मैं डिफ़ॉल्ट 5 दिन का समय समाप्त उपयोग नहीं कर सकते की संख्या की वजह से

निम्नलिखित सेटअप है।

ऐसा लगता है कि यह अच्छी तरह से काम करता है और 10000 से अधिक क्लाइंट डिवाइसों के साथ सेटअप का परीक्षण करता है।

हालांकि, जो मुद्दा मैं देख रहा हूं वह यह है कि टीसीपी स्थापित 1200 के टाइमआउट को केवल 192.168.0.2 के आईपी रेंज में 1 9 2.168.0.255 के माध्यम से लागू किया जा रहा है। 192.168.1.x में 1 9 2.168.1x के माध्यम से ips के साथ सभी डिवाइस अभी भी 5 दिन डिफ़ॉल्ट टाइमआउट का उपयोग कर रहे हैं।

यह/proc/net/ip_conntrack तालिका में बहुत से "स्थापित" कनेक्शन छोड़ रहा है और अंत में यह भर जाता है, भले ही उन्हें 20 मिनट के भीतर समय समाप्त हो, भले ही वे दिखा रहे हों कि वे 5 दिनों में टाइमआउट करेंगे ।

जाहिर है, मुझे कहीं एक सेटिंग याद आ रही है या कुछ गलत तरीके से कॉन्फ़िगर किया गया है।

कोई सुझाव?

धन्यवाद

+0

+1 एक अच्छे प्रश्न के लिए, लेकिन शायद सर्वरफॉल्ट.com –

+4

पर लोगों द्वारा बेहतर ढंग से संबोधित किया गया है अगर किसी और के पास एक समान समस्या है। मैंने मूल रूप से conntrack_tools इंस्टॉल किया और तालिका को रीसेट करने के लिए एक सूडो/usr/sbin/conntrack -F चलाया और उसके बाद सभी कनेक्शन 5 दिन के टाइमआउट के बजाय 1200s टाइमआउट का उपयोग शुरू करना प्रतीत होता था। –

उत्तर

3

@StephenHankinson उल्लेख के रूप में, sysctl चर बदल रहा है के समय में मौजूदा कनेक्शन (सीएफ conntrack -L) उनके समय समाप्ति रीसेट नहीं है। यह आमतौर पर एक समस्या नहीं होनी चाहिए, क्योंकि ये कनेक्शन अंततः समाप्त हो जाएंगे, लेकिन एनएफसीटी को conntrack -F का उपयोग करके सभी सीटी को भूलने के लिए मजबूर किया जा सकता है। ध्यान दें कि यह मौजूदा कनेक्शन को मार सकता है यदि आपका नियमसेट "नया" कनेक्शन टीसीपी एसवाईएन से शुरू नहीं करता है।

संबंधित मुद्दे