CentOS 7 पर ओपन फ़ायरवॉल पोर्ट


339

मैं CentOS 7 का उपयोग कर रहा हूं और मुझे यह सुनिश्चित करना है कि पोर्ट 2888 और 3888 खुले हैं।

मैंने इस लेख को पढ़ा लेकिन यह काम नहीं किया क्योंकि CentOS 7 OS पर कोई iptables saveकमांड नहीं है ।

किसी ने मुझसे कहा था कि ऊपर URL CentOS 7. लिए मान्य नहीं है और मैं का पालन करना चाहिए यह । लेकिन यह लेख मेरे लिए बिल्कुल स्पष्ट नहीं है कि मुझे किस कमांड को निष्पादित करने की आवश्यकता है।

मैंने भी पाया

firewall-cmd --zone=public --add-port=2888/tcp 

लेकिन यह रिबूट नहीं बचता है।

तो मैं बंदरगाहों को कैसे खोल सकता हूं और इसे रिबूट से बच सकता हूं?


स्टैक ओवरफ्लो प्रोग्रामिंग और विकास के सवालों के लिए एक साइट है। यह प्रश्न ऑफ़-टॉपिक प्रतीत होता है क्योंकि यह प्रोग्रामिंग या विकास के बारे में नहीं है। देखें किन विषयों मैं यहाँ के बारे में पूछ सकते हैं सहायता केंद्र में। शायद सुपर यूजर या यूनिक्स और लिनक्स स्टैक एक्सचेंज पूछने के लिए बेहतर जगह होगी।
jww

जवाबों:


653

अपना सक्रिय क्षेत्र खोजने के लिए इस कमांड का उपयोग करें:

firewall-cmd --get-active-zones

यह या तो सार्वजनिक, dmz, या कुछ और कहेगा। आपको केवल आवश्यक क्षेत्रों पर लागू होना चाहिए।

सार्वजनिक प्रयास के मामले में:

firewall-cmd --zone=public --add-port=2888/tcp --permanent

फिर प्रभावी होने के लिए परिवर्तनों के लिए फ़ायरवॉल को पुनः लोड करना याद रखें।

firewall-cmd --reload

अन्यथा, अपने क्षेत्र के लिए सार्वजनिक विकल्प, उदाहरण के लिए, यदि आपका क्षेत्र dmz है:

firewall-cmd --zone=dmz --add-port=2888/tcp --permanent

29
मैं इस आदेश थे, लेकिन यह मेरे लिए काम नहीं किया, क्या किया, बदल रहा था --zone=dmzकरने के लिए--zone=public
टॉम हॉल

2
हाँ यह सार्वजनिक उपयोग करने के लिए भी उपयोगी है। कृपया सुधार के लिए Sotsir द्वारा कमांड के नीचे भी देखें।
गणेशरागव

23
न तो शीर्ष दो उत्तर वास्तव में समझाते हैं कि क्या --permanentकरता है, वे इसे करने के लिए कहते हैं। दोनों अधिक पूर्ण और उपयोगी उत्तर होंगे यदि यह समझाया गया कि उत्तर कैसे काम करता है। ओपी के संसाधनों में से एक से: "नियमों को स्थायी विकल्प को जोड़कर स्थायी बनाया जा सकता है [...]। यदि नियम स्थायी नहीं किए जाते हैं, तो उन्हें संदेश प्राप्त करने, पुनरारंभ या पुनः लोड करने के बाद हर बार लागू करने की आवश्यकता होती है। डी-बस का उपयोग करके फ़ायरवॉल से। "
dKen

9
जब तक आप सही को हिट न कर दें, तब तक सभी ज़ोनों में बंदरगाहों को आँख बंद करके सक्षम न करें। firewall-cmd --get-active-zonesयह पता लगाने के लिए उपयोग करें कि आपके सिस्टम पर किस क्षेत्र का उपयोग किया जाता है। इसके अलावा, आदमी फ़ायरवॉल- cmd।
बेसिक

1
फेडोरा प्रलेखन पढ़ने में यह बताता है The --permanent option needs to be the first option for all permanent calls। मुझे उपरोक्त का उपयोग करने में कोई त्रुटि नहीं मिली, लेकिन मुझे यकीन नहीं है कि यह किसी और के लिए समस्या पैदा कर सकता है।
मार्क

113

द्वारा जवाब ganeshragav सही है, लेकिन यह भी पता चला है कि आप उपयोग कर सकते उपयोगी है:

firewall-cmd --permanent --zone=public --add-port=2888/tcp 

लेकिन अगर एक ज्ञात सेवा है, तो आप इसका उपयोग कर सकते हैं:

firewall-cmd --permanent --zone=public --add-service=http 

और फिर फ़ायरवॉल को पुनः लोड करें

firewall-cmd --reload

[उत्तर पीटर मार्टिन की टिप्पणी को प्रतिबिंबित करने के लिए संशोधित किया गया था, मूल उत्तर --permanentकमांड लाइन के अंत में था]


8
मैं --permanentबयान के अंत में विकल्प का उपयोग करने पर निर्भर नहीं होता । प्रलेखन स्पष्ट रूप से इंगित करता है, कि यह पहला विकल्प होना चाहिए।
मार्टिन पीटर

1
@MartinPeter man firewall-cmdमेरी मशीन (फेडोरा 21) पर ऐसा कोई संकेत नहीं देता है।
जोनाथन रेनहार्ट

@ जोंथोनरिनहार्ट मैं फेडोरा के फ़ायरवॉलडी विकी का जिक्र कर रहा हूँ : The --permanent option needs to be the first option for all permanent calls.
मार्टिन पीटर

यह मुझे फ़ायरवॉलडी नहीं चलाने के लिए देता है
राहुल ताथोड़

50

CentOS (RHEL) 7, का उपयोग करने के लिए फ़ायरवॉल को बदल दिया है firewall-cmdजिसमें ज़ोन की एक धारणा है जो सार्वजनिक, गृह और निजी नेटवर्क के विंडोज संस्करण की तरह है। आपको यह देखने के लिए यहां देखना चाहिए कि आपको कौन सा उपयोग करना चाहिए। EL7 publicडिफ़ॉल्ट रूप से उपयोग करता है इसलिए नीचे दिए गए मेरे उदाहरण हैं।

आप जाँच कर सकते हैं कि आप किस ज़ोन का उपयोग कर रहे हैं firewall-cmd --list-allऔर किसके साथ बदल रहे हैं firewall-cmd --set-default-zone=<zone>

फिर आपको पता चल जाएगा कि किस क्षेत्र में सेवा (या पोर्ट) की अनुमति दी जानी है:

firewall-cmd --permanent --zone=<zone> --add-service=http

firewall-cmd --permanent --zone=<zone> --add-port=80/tcp

आप जांच सकते हैं कि पोर्ट वास्तव में चालू है या नहीं:

firewall-cmd --zone=<zone> --query-port=80/tcp

firewall-cmd --zone=<zone> --query-service=http

प्रलेखन के अनुसार ,

स्थायी मोड में फ़ायरवॉल सेटिंग्स में परिवर्तन करते समय, आपका चयन केवल तभी प्रभावी होगा जब आप फ़ायरवॉल को पुनः लोड करते हैं या सिस्टम रीस्टार्ट होता है।

आप फ़ायरवॉल सेटिंग्स को फिर से लोड कर सकते हैं firewall-cmd --reload:।


26

फेडोरा, के माध्यम से किया iptables

sudo iptables -I INPUT -p tcp --dport 3030 -j ACCEPT
sudo service iptables save

काम करने लगता है


23

खुले पोर्ट देखने के लिए, निम्न कमांड का उपयोग करें।

firewall-cmd --list-ports

हम उन सेवाओं को देखने के लिए उपयोग करते हैं जिनके पोर्ट खुले हैं।

firewall-cmd --list-services

हम उन सेवाओं को देखने के लिए उपयोग करते हैं जिनके बंदरगाह खुले हैं और खुले बंदरगाह देखते हैं

firewall-cmd --list-all

फ़ायरवॉल में एक सेवा जोड़ने के लिए, हम निम्नलिखित कमांड का उपयोग करते हैं, जिस स्थिति में सेवा फ़ायरवॉल में खोलने के लिए किसी भी पोर्ट का उपयोग करेगी।

firewall-cmd --add-services=ntp 

इस सेवा को स्थायी रूप से खोलने के लिए हम निम्नलिखित कमांड का उपयोग करते हैं।

firewall-cmd —add-service=ntp --permanent 

पोर्ट जोड़ने के लिए, निम्न कमांड का उपयोग करें

firewall-cmd --add-port=132/tcp  --permanent

निम्नलिखित कमांड का उपयोग करके फ़ायरवॉल चलाने के लिए पुनः लोड किया जाना चाहिए।

firewall-cmd --reload

य अली


ऊपर "फ़ायरवॉल- cmd -add-service = ntp --permanent" को "फ़ायरवॉल-cmd --add-service = ntp --permanent" के रूप में बदला जाना चाहिए
Maduranga Siriwardena

14

जबकि गणेशरागव और सोत्सिर सही और सीधे लागू दृष्टिकोण प्रदान करते हैं, यह ध्यान रखना उपयोगी है कि आप अपनी स्वयं की सेवाओं को जोड़ सकते हैं /etc/firewalld/services। प्रेरणा के लिए /usr/lib/firewalld/services/, जहां फ़ायरवॉल की पूर्वनिर्धारित सेवाएं स्थित हैं, उन्हें देखें।

इस दृष्टिकोण का लाभ यह है कि बाद में आपको पता चल जाएगा कि ये पोर्ट क्यों खुले हैं, जैसा कि आपने सेवा फ़ाइल में वर्णित किया है। इसके अलावा, आप अब इसे टाइपो के जोखिम के बिना किसी भी क्षेत्र में लागू कर सकते हैं। इसके अलावा, सेवा में परिवर्तन सभी क्षेत्रों के लिए अलग से लागू करने की आवश्यकता नहीं होगी, लेकिन सिर्फ सेवा फ़ाइल के लिए।

उदाहरण के लिए, आप बना सकते हैं /etc/firewalld/services/foobar.xml:

<?xml version="1.0" encoding="utf-8"?>
<service>
  <short>FooBar</short>
  <description>
    This option allows you to create FooBar connections between
    your computer and mobile device. You need to have FooBar
    installed on both sides for this option to be useful.
  </description>
  <port protocol="tcp" port="2888"/>
  <port protocol="tcp" port="3888"/>
</service>

(वाक्य रचना के बारे में जानकारी के लिए, करें man firewalld.service)

एक बार यह फ़ाइल बन जाने के बाद, आप firewall-cmd --reloadइसे उपलब्ध करवा सकते हैं और फिर इसे स्थायी रूप से कुछ ज़ोन में जोड़ सकते हैं

firewall-cmd --permanent --zone=<zone> --add-service=foobar

firewall-cmd --reloadइसे तुरंत सक्रिय करने के लिए पीछा किया गया।


6

खुले पोर्ट देखने के लिए, निम्न कमांड का उपयोग करें:

firewall-cmd --list-ports

हम उन सेवाओं को देखने के लिए उपयोग करते हैं जिनके पोर्ट खुले हैं:

firewall-cmd --list-services

हम उन सेवाओं को देखने के लिए उपयोग करते हैं जिनके बंदरगाह खुले हैं और खुले बंदरगाह देखते हैं:

firewall-cmd --list-all

फ़ायरवॉल में सेवा जोड़ने के लिए, हम निम्नलिखित कमांड का उपयोग करते हैं, जिस स्थिति में सेवा फ़ायरवॉल में खोलने के लिए किसी भी पोर्ट का उपयोग करेगी:

firewall-cmd --add-services=ntp 

इस सेवा को स्थायी रूप से खोलने के लिए हम निम्नलिखित कमांड का उपयोग करते हैं:

firewall-cmd -add-service=ntp --permanent 

पोर्ट जोड़ने के लिए, निम्नलिखित कमांड का उपयोग करें:

firewall-cmd --add-port=132/tcp  --permanent

4

यहाँ शीर्ष उत्तर काम करते हैं, लेकिन मुझे माइकल हैम्पटन के संबंधित प्रश्न के उत्तर में कुछ अधिक सुरुचिपूर्ण लगा । "नया" (फ़ायरवॉल-0.3.9-11 +) --runtime-to-permanentविकल्प firewall-cmdआपको रनटाइम नियम बनाने और उन्हें स्थायी बनाने से पहले परीक्षण करने देता है:

$ firewall-cmd --zone=<zone> --add-port=2888/tcp
<Test it out>
$ firewall-cmd --runtime-to-permanent

या केवल रनटाइम परिवर्तन को वापस करने के लिए:

$ firewall-cmd --reload

एंटनी गुयेन की टिप्पणी भी देखें । स्पष्ट रूप से फ़ायरवॉल- cmd --reload कुछ मामलों में ठीक से काम नहीं कर सकता है जहाँ नियम हटा दिए गए हैं। उस मामले में, वह फ़ायरवॉल सेवा को फिर से शुरू करने का सुझाव देता है:

$ systemctl restart firewalld

1

यदि आपके पास Centos 7 FIrewalld में अनुमति देने के लिए कई पोर्ट हैं तो हम निम्नलिखित कमांड का उपयोग कर सकते हैं।

#firewall-cmd --add-port={port number/tcp,port number/tcp} --permanent

#firewall-cmd --reload


And check the Port opened or not after reloading the firewall.


#firewall-cmd --list-port


For other configuration [Linuxwindo.com][1]

0

यदि आप iptables सेवा से परिचित हैं जैसे कि सेंटोस 6 या इससे पहले, आप अभी भी मैन्युअल इंस्टॉलेशन द्वारा iptables सेवा का उपयोग कर सकते हैं:

चरण 1 => एपीएल रेपो स्थापित करें

yum एपल-रिलीज़ इंस्टॉल करें

चरण 2 => iptables सेवा स्थापित करें

yum iptables-services स्थापित करें

चरण 3 => फ़ायरवॉल सेवा बंद करो

systemctl स्टॉप फ़ायरवॉल

चरण 4 => स्टार्टअप पर फ़ायरवॉल सेवा को अक्षम करें

systemctl फ़ायरवॉल को निष्क्रिय कर देता है

चरण 5 => iptables सेवा शुरू करें

systemctl प्रारंभ iptables

चरण 6 => स्टार्टअप पर iptables सक्षम करें

systemctl सक्षम करें iptables

अंत में अब आप अपने iptables config को / etc / sysconfig / iptables पर संपादित कर सकते हैं।

इसलिए -> नियम संपादित करें -> पुनः लोड / पुनरारंभ करें।

फ़ायरवॉल जैसे समान फ़ंक्शन के साथ पुराने सेंटो को पसंद करें।


0

फायरवालड iptables अनुभवी के लिए थोड़ा गैर-सहज है। उन लोगों के लिए जो एक आसान विन्यास वाले पेड़ में iptables की तरह सिंटैक्स के साथ एक iptables- संचालित फ़ायरवॉल पसंद करते हैं, फ़ायरवॉल को fwtree के साथ बदलने का प्रयास करें : https://www.linuxglobal.com/fwtree-flexible-linux-tree-based-firewall/ और फिर निम्न कार्य करें:

 echo '-p tcp --dport 80 -m conntrack --cstate NEW -j ACCEPT' > /etc/fwtree.d/filter/INPUT/80-allow.rule
 systemctl reload fwtree 

0

हैलो इन सेंटोस 7 फ़ायरवॉल-सीएमडी। यदि आप फ़ायरवॉल- cmd --zone = public --add-port = 2888 / tcp का उपयोग करते हैं, तो सही है, लेकिन यदि आप फ़ायरवॉल फ़ायरवॉल- cmd - पुनः लोड करते हैं

आपका कॉन्फिग सेव नहीं होगा

आपको कुंजी जोड़ने की आवश्यकता है

फ़ायरवॉल- cmd - अपवित्र --zone = सार्वजनिक --add-port = 2888 / tcp

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.