सवाल आईपीटीबल्स केवल लोकलहोस्ट एक्सेस की अनुमति देता है


Iptables पर ठोस समझ प्राप्त करने के लिए मैंने पूरे वर्षों में संघर्ष किया है। जब भी मैं मैन पेजों के माध्यम से कोशिश करता हूं और पढ़ता हूं, मेरी आंखें चमकने लगती हैं।

मेरे पास एक सेवा है जो मैं केवल लोकहोस्ट तक पहुंचने की अनुमति देना चाहता हूं।

क्या शर्तें (या कॉन्फ़िगरेशन, अगर कोई उदार महसूस कर रहा है) क्या मुझे Google को केवल स्थानीयहोस्ट होस्ट को किसी दिए गए पोर्ट तक पहुंचने की अनुमति देना चाहिए?


48
2018-03-14 14:37


मूल


यह सेवा किस पोर्ट पर चल रही है? - Bart De Vos
44344, यह एक घर में लिखी एक सेवा है - iptablessuck
मैं अस्थायी रूप से 'iptablesrules' के लिए अपना निक बदलना चाहता हूं लेकिन मैं नहीं कर सकता - Art Shayderov
@Art, वे केवल चूसते हैं क्योंकि मैं उन्हें समझ नहीं आता :) - iptablessuck
@iptablessuck वास्तव में ऐसा लगता है कि मैं कर सकता हूं। लेकिन मैं नहीं करूँगा मुझे यकीन नहीं है कि मैं इसे वापस बदलने में सक्षम हूं :) - Art Shayderov


जवाब:


यदि सेवा से आप एक विशिष्ट बंदरगाह का मतलब है, तो निम्नलिखित दो पंक्तियों को काम करना चाहिए। आप जिस भी पोर्ट को प्रतिबंधित करने का प्रयास कर रहे हैं उसे "25" बदलें।

iptables -A INPUT -p tcp -s localhost --dport 25 -j ACCEPT
iptables -A INPUT -p tcp --dport 25 -j DROP

57
2018-03-14 14:47



"लोकहोस्ट से पोर्ट 25 तक आने वाली कुछ भी, स्वीकार करें" और दूसरा नियम कहता है "पोर्ट 25 में आने वाली कुछ भी ड्रॉप करें"। पहली पंक्ति को पहले संसाधित किया जाता है, जो स्थानीयहोस्ट को अनुमति देता है, और दूसरी पंक्ति दूसरी चीज से गिरा दी जाएगी। हाँ? - iptablessuck
यह सही है! - Hyppy
@ हाइपपी, आप इसे "पूर्ववत" कैसे करेंगे? - tester
@tester उन आदेशों को दोबारा टाइप करें, लेकिन प्रतिस्थापित करें -A साथ में -D - pepoluan
परिवर्तनों को सहेजने के लिए @Astronaut प्रकार 'सुडो सेवा iptables' सहेजें। फिर रीबूट करें। आप जांच सकते हैं कि 'सूडो iptables -L' टाइप करके परिवर्तन सहेजे गए थे या नहीं - Vinayak


मैं अनुशंसा करता हूं:

iptables -A INPUT -i lo -p tcp --dport $APP_PORT -j ACCEPT
iptables -A INPUT -p tcp --dport $APP_PORT -j DROP

चूंकि, स्वयं-संबोधित पैकेट के पास 127.0.0.1 के स्रोत के रूप में आवश्यक नहीं है, लेकिन वे सभी 'प्रवेश' से हैं lo इंटरफेस।

अब, अगर आप वास्तव में समझना चाहते हैं iptables सबसे पहले आपको करना चाहिए कि संबंधों को समझाते हुए अच्छे आरेखों को डाउनलोड और प्रिंट करना है netfilter टेबल। यहां दो महान हैं:

अंत में, बहुत कुछ पढ़ें iptables कैसे tos। व्यावहारिक उदाहरण आपको वास्तविक गति को तेज करने में मदद करेंगे :)


26
2018-03-14 16:43



Ty! lo इस लिंक का अंतिम आदेश के साथ इन आदेशों का उपयोग करने के बाद मेरे लिए दिखाया गया है cyberciti.biz/faq/howto-display-linux-iptables-loaded-rules  iptables -L -v -n --line-numbers
@Gracchus मुझे उपयोग करना बहुत आसान लगता है iptables-save , आउटपुट को एक फाइल में सेव करें, इसे संपादित करें vim या emacs, और संपादित फ़ाइल का उपयोग कर पुनः आयात करें iptables-apply - pepoluan
मुझे लगता है कि उपयोग के मामले के आधार पर, दूसरे नियम को चुपचाप छोड़ने के बजाय स्पष्ट रूप से अस्वीकार करना चाहिए। क्या यह चुपचाप एक सर्वोत्तम अभ्यास के रूप में गिरा दिया गया है? उपयोग करने के लिए सुरक्षित सुरक्षित है? - Mr. Doomsbuster
@ तकनीक-समर्थक हां, उपयोग करने के लिए अस्वीकृति सुरक्षित है। यह इस बात पर निर्भर करता है कि आप क्या हासिल करने की कोशिश कर रहे हैं और क्या आप बंदरगाह का उपयोग करने वाले लोगों के लिए विनम्र होना चाहते हैं। अस्वीकृति एक टीसीपी आरएसटी पैकेट वापस क्लाइंट को बताएगी कि मशीन ऊपर है लेकिन बंदरगाह बंद है। यदि आप एक बंदरगाह बंद कर रहे हैं जो लोग वैध रूप से उपयोग करने की उम्मीद कर सकते हैं, तो अस्वीकृति अच्छी है। यदि आप केवल पोर्ट स्कैनर की अपेक्षा करते हैं तो डीआरओपी बेहतर है। - Law29
मेरे पास पोर्ट पर चलने वाला एक वेब सर्वर था जिसे मैं केवल स्थानीय होस्ट के माध्यम से एक्सेस करना चाहता हूं। दूसरे में ब्राउज़र से उपयोग करने वाले किसी व्यक्ति को तत्काल इनकार करने के लिए मैंने सोचा कि अस्वीकृति बेहतर हो सकती है। यदि यह गिरा दिया गया है तो ब्राउजर टाइमआउट होने तक लटकता है। इस उपयोग के मामले में अस्वीकार कर दिया है? - Mr. Doomsbuster