आर्टिकल डाउनलोड करें आर्टिकल डाउनलोड करें

क्या आपको अपने लिनक्स सिस्टम पर इनबाउंड (inbound यानि इनकमिंग) या आउटबाउंड (outbound यानि आउटगोइंग) कनैक्शन को अनुमति देने की जरूरत है? अगर आप Iptables, Uncomplicated Firewall (UFW), या Firewalld के जैसे एक फायरवॉल सॉफ्टवेयर का इस्तेमाल कर रहे हैं, तो आप कमांड लाइन (command line) से ही आसानी से पोर्ट्स ओपन कर सकते हैं। ConfigServer Firewall (CSF) और Advanced Policy Firewall (ADP) जैसे प्रॉडक्ट के लिए, पोर्ट्स ओपन करने के लिए एक नियम शामिल करना, अपनी फायरवॉल कॉन्फ़िगरेशन फ़ाइल को एडिट करने जितना आसान है। इस विकिहाउ गाइड के जरिए आप Ubuntu, Debian, CentOS, Red Hat, Fedora, जैसे 5 सबसे कॉमन और बाकी अन्य Linux डिस्ट्रीब्यूशन के फायरवॉल के लिए पोर्ट्स खोलने और बंद करना सीखेंगे।

जानने योग्य आवश्यक बातें

  • आप किसी भी लिनक्स-बेस्ड फायरवॉल प्रॉडक्ट में बहुत आसानी से TCP और UDP पोर्ट्स ओपन कर सकते हैं।
  • Iptables अधिकांश लिनक्स डिस्ट्रीब्यूशन में पहले से इंस्टॉल होकर आता है और इसे कॉन्फ़िगर करना बहुत आसान है।
  • अगर आप Firewalld यूज कर रहे हैं, तो firewall-cmd कमांड में --permanent फ्लैग एड करना सुनिश्चित करता है कि आपके द्वारा किए गए बदलाव, आपके फायरवॉल को स्टॉप और रिस्टार्ट करने के बाद भी चेंज नहीं होंगे।
विधि 1
विधि 1 का 5:

Iptables

आर्टिकल डाउनलोड करें
  1. अपने Linux सर्वर पर लॉगिन करें और एक Terminal विंडो ओपन करें: अधिकांश लिनक्स डिस्ट्रीब्यूशन, जिनमें Ubuntu, Debian, CentOS, Fedora, और Red Hat शामिल हैं, में IPtables पहले से इंस्टॉल होकर आता है। बहुत सिम्पल कमांड यूज करके, आप Iptables में पोर्ट्स ओपन कर सकते हैं।
  2. अपने फायरवॉल के एक्टिव होने की पुष्टि करने के लिए service iptables status रन करें: अगर फायरवॉल चालू नहीं है, तो service iptables start यूज करके उसे स्टार्ट करें।
  3. मौजूदा फायरवॉल रूल्स लिस्ट करने के लिए sudo iptables -L यूज करें: रूल्स चैन में टूटे हुए दिखेंगे:
    • INPUT चैन का उपयोग होस्ट सिस्टम में आने वाले कनेक्शन के लिए किया जाता है।
    • FORWARD चैन का उपयोग रूटिंग के लिए किया जाता है।
    • OUTPUT चैन का उपयोग होस्ट सिस्टम से निकलकर जाने वाले आउटगोइंग डेटा के लिए किया जाता है।
    • हर एक चैन की एक पॉलिसी होती है जो परिभाषित करती है कि पैकेट (डेटा पैकेट) के साथ क्या करना है। पोर्ट खोलते समय आपको इस चैन को स्पेसिफ़ाई करना होगा। उदाहरण के लिए, इनकमिंग SSH कनेक्शन खोलने के लिए, INPUT चेन का उपयोग करें।
  4. एक पोर्ट ओपन करने के लिए sudo iptables -I INPUT -p tcp -m tcp --dport 22 -j ACCEPT यूज करें: इस उदाहरण में हम पोर्ट 22 के लिए एक इनकमिंग कनेक्शन खोल रहे हैं, लेकिन आप 22 को किसी भी पोर्ट से बदल सकते हैं जिसे आप खोलना चाहते हैं।
    • अगर आप एक आउटबाउंड पोर्ट ओपन कर रहे हैं, तो INPUT को OUTPUT से बदल दें।
    • अगर एक UDP पोर्ट ओपन कर रहे हैं, tcp को udp से रिप्लेस करें।
    • केवल एक विशेष IP एड्रेस या सबनेट के लिए पोर्ट ओपन करने के लिए, sudo iptables -I INPUT -s xxx.xxx.xxx.xxx -p tcp -m tcp --dport 22 -j ACCEPT यूज करें।
  5. अपने बदलावों को सेव करने के लिए sudo service iptables save यूज करें: अगर ये काम न करे, तो इनमें से कोई एक कमांड आज़माएँ:
    • Ubuntu और Debian के लिए sudo /sbin/iptables-save
    • CentOS, Red Hat, और Fedora के लिए /sbin/service iptables save
    • एक पोर्ट बंद करने के लिए, iptables -I INPUT -p tcp –-dport 22 -j REJECT यूज करें। "22" को उस पोर्ट से बदलें जिसे आप बंद करना चाहते हैं—और यदि आपके पास वर्तमान में आपके सर्वर से SSH कनेक्शन है, तो आपको निश्चित रूप से पोर्ट 22 को बंद नहीं करना है!
विधि 2
विधि 2 का 5:

Uncomplicated Firewall

आर्टिकल डाउनलोड करें
  1. UFW सभी उबुंटू सिस्टम पर पहले से इंस्टॉल आता है। यदि आप GUI इंटरफ़ेस में लॉग इन हैं, तो एक टर्मिनल विंडो खोलें।
  2. टाइप करें और Enter दबाएँ: यदि UFW पहले से रन हो रहा है, तो आपको एक स्टेटस मैसेज दिखाई देगा, साथ में पहले से मौजूद फायरवॉल रूल्स (ओपन पोर्ट्स भी शामिल हैं) की एक लिस्ट भी दिखेगी।
    • यदि आपको Status: inactive लिखा हुआ मैसेज दिखाई देता है, तो आपको फ़ायरवॉल को एनेबल करने की आवश्यकता है:
    • फ़ायरवॉल शुरू करने के लिए sudo ufw enable टाइप करें और Enter दबाएँ। [१]
    • फ़ायरवॉल लॉगिंग को चालू करने के लिए sudo ufw logging on यूज करें।
  3. उदाहरण के लिए, अगर आप SSH पोर्ट (22) ओपन करना चाहते हैं, तो आप kbd टाइप करेंगे और पोर्ट ओपन करने के लिए Enter दबाएँगे। चूंकि परिवर्तन तुरंत प्रभावी हो जाएंगे, इसलिए यहाँ फ़ायरवॉल को रिस्टार्ट करने की आवश्यकता नहीं होती है। [२]
    • यदि आप जिस पोर्ट को ओपन कर रहे हैं, वो /etc/services लिस्ट की गई किसी सर्विस के लिए है, तो फिर आप पोर्ट नंबर के बजाय उस सर्विस का नाम एंटर कर सकते हैं। उदाहरण के लिए: sudo ufw allow ssh
    • एक विशेष रेंज के पोर्ट्स को खोलने के लिए, सिंटेक्स sudo ufw allow 6000:6007/tcp यूज करें, यहाँ पर 6000:6007 को असली रेंज से बदल दें। अगर रेंज UDP पोर्ट्स हैं, तो tcp को udp से बदल दें।
    • उन IP एड्रेस को स्पेसिफ़ाई करने के लिए, जो पोर्ट को एक्सेस कर सकें, सिंटेक्स: sudo ufw allow from 10.0.0.1 to any port 22 का इस्तेमाल करें। यहाँ 10.0.0.1 को IP एड्रेस से रिप्लेस कर दें और 22 की जगह वो पोर्ट रखें, जिसे आप उस एड्रेस पर ओपन करना चाहते हैं।
    • पोर्ट को बंद करने के लिए sudo ufw deny 22 का उपयोग करें और 22 को उस पोर्ट से बदलें जिसे आप बंद करना चाहते हैं।
  4. पोर्ट जो विशेष रूप से खुले नहीं हैं, डिफ़ॉल्ट रूप से ब्लॉक किए होते हैं। यदि आपने एक पोर्ट खोला है और आप इसे बंद करना चाहते हैं, तो इन चरणों का पालन करें:
    • sudo ufw status numbered टाइप करें और Enter दबाएँ: ये सभी फायरवॉल रूल्स की एक लिस्ट डिस्प्ले करता है, जो कि हर एक लिस्ट में इसे रिप्रेजेंट करने वाले एक नंबर से शुरू होता है।
    • आप जिस नियम को हटाना चाहते हैं, उसकी शुरुआत में दिए नंबर की पहचान करें। उदाहरण के लिए, हो सकता है कि आप पोर्ट 22 को खोलने वाले नियम को हटाना चाहें (यदि आप वर्तमान में अपने सर्वर तक पहुँचने के लिए SSH का उपयोग करते हैं तो ऐसा न करें) और वो नियम लाइन नंबर 2 पर प्रदर्शित होता है।
    • लाइन 2 पर नियम को हटाने के लिए sudo ufw delete 2 टाइप करें और Enter दबाएँ।
विधि 3
विधि 3 का 5:

Firewalld

आर्टिकल डाउनलोड करें
  1. अगर आप अपने CentOS, Red Hat Enterprise, SUSE, या Fedora सिस्टम पर Firewalld यूज कर रहे हैं, तो आप बड़ी आसानी से कमांड लाइन से पोर्ट ओपन कर सकते हैं। Firewalld इन सभी डिस्ट्रीब्यूशन के लिए एक डिफ़ाल्ट फायरवॉल सलुशन है। [३]
  2. सारे ओपन पोर्ट्स को देखने के लिए firewall-cmd --list-ports रन करें: ये PUBLIC ज़ोन है
    • वैकल्पिक रूप से, आप sudo firewall-cmd --list-all रन करके पूरे firewalld कॉन्फ़िगरेशन को देख सकते और सभी अनुमति और अस्वीकृत पोर्ट्स और सर्विसेज को देख सकते हैं।
  3. इस उदाहरण में, हम दिखाएंगे कि रिमोट एक्सेस के लिए SSH पोर्ट (22) को कैसे खोला जाता है:
    • firewall-cmd --zone=public --add-port=22/tcp पोर्ट को तुरंत ओपन कर देगा, लेकिन बदलाव स्थायी नहीं होंगे।
    • परिवर्तन को स्थायी बनाने के लिए, कमांड: firewall-cmd --zone=public --permanent --add-port=22/tcp में --permanent फ्लैग एड करें। [४]
    • एक UDP पोर्ट ओपन करने के लिए, tcp को udp से बदल दें।
    • सर्विस नेम के जरिए पोर्ट ओपन करने के लिए, firewall-cmd --zone=public --permanent यूज करें।
  4. अगर आप केवल एक IP एड्रेस से या के लिए कनेक्शन की अनुमति देना चाहते हैं, तो आपको उस एड्रेस के लिए एक नया फ़ायरवॉल ज़ोन बनाने की आवश्यकता होगी।
    • एक नया ज़ोन बनाने के लिए, firewall-cmd --new-zone=MYZONENAME --permanent यूज करें।
    • फिर, अपने कॉन्फ़िगरेशन को रिफ्रेश करने के लिए firewall-cmd –reload रन करें।
    • अपने ज़ोन देखने के लिए firewall-cmd --get-zones रन करें और अब आपको एक नया ज़ोन दिखेगा।
    • ज़ोन से IP एड्रेस लिंक करने के लिए, firewall-cmd --zone=MYZONENAME --add-source=10.0.0.1 --permanent यूज करें। इस IP एड्रेस को उचित एड्रेस से बदल दें।
    • फिर, "public:" firewall-cmd --zone=MYZONENAME --permanent --add-port=22/tcp के बजाय ज़ोन नेम स्पेसिफ़ाई करके ज़ोन के लिए पोर्ट खोलें।
  5. अगर आपको एक पोर्ट को बंद करना है, तो आप firewall-cmd कमांड के साथ अलग-अलग फ्लैग इस्तेमाल करके ऐसा कर सकते हैं। इस उदाहरण में, हम पोर्ट 22 को पब्लिक के हमेशा के लिए बंद करेंगे: firewall-cmd --zone=public --remove-port=22/tcp --permanent [५]
विधि 4
विधि 4 का 5:

ConfigServer Firewall

आर्टिकल डाउनलोड करें
  1. अगर आप रूट उपयोगकर्ता (root user) के रूप में लॉग इन नहीं हैं, तो अपने कॉन्फ़िगरेशन को एडजस्ट करने के लिए आप su कर सकते हैं या कमांड की शुरुआत sudo के साथ कर सकते हैं।
  2. उस डाइरैक्टरी में जाएँ, जिसमें आपकी CSF config फ़ाइल है: फ़ाइल का नाम csf.conf होगा और इसे बाई डिफ़ाल्ट /etc/csf/csf.conf में सेव किया गया होगा। [६] ऐसा करने के लिए, cd /etc/csf टाइप करें और Enter दबाएँ।
  3. आप चाहें तो अपनी पसंद के किसी भी टेक्स्ट एडिटर, जैसे कि vim या nano का इस्तेमाल कर सकते हैं।
    • csf.conf को vim में ओपन करने के लिए, vim csf.config टाइप करें और Enter दबाएँ।
  4. लिस्ट में इनकमिंग TCP पोर्ट एड करें: जब आप फ़ाइल ओपन करें, आपको TCP_IN और TCP_OUT सेक्शन दिखाई देंगे। TCP_IN सेक्शन में कॉमा के जरिए अलग की गई खुले TCP इनबाउंड पोर्ट की लिस्ट होगी। चीजों को आसान करने के लिए, पोर्ट्स न्यूमेरिकल ऑर्डर में लिस्ट किए होते हैं, लेकिन आपको इस क्रम का पालन करने की आवश्यकता नहीं है। आप केवल कॉमा से अलग करते हुए, पोर्ट्स को सीक्वेंस के आखिर में शामिल कर सकते हैं।
    • उदाहरण के लिए, यदि आप पोर्ट 999 खोलना चाहते हैं, और वर्तमान में खुले पोर्ट 20, 21, 22, 25, 53, 80, 110, 143, 443, 465, 587, 993, 995 हैं।
    • लिस्ट में पोर्ट 999 जोड़ने के बाद, ये इस तरह दिखाई देगा: 20, 21, 22, 25, 53, 80, 110, 143, 443, 465, 587, 993, 995, 999
    • vim में इन्सर्ट/टाइप करने के मोड में जाने के लिए कीबोर्ड पर i बटन दबाएँ।
  5. लिस्ट में आउटगोइंग TCP को अनुमति दें: ठीक जैसा आपने इनकमिंग पोर्ट के साथ किया था, अब आप जिस भी आउटबाउंड TCP पोर्ट को ओपन करना चाहते हैं, उसे TCP_OUT लिस्ट में एड करें।
  6. फ़ाइल को सेव करने और एक्ज़िट करने के लिए इन स्टेप्स को फॉलो करें:
    • Esc बटन दबाएँ।
    • :wq! टाइप करें।
    • Enter दबाएँ।
  7. टाइप करें और Enter दबाएँ: ऐसा करने से फायरवॉल रिस्टार्ट हो जाती है और नए पोर्ट्स ओपन हो जाते हैं।
    • एक पोर्ट को अस्वीकार करने के लिए, फ़ाइल को फिर से ओपन करें, पोर्ट को डिलीट करें, फ़ाइल सेव करें और फिर फायरवॉल को रिस्टार्ट करें।
विधि 5
विधि 5 का 5:

एडवांस्ड पॉलिसी फायरवॉल (Advanced Policy Firewall)

आर्टिकल डाउनलोड करें
  1. यदि आप अपने Linux सिस्टम पर APF का उपयोग कर रहे हैं, तो APF कॉन्फ़िगरेशन फ़ाइल में फ़ायरवॉल कॉन्फ़िगरेशन बदलें।
  2. आप जिस फ़ाइल की तलाश कर रहे हैं, उसका नाम conf.apf होगा और वो बाई डिफ़ाल्ट /etc/apf में होगी। [७] उस डाइरैक्टरी में जाने के लिए cd /etc/apf टाइप करें।
  3. आप vim या nano के जैसे अपनी पसंद के किसी भी टेक्स्ट एडिटर का इस्तेमाल कर सकते हैं।
    • conf.apf को vim में ओपन करने के लिए, sudo vim /etc/apf/conf.apf टाइप करें और Enter दबाएँ।
  4. लिस्ट में इनकमिंग पोर्ट्स एड करें: फ़ाइल को ओपन करने के बाद, आपको IG_TCP_CPORTS और EG_TCP_CPORTS सेक्शन दिखाई देंगे। IG_TCP_CPORTS सेक्शन में कॉमा के जरिए अलग की गई खुले TCP इनबाउंड पोर्ट की लिस्ट होगी। चीजों को आसान करने के लिए, पोर्ट्स न्यूमेरिकल ऑर्डर में लिस्ट किए होते हैं, लेकिन आपको इस क्रम का पालन करने की आवश्यकता नहीं है। आप केवल कॉमा से अलग करते हुए, पोर्ट्स को सीक्वेंस के आखिर में शामिल कर सकते हैं।
    • उदाहरण के लिए, मान लेते हैं कि आप पोर्ट 999 खोलना चाहते हैं, और वर्तमान में खुले पोर्ट 20, 21, 22, 25, 53, 80, 110, 143, 443, 465, 587, 993, 995 हैं।
    • IG_TCP_CPORTS लिस्ट में पोर्ट 999 जोड़ने के बाद, ये इस तरह से दिखाई देगा: 20, 21, 22, 25, 53, 80, 110, 143, 443, 465, 587, 993, 995, 999
    • vim में इन्सर्ट/टाइप करने के मोड में जाने के लिए कीबोर्ड पर i बटन दबाएँ।
  5. लिस्ट में आउटगोइंग पोर्ट को अनुमति दें: ठीक जैसा आपने इनकमिंग पोर्ट के साथ किया था, अब आप जिस भी आउटबाउंड TCP पोर्ट को ओपन करना चाहते हैं, उसे EG_TCP_CPORTS लिस्ट में एड करें।
  6. फ़ाइल को सेव करने और एक्ज़िट करने के लिए इन स्टेप्स को फॉलो करें:
    • Esc बटन दबाएँ।
    • :wq! टाइप करें।
    • Enter दबाएँ।
  7. टाइप करें और Enter दबाएँ: ऐसा करने से APF फायरवॉल रिस्टार्ट हो जाती है और नए पोर्ट्स ओपन हो जाते हैं।
    • एक पोर्ट को अस्वीकार करने के लिए, फ़ाइल को फिर से ओपन करें, पोर्ट को डिलीट करें, फ़ाइल सेव करें और फिर फायरवॉल को रिस्टार्ट करें।

सलाह

  • यदि आप एक ऐसा पोर्ट देखते हैं जिसे आप यूज नहीं कर रहे हैं या जिससे सर्विसेज रन नहीं कर रहे हैं, तो उन्हें बंद कर दें। इस तरह से पोर्ट खुला रखकर आपको किसी के द्वारा सिस्टम को हैक करने या नुकसान पहुंचाए जाने का जोखिम नहीं लेना चाहिए।
  • यदि आप बेतरतीब ढंग से खुले पोर्ट्स को जोड़ना शुरू करते हैं, जैसे कि ये स्टाइल से बाहर हो रहे हैं, तो आप हैक हो सकते हैं। केवल पोर्ट्स को तभी ओपन करें, जब ऐसा करना जरूरी हो।

विकीहाउ के बारे में

सभी लेखकों को यह पृष्ठ बनाने के लिए धन्यवाद दें जो ४०३ बार पढ़ा गया है।

यह लेख ने कैसे आपकी मदद की?