Centos7 पर फ़ायरवॉल का उपयोग करके पोर्ट तक कैसे पहुंचें?


14

अगर फ़ायरवॉल-सीएमडी का उपयोग करके सार्वजनिक उपयोग के लिए एक पोर्ट खोला गया था, तो मैं इस पोर्ट को एक विशिष्ट आईपी तक सीमित करना चाहता था जो मुझे इस साइट पर उत्तर मिला ।

मैंने इसे खोलने के लिए निम्नलिखित का उपयोग किया:

$ firewall-cmd --permanent --zone=public --add-port=10050/tcp
$ firewall-cmd --reload

अब मुझे मिली जानकारी का उपयोग करके मैं एक विशिष्ट आईपी पते पर इस बंदरगाह तक पहुंच को प्रतिबंधित करना चाहता था। क्या मुझे पहले सार्वजनिक पहुंच से इस पोर्ट को हटाने की आवश्यकता है?

या क्या मैं सिर्फ नए नियम को इस प्रकार जोड़ सकता हूं और जो मेरे लिए समस्या का ख्याल रखेगा?

$ firewall-cmd --new-zone=special
$ firewall-cmd --permanent --zone=special --add-rich-rule='
  rule family="ipv4"
  source address=”123.1.1.1"
  port protocol="tcp" port="10050" accept'

मैंने निम्नलिखित कोशिश की है:

$ firewall-cmd --zone=public --remove-port=10050/tcp
$ firewall-cmd --reload

लेकिन जब मैं निम्नलिखित चलाता हूं:

$ firewall-cmd --list-ports 

10050/tcp अभी भी प्रदर्शित है।

कृपया समझें कि मैं गंभीर साइड कॉन्फ़िगरेशन से परिचित नहीं हूं।

आत्मीयता: - भूल -से-स्थायी मत बनो

$ firewall-cmd --zone=public --remove-port=10050/tcp
$ firewall-cmd --runtime-to-permanent
$ firewall-cmd --reload 

आह मैं भूल गया
mcv

1
आपको इसे उत्तर के रूप में पोस्ट करना चाहिए (और इसे स्वीकार करें)। अपने स्वयं के उत्तरों को स्वीकार करने के लिए यह पूरी तरह से स्वीकार्य है, इस तरह प्रश्न को हल के रूप में चिह्नित किया गया है।
गेराल्ड श्नाइडर

1
यदि आप फ़ायरवॉल नियम के साथ गलती करते हैं , तो इसका उपयोग करना बेहतर है --permanent। यदि आपने --permanentखुद को इस्तेमाल किया है और अपने आप को बंद कर लिया है, तो आपको वापस आने में काफी मुश्किल होगी, क्योंकि आपके पास ठीक होने का कोई रास्ता नहीं है। इसके बजाय, उपयोग न करें --permanent, और जब आप नियमों से खुश हों, तो नियमों का पालन firewall-cmd --runtime-to-permanentकरने के लिए उपयोग करें। यदि आप बाहर बंद हो जाते हैं, तो फ़ायरवॉल को फिर से लोड करना या रिबूट करना वापस चला जाएगा।
माइकल हैम्पटन

तो क्या इसे पूरी तरह firewall-cmd --runtime-to-permanentसे लागू करने के बाद इसे लागू किया जा सकता है firewall-cmd --reload? मैं निश्चित रूप से यह कोशिश करने जा रहा हूं।
एमसीवी

जवाबों:


29

समाधान: - भूल -से-स्थायी मत भूलना

$ firewall-cmd --zone=public --remove-port=10050/tcp
$ firewall-cmd --runtime-to-permanent 
$ firewall-cmd --reload 

1
मुझे अभी भी साथ चलना था systemctl restart firewalld
JaKu

इसने मेरे लिए काम नहीं किया। systemctlसंस्करण है 219और CentOS 7.5 64 बिट पर firewall-cmdसंस्करण है 0.5.3
Pred

5
# firewall-cmd --zone=public --remove-port=12345/tcp --permanent
# firewall-cmd --reload

12345 को उस पोर्ट से बदलें जिसे आप हटाना चाहते हैं।


1
मैंने कहीं पढ़ा है कि फेडोरा डॉक में, यह --permanentपहला विकल्प के रूप में डालने का सुझाव देता है । लेकिन हाँ, --permanentकुंजी है।
पश्चिमीगुन

मैं आमतौर पर यह सुनिश्चित करने के लिए अंतिम विकल्प के रूप में रखता हूं कि यदि नियम किसी भी कारण से गलत है, तो मैं नियम को स्थायी किए बिना केवल रिबूट कर सकता हूं। अगर यह ऐसा है जो मैं चाहता हूं, मैं ऊपर-तीर कर सकता हूं और --permanentअंत में जोड़ सकता हूं ।
जस्टिन ई

0

इन चरणों का पालन करें, आप ठीक हो जाएंगे:

  1. $ फ़ायरवॉल- cmd --zone = सार्वजनिक --remove-port = 10050 / tcp
  2. $ फ़ायरवॉल- cmd - क्रम-से-स्थायी
  3. $ फ़ायरवॉल- cmd --reload
  4. $ systemctl फ़ायरवॉल को पुनः आरंभ करता है
  5. $ फ़ायरवॉल- cmd --zone = सार्वजनिक - पोर्ट

मुझे नहीं लगता कि आपको फायरवॉल को फिर से शुरू करने की आवश्यकता है, firewalldवास्तव में आपको कॉन्फ़िगरेशन बदलने पर हर बार सभी सेवाओं को पुनरारंभ करने से बचने के लिए डिज़ाइन किया गया था।
vdegenne
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.