मैं कर्नेल को पुनः प्राप्त किए बिना CentOS 5.3 में nf_conntrack कर्नेल मॉड्यूल को कैसे अक्षम कर सकता हूं


10

मैं CentOS 5.3 चला रहा हूं और haproxy के नेटवर्क प्रदर्शन को बेहतर बनाने के लिए nf_conntrack मॉड्यूल को अक्षम करना चाहता हूं। मैं कुछ सरल नियमों के साथ iptables चला रहा हूं। मुझे वास्तव में कनेक्शन ट्रैकिंग की आवश्यकता नहीं है।

मैं रैकस्पेस क्लाउड सर्वर पर चल रहा हूं, इसलिए मैं एक कस्टम कर्नेल नहीं चला सकता। मैं modprobe चलाने की कोशिश की है, लेकिन यह काम नहीं करता है।

[mmarano@w1 w1]$ sudo modprobe -n -r nf_conntrack
FATAL: Module nf_conntrack is in use.

[mmarano@w1 w1]$ uname -a
Linux w1.somewhere.com 2.6.24-23-xen #1 SMP Mon Jan 26 03:09:12 UTC 2009 x86_64 x86_64 x86_64 GNU/Linux
[mmarano@w1 w1]$ cat /etc/redhat-release 
CentOS release 5.3 (Final)

मैं इसे बाहर रगड़ने के बाद iptables चलाना जारी रखना चाहता हूं, इसलिए मैं नेटफिल्टर्स के सभी को खोद नहीं सकता। किसी के पास कोई विचार है?

जवाबों:


16
  1. iptables में राज्य मॉड्यूल के किसी भी संदर्भ को हटा दें। इसलिए, कोई नियम नहीं

    -एक INMUT राज्य - संबंधित संबंधित, स्थापित -j ACCEPT

    राज्य मॉड्यूल को nf_conntrack (ip_conntrack) मॉड्यूल की आवश्यकता होती है

  2. निम्न पंक्ति (यदि यह मौजूद है) / etc / sysconfig / iptables-config में निकालें

    IPTABLES_MODULES = "ip_conntrack_netbios_ns"

    उस मॉड्यूल के लिए ip_conntrack की आवश्यकता होती है जिसे हम खोदने की कोशिश कर रहे हैं।

  3. अपने राज्य के नियमों के बिना iptables फिर से लोड करें।

    sudo iptables -F

    # अपने वास्तविक नियम जोड़ें

  4. मॉड्यूल ड्रॉप करें। मुझे उपयोग करना था:

    sudo modprobe -r xt_NOTRACK nf_conntrack_netbios_ns nf_conntrack_ipv4 xt_state

    sudo modprobe -r nf_conntrack

  5. पुष्टि करें कि आपके पास / proc / net / nf_conntrack का संदर्भ नहीं है


1
विशाल मेलिंग सूची पर भयानक मदद के लिए, हाईप्रो के निर्माता विली तरारेऊ का बहुत बहुत धन्यवाद!
user22277

क्या किसी को पता है कि आप चरण 4 को उल्टा कर देंगे यदि आपको आवश्यकता हो तो?
UpTheCric

जब मैं "modprobe -rf xt_state" और "modprobe -rf nf_conntrack_ipv6" कहता हूं तो यह "FATAL: मॉड्यूल xt_state उपयोग में है।" (सेंटो पर), मैं क्या कर सकता हूं?
दीप्ति

Ubuntu पर, मैं "iptables -F" और "modprobe -rf xt_state nf_conntrack_ipv4" बिना किसी त्रुटि के चला सकता हूं।
diyism

5
  • मॉड्यूल को जोड़ने के बारे में क्या /etc/modprobe.d/blacklist.conf?

  • आपने कोशिश की है:

    rmmod -f modulename
    

    हालांकि:

           -फ --फोर्स
              यह विकल्प बेहद खतरनाक हो सकता है: जब तक इसका कोई प्रभाव न हो
              CONFIG_MODULE_FORCE_UNLOAD कर्नेल संकलित होने पर सेट किया गया था।
              इस विकल्प के साथ, आप उपयोग किए जा रहे मॉड्यूल को हटा सकते हैं,
              या जिन्हें हटाने के लिए डिज़ाइन नहीं किया गया है, या जिन्हें चिह्नित किया गया है
              असुरक्षित (lsmod (8 देखें))।
    

4

यदि आप Haproxy चला रहे हैं, तो आपको पोर्ट 80 में कॉनट्रैक को अक्षम करने के लिए iptables में दो प्रकार के नियमों की आवश्यकता होती है: क्लाइंट से आपके बैलेंसर से कनेक्शन के लिए और अन्य आपके बैलेंसर से बैकएंड पर।

यहाँ एक मान्य उदाहरण है:

iptables -t raw -I PREROUTING -p tcp --dport 80 -j NOTRACK
iptables -t raw -I PREROUTING -p tcp  --sport 80 -j NOTRACK
iptables -t raw -I OUTPUT -p tcp --dport 80 -j NOTRACK
iptables -t raw -I OUTPUT -p tcp --sport 80 -j NOTRACK

0

जब मैं "modprobe -rf xt_state" और "modprobe -rf nf_conntrack_ipv6" कहता हूं तो यह "FATAL: मॉड्यूल xt_state उपयोग में है।" (सेंटो पर)।

"मॉड्यूल्ड" उपयोगी हो सकता है, यह किसी भी मॉड्यूल की उपयोग संख्या को कम कर सकता है: http://www2.informatik.uni-freiburg.de/~danlee/fun/modused/

कुंजी है: सेवा ip6tables बंद करो

और nf_conntrack, xt_state, iptable_nat, nf_nat, nf_conntrack_ipv4, nf_conntrack_ipv6 को /etc/modproc.d/blacklist.conf में जोड़ें

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.