फ़ायरवॉल सक्षम के साथ लिनक्स क्लाइंट पीसी से एफ़टीपी एक्सेस को ठीक करें
आज, मैं अपने व्यक्तिगत अनुभव को लिनक्स में एफ़टीपी एक्सेस के साथ साझा करना चाहता हूं। माइक्रोसॉफ्ट के नए ऑपरेटिंग सिस्टम के लिए धन्यवाद, जो मुझे दैनिक उपयोग के लिए उपयुक्त नहीं लगता, मैंने कुछ साल पहले लिनक्स पर स्विच किया था। मैं अपने होम नेटवर्क में एक FTP सर्वर चला रहा हूं, और मैं अपने क्लाइंट पीसी से इसे एक्सेस करने में सक्षम नहीं था लिनक्स जिसमें इनबाउंड कनेक्शन को ब्लॉक करने के लिए फ़ायरवॉल नियम हैं, यानी INPUT नीति को REJECT में सेट किया गया है आईपीटेबल्स यहां बताया गया है कि मैंने इस मुद्दे को कैसे ठीक किया।
मैं मान रहा हूँ कि OUTPUT नीति क्लाइंट और सर्वर मशीनों दोनों पर स्वीकार है।
समाधान # 1। कर्नेल मॉड्यूल का उपयोग करें nf_conntrack_ftp
कर्नेल मॉड्यूल nf_conntrack_ftp आपको हर बार कनेक्शन बनाने पर स्वचालित रूप से FTP सर्वर के लिए आवश्यक पोर्ट तक पहुंच को अनब्लॉक करने की अनुमति देता है। इस मॉड्यूल के लिए एकमात्र आवश्यकता क्लाइंट पीसी पर आपके iptables नियमों (आमतौर पर यह /etc/iptables/iptables.rules) में निम्नलिखित पंक्ति है:
$IPT -A IPT -i eth0 -m State --state संबंधित, स्थापित -j स्वीकार करें
आपके नेटवर्क डिवाइस का नाम eth0 है।
अगला, आपको nf_conntrack_ftp लोड करने की आवश्यकता है यदि यह लोड नहीं है। क्लाइंट पीसी पर रूट के रूप में निम्न कमांड चलाएँ
# modprobe nf_conntrack_ftp
यदि आपका सर्वर कुछ गैर-डिफ़ॉल्ट पोर्ट (पोर्ट 21 के अलावा) का उपयोग कर रहा है, तो निम्न कमांड का उपयोग करें:
# modprobe nf_conntrack_ftp पोर्ट = your_port
यह FTP सर्वर और आपके क्लाइंट सॉफ़्टवेयर के बीच सभी आवश्यक पोर्ट के साथ एक स्वचालित कनेक्शन प्रदान करेगा। यह तब तक काम करता है जब तक आप अपने पीसी को रिबूट नहीं करते।
इस परिवर्तन को स्थायी बनाने के लिए, आपको एक नई टेक्स्ट फ़ाइल, /etc/modules-load.d/conntrack_ftp.conf बनाने और इस फ़ाइल में निम्न पंक्ति जोड़ने की आवश्यकता है:
nf_conntrack_ftp
गैर-डिफ़ॉल्ट सर्वर पोर्ट के मामले में, आपको निम्नलिखित सामग्री के साथ एक अतिरिक्त फ़ाइल /etc/modprobe.d/conntrack_ftp.conf बनाने की आवश्यकता है:
विकल्प nf_conntrack_ftp पोर्ट =
यह पर्याप्त होना चाहिए।
समाधान # 2। एक निश्चित निष्क्रिय पोर्ट श्रेणी का उपयोग करें
यदि आप nf_conntrack_ftp मॉड्यूल का उपयोग नहीं कर सकते हैं, तो आप FTP सर्वर सॉफ़्टवेयर के लिए एक निश्चित पोर्ट श्रेणी सेट कर सकते हैं और इसे क्लाइंट पीसी पर खोल सकते हैं। उदाहरण के लिए, यह कैसे vsftpd ऐप के लिए किया जा सकता है।
- Vsftpd की कॉन्फ़िगरेशन फ़ाइल में, जो आमतौर पर /etc/vsftpd.conf है, निम्नलिखित पंक्तियाँ जोड़ें:
पासव_मिन_पोर्ट=5500. पासव_मैक्स_पोर्ट=6500
यह सर्वर साइड पर किया जाना चाहिए। उसके बाद आपको vsftpd को रीस्टार्ट करना चाहिए।
- क्लाइंट पीसी पर आपके iptables नियमों (आमतौर पर यह /etc/iptables/iptables.rules) में निम्नलिखित नियम जोड़ें:
$आईपीटी-ए इनपुट-पी टीसीपी-एस
--dport 5500:6500 -j स्वीकार करें - निम्नानुसार iptables नियम लागू करें:
# iptables-restore
बस, इतना ही।