मैं IPv4- मैप्ड IPv6 को कैसे अक्षम करूं?


17

मेरे लिनक्स बॉक्स पर, मेरे पास विभिन्न डेमॉन हैं जो सभी IPv6- सक्षम इंटरफेस पर बाइंड कर सकते हैं ::। जब वे ऐसा करते हैं, तो लिनक्स IPv4 अनुरोधों को उस डेमन मैप पर भेजता है, उदाहरण के लिए ::ffff:198.51.100.37,।

इसके बजाय मैं चाहूंगा कि IPv4 कनेक्शन से इनकार कर दिया जाए और जब कोई डेमन बांधता है तो केवल IPv6 कनेक्शन स्वीकार किए जाते हैं ::। IPv4 कनेक्शन प्राप्त करने के लिए, मैं चाहता हूं कि डेमन को स्पष्ट 0.0.0.0रूप से (साथ ही ::) बांधना होगा ।

दूसरे शब्दों में, मैं विशेष रूप से IPv6 पर सेवा चलाना चाहता हूं, और IPv4 पर नहीं।

क्या इसको मदद देने का कोई तरीका है?

जवाबों:


22

यह net.ipv6.bindv6onlysysctl द्वारा नियंत्रित किया जाता है । निम्नलिखित को जोड़ें /etc/sysctl.confऔर sudo sysctl -pपरिवर्तन को प्रभावित करने के लिए चलाएं ।

net.ipv6.bindv6only=1

अनुप्रयोग भी स्पष्ट रूप से केवल IPv6 पते पर ही इसे विश्व स्तर पर बदलने के बजाय बाँध सकते हैं, उदाहरण के लिए, nginx के पास निर्देश का ipv6onlyविकल्प है listen। यह IPV6_V6ONLYविकल्प के अनुरूप है setsockopt()


सौभाग्य से मैंने पाया कि ऐप (इस मामले में, OpenSSH) पहले से ही सॉकेट पर IPV6_V6ONLY सेट ListenAddress ::कर रहा था जब मैंने सेट किया था तो मुझे sysctl का उपयोग करने का सहारा लेने की आवश्यकता नहीं थी (और सब कुछ पुन: कॉन्फ़िगर करके)।
माइकल हैम्पटन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.