Vsftpd के लिए निष्क्रिय मोड को कॉन्फ़िगर करने के लिए आपको vsftpd.conf में कुछ पैरामीटर सेट करने की आवश्यकता होती है।
pasv_enable=Yes
pasv_max_port=10100
pasv_min_port=10090
यह निष्क्रिय मोड को सक्षम करता है और डेटा कनेक्शन के लिए ग्यारह बंदरगाहों का उपयोग करने के लिए इसे प्रतिबंधित करता है। यह उपयोगी है क्योंकि आपको अपने फ़ायरवॉल पर इन पोर्ट को खोलने की आवश्यकता है।
iptables -I INPUT -p tcp --destination-port 10090:10100 -j ACCEPT
यदि यह परीक्षण करने के बाद सभी काम करते हैं तो अपने फ़ायरवॉल की स्थिति को बचाएं
service iptables save
जो /etc/sysconfig/iptables
फ़ाइल को अपडेट करेगा ।
ऐसा करने के लिए CentOS 7 में आपको नए फ़ायरवॉल का उपयोग करना है, न कि iptables:
अपने क्षेत्र का पता लगाएं:
# firewall-cmd --get-active-zones
public
interfaces: eth0
मेरा क्षेत्र 'सार्वजनिक' है, इसलिए मैंने अपना ज़ोन सार्वजनिक करने के लिए सेट किया है, पोर्ट रेंज जोड़ें, और उसके बाद हम पुनः लोड करते हैं:
# firewall-cmd --permanent --zone=public --add-port=10090-10100/tcp
# firewall-cmd --reload
जब आप संबंध बनाते हैं तो क्या होता है
आपका क्लाइंट पोर्ट 21 पर vsftpd सर्वर से कनेक्शन बनाता है।
ग्राहक यह बताने के लिए गंभीर है कि यह निर्दिष्ट पोर्ट से कनेक्ट करने के लिए कौन सा पोर्ट है।
क्लाइंट निर्दिष्ट पोर्ट पर डेटा कनेक्शन बनाता है और सत्र जारी रहता है।
यहां अलग-अलग ftp मोड्स की शानदार व्याख्या है।
max
पोर्ट कोmin
... के बाद क्यों रखा लेकिन इससे भी महत्वपूर्ण बात यह है कि यदि आप 10090 से 10100 तक पोर्ट खोलते हैं, तो यह 11 पोर्ट है और 10 नहीं जो आप कहते हैं।