लिनक्स एपर्मेरल पोर्ट रेंज को बदलना कितना सुरक्षित है


14

मैं अपने लिनक्स बॉक्स पर निम्नलिखित पंचांग पोर्ट रेंज देखता हूं।

sysctl net.ipv4.ip_local_port_range
net.ipv4.ip_local_port_range = 32768    61000

मैं 16000 के आसपास से शुरू करने के लिए पोर्ट रेंज का विस्तार करना चाहता हूं। यहां एक त्वरित प्रश्न यह है कि रेंज को अन्य अनुप्रयोगों के संदर्भ में बदलना कितना सुरक्षित है? क्या अन्य अनुप्रयोग इस परिवर्तन से प्रभावित होंगे? मैं समझता हूं कि कोई एप्लिकेशन तभी प्रभावित होती है जब वह निर्दिष्ट पोर्ट रेंज में पोर्ट (एस) का उपयोग कर रही हो। लेकिन सामान्य तौर पर, इस तरह के मुद्दों से कैसे निपटा जाता है?


मुझे नहीं लगता कि अन्य अनुप्रयोगों पर कोई प्रभाव पड़ता है, लेकिन मुझे यकीन नहीं है। दिलचस्प सवाल।
ikrabbe

सही। यहां तक ​​कि मैंने कुछ अन्य दस्तावेज देखने की कोशिश की, और मुझे अन्य अनुप्रयोगों पर कोई प्रभाव नहीं मिला। निम्नलिखित दो लिंक कारण है कि मैं इस मुद्दे का सामना करना पड़ रहा था के कारण के उत्कृष्ट विवरण निम्न है: vincent.bernat.im/en/blog/2014-tcp-time-wait-state-linux.html ncftp.com/ncftpd/doc/misc /ephemeral_ports.html
अश्विन तुममा

@ikrabbe निश्चित रूप से अन्य अनुप्रयोगों पर इसका प्रभाव पड़ेगा, उदाहरण के लिए, यदि आपका ब्राउज़र किसी वेब साइट से संपर्क करने के लिए एक अल्पकालिक पोर्ट खोलता है, तो कोई व्यक्ति / चीज़ एक एप्लिकेशन को शुरू करने का प्रयास करता है, जो संयोग से उस पोर्ट का उपयोग करता है। आवेदन विफल हो जाएगा।
गोल्डीलॉक्स

3
पूर्णता के लिए, पोर्ट नंबर रेंज को संपादित करने के लिए सिंटैक्स निम्नानुसार है: $ sudo sysctl -w net.ipv4.ip_local_port_range = "15000 61000"
अश्विन तुममा

जवाबों:


10

यदि आप मेसो का उपयोग कर रहे हैं, तो अल्पकालिक पोर्ट रेंज को बदलने में समस्या आ सकती है ।

मेसोस विभिन्न मेसोस फ्रेमवर्क के लिए एक मेजबान के संसाधनों का विज्ञापन करता है जो तब विज्ञापित संसाधनों का उपयोग करने के लिए चुन सकते हैं। विज्ञापित संसाधनों में सीपीयू, मेमोरी, पोर्ट्स आदि शामिल हैं। मेसोस द्वारा विज्ञापित बंदरगाहों का डिफ़ॉल्ट सेट 31000-32000 है । यह 32768-61000 के डिफॉल्ट लिनक्स एपेमेरल पोर्ट रेंज के साथ टकराव से बचा जाता है ।

विशेष रूप से, मेसोस को इस बारे में नहीं पता है कि किसी पोर्ट का उपयोग किसी अन्य प्रक्रिया द्वारा किया जाता है, यह सिर्फ पोर्टों के असाइनमेंट को ऑर्केस्ट्रा ( मेसोस टास्क और मेसोस एक्जिक्यूटर्स ) को ट्रैक करता है । इसलिए यदि आप पंचांग पोर्ट रेंज को इस तरह बदलते हैं कि यह मेसोस पोर्ट रेंज के साथ ओवरलैप हो जाता है, तो संभावना है कि कुछ मनमानी प्रक्रिया एक एपीमेरल पोर्ट का उपयोग करेगी जो वास्तव में उन "मेसोस पोर्ट" में से एक है। यह मेसोस को उस पोर्ट को मेसोस फ्रेमवर्क की पेशकश कर सकता है , जो इसके मेसोस एक्जिक्यूटर्स और / या मेसोस टास्क की बेतरतीब विफलताओं का सामना करेगा क्योंकि वे उस पोर्ट को बांधने में असमर्थ होंगे।

यदि आपको अपनी अल्पकालिक पोर्ट रेंज बढ़ाने की आवश्यकता है और मेसोस को चलाने की भी आवश्यकता है, तो आप विज्ञापित बंदरगाहों को mesos-slave(जल्द ही नाम बदलकर mesos-agent) कॉन्फ़िगरेशन पैरामीटर के माध्यम से संशोधित कर सकते हैं --resources


4

आप अपनी स्थानीय /etc/servicesफ़ाइल में उस श्रेणी में क्या है, यह देखकर संभावित रूप से प्रभावित सेवाओं की सूची प्राप्त कर सकते हैं :

awk '/^#/ { next } $2+0 >= 16000 && $2+0 < 32768 { print }' /etc/services

या आधिकारिक जगह पर:

wget http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.csv
awk -F, '$2+0 >= 16000 && $2+0 < 32768 { print }' service-names-port-numbers.csv

अजीब स्क्रिप्ट के लिए धन्यवाद, यह निश्चित रूप से उन बंदरगाहों की पहचान करने में मदद करता है जो सेवाओं में सूचीबद्ध हैं!
अश्विन तुममा
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.