Net.netfilter.nf_conntrack_buckets सेट करने के लिए सही जगह कहाँ है?


12

मैं वर्तमान में net.netfilter.nf_conntrack_buckets को बूट पर सेट करने का प्रयास कर रहा हूं। मैंने शुरू में यह मान लिया था कि यह sysctl.conf के माध्यम से किया जा सकता है, लेकिन net.netfilter.nf_conntrack_buckets (और अन्य net.netfilter कॉन्फ़िगरेशन) बिल्कुल भी लागू नहीं किए गए थे। Sysctl -p को rc.local में जोड़कर net.netfilter.nf_conntrack_buckets के अपवाद के साथ सभी net.netfilter कॉन्फ़िगरेशन को लागू करने की अनुमति दी गई। मैं यह भी नोट करूँगा कि टर्मिनल से इसे सेट करने की कोशिश में sysctl -w परिणामों का उपयोग करके 'त्रुटि: अनुमति से इनकार किया गया है' net.netfilter.nf_conntrack_buckets '

# This should be applied at boot
net.netfilter.nf_conntrack_max=1966080
net.netfilter.nf_conntrack_buckets=245760

ऐसा करने के लिए सही जगह कहां है?

जवाबों:


11

मुझे लगता है कि sysctl पैरामीटर केवल देखने के लिए है। आप /sys/module/nf_conntrack/parameters/hashsizeरनटाइम परिवर्तनों के लिए इंटरफ़ेस का उपयोग करना चाहते हैं, और hashsizeप्रारंभिक मॉड्यूल लोड के दौरान इसे सेट करने के लिए मॉड्यूल विकल्प।

आप एक /etc/modprobe.d/फ़ाइल में एक प्रविष्टि चाहते हैं जो कुछ इस तरह दिखे:

options nf_conntrack hashsize=XXXXX


मैंने देखा है कि यदि आपने हैशटैज को / sys / मॉड्यूल / nf_conntrack / पैरामीटर के माध्यम से सेट किया है / net.netfilter.nf_conntrack_buckets sysctl को अपडेट नहीं किया है, जबकि आप इसे modprobe के माध्यम से करते हैं और फिर इसे बदल दिया जाता है। क्या इसका मतलब यह है कि पहली विधि के माध्यम से मूल्य को बदलना पूरी तरह से नए मूल्य को लागू नहीं करता है?
andresp

5

एंड्रयू बी के जवाब के आगे:

किसी कारण के लिए, आरएचईएल प्रलेखन एक निष्पादन योग्य शेल स्क्रिप्ट लगाने की सलाह देता है , जिसके बजाय nf_conntrack_hashsize.modulesविस्तार जैसा नाम होता है /etc/sysconfig/modules। मुझे कोई जानकारी नहीं है की क्यों। सामग्री की तरह दिखेगा:

#!/bin/sh
exec /sbin/modprobe nf_conntrack hashsize=262144

अगर आप अतिरिक्त मॉड्यूल लोड करना चाहते हैं जो अन्यथा लोड नहीं किया गया है तो इस तरह की जरूरत है। [उद्धरण] आप एक नया <file_name> .modules [/ उद्धरण] बनाकर लोड किए जाने वाले अतिरिक्त मॉड्यूल को निर्दिष्ट कर सकते हैं
१६

1

उदाहरण के लिए, आपको लोकलहोस्ट /etc/modprobe.d/ निर्देशिका के नाम से एक फ़ाइल डालनी होगी।

इस फ़ाइल के अंदर, इन पंक्तियों को जोड़ें (मान एक उदाहरण है):

options nf_conntrack hashsize=333333

और अब, अधिक त्वरित समाधान एक पुनरारंभ है, दूसरा विकल्प nf_conntrack कर्नेल मॉड्यूल को फिर से लोड करने का प्रयास करना है, जो थोड़ा मुश्किल है क्योंकि यह दूसरों के साथ चल रहे मॉड्यूल से जुड़ा हुआ है।

परिणाम की जाँच करें:

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