फ़ायरवॉल OS X 10.9.4 में एक विशिष्ट पोर्ट कैसे खोलें


15

मैं फ़ायरवॉल में एक विशिष्ट पोर्ट कैसे खोलूं? मैं "आवेदन से कनेक्शन की अनुमति दें" का उपयोग नहीं कर सकता क्योंकि मैं जेनकिंस के लिए बंदरगाह खोलना चाहता हूं, जो सूची में नहीं है ...


पोर्ट (ओं) और प्रोटोकॉल क्या आप जेनकिंस पर सुनने के लिए सक्षम होना चाहते हैं? इस पोस्ट की मदद से आप देखते हैं कि क्या बंदरगाहों उस पर ... कॉन्फ़िगर किया गया है stackoverflow.com/a/10106086/475228
bmike

प्रोटो टीसीपी पोर्ट 8080 पर
गाइ

क्या यह पद ipfwप्रासंगिक होगा? apple.stackexchange.com/questions/33871/...
bmike

जवाबों:


7

Apple के OS X Mavericks में तीन फायरवॉल हैं। सबसे पहले, एप्लिकेशन स्तर फ़ायरवॉल जिसे सिस्टम सेटिंग्स का उपयोग करके कॉन्फ़िगर किया जा सकता है। लेकिन ipfw, GNU / Linux और pf (FreeBSD / OpenBSD) पर नेटफिल्टर / iptables की तरह एक पैकेट फ़िल्टरिंग फ़ायरवॉल भी है।

आप या तो कमांड लाइन का उपयोग करके, या मुक्त / लिबरल वाटररूफ की तरह एक ग्राफिकल फ्रंट-एंड का उपयोग करके आईपीएफडब्ल्यू को कॉन्फ़िगर कर सकते हैं ।

आप एक ipfw कमांड के साथ शुरू कर सकते हैं जैसे:

sudo ipfw add 31010 allow tcp from any to any dst-port 8080

7
ipfw को एल कैपिटान में हटा दिया गया और चला गया
slashdottir

21

मेरे पास OS X Yosemite (10.10.3) के तहत एक ही मुद्दा था। इस ब्लॉग पोस्ट को मिला जो स्पष्ट निर्देश प्रदान करता है। हम किसी भी अधिक ipfw का उपयोग नहीं कर सकते, क्योंकि यह पदावनत है। इसके बजाय, pfctl का उपयोग करें, जो दुर्भाग्य से एक पोर्ट खोलने के लिए यह बताने के लिए एक अच्छी कमांड लाइन का अभाव है। इसके बजाय, आपको इसकी आवश्यकता है:

  1. एक पाठ संपादक में /etc/pf.conf खोलें।
  2. इस तरह एक लाइन जोड़ें:

# सभी इंटरफेस पर टीसीपी के लिए ओपन पोर्ट 8080

8080 से किसी भी पोर्ट से प्रोटो टीसीपी में पास

  1. फ़ाइल सहेजें।
  2. परिवर्तनों को लोड करें:

सुडो pfctl -f /etc/pf.conf

यदि आप एक UDP पोर्ट, परिवर्तन को खोलने के लिए की जरूरत है tcpके लिए udp, यदि आप दोनों की जरूरत है, एक दूसरी पंक्ति जोड़ें। अतिरिक्त विवरण में पाया जा सकता है man pf.conf

यह भी सुनिश्चित करें कि आपका सर्वर वास्तविक इंटरफ़ेस पर सुन रहा है जिसे आप इसे (या सभी इंटरफेस का उपयोग करके, उपयोग 0.0.0.0कर रहे हैं ::0) चाहते हैं, न कि लोकलहोस्ट ( 127.0.0.1या ::1)।


3
वाह, रिबूट? क्या आपको वास्तव में एक पोर्ट खोलने के लिए रिबूट करना होगा?
jcollum

1
-npfctl पास करना नियमों को सत्यापित करता है, और स्पष्ट रूप से उन्हें लोड नहीं करता है। केवल -f /etc/pf.confनियमों को लोड करने के लिए उपयोग करें । सत्यापित करें कि वे लोड किए गए हैं pfctl -sr। हालाँकि, जबकि pfctl के नियम आवश्यक हैं, यह किसी भी पोर्ट पर El Capitan तक पहुँचने की अनुमति देने के लिए पर्याप्त नहीं है।
ब्रायन एम। हंट

... एक को यह भी सुनिश्चित करना चाहिए कि आवेदन मेजबान नाम (नहीं localhost) के लिए बाध्य है ; एक $ hostnameकमांड लाइन पर होस्टनाम के साथ मिलता है । इसके अलावा, सिस्टम प्राथमिकताएं -> सुरक्षा और गोपनीयता -> फ़ायरवॉल -> फ़ायरवॉल को बंद करें और फिर फ़ायरवॉल को चालू करके, रिबूट करने के बजाय, फ़ायरवॉल को पुनरारंभ कर सकते हैं।
ब्रायन एम। हंट

@ शानदार अवतार - शानदार यादें!
डोरनल

6

ipfw को Apple द्वारा अपदस्थ किया गया है। माउंटेन लायन और बाद में pfctl का उपयोग करें।

http://support.apple.com/kb/ht5413


6
क्या आप पोर्ट खोलने के लिए विशिष्ट कमांड पोस्ट कर सकते हैं?
थिस्स

यदि आप एक विशिष्ट पोर्ट जोड़ना चाहते हैं, तो मुझे लगता है कि आपको कॉन्फ़िगरेशन फ़ाइल को संपादित करने की आवश्यकता है (देखें krypted.com/mac-security/… और 192.168 वाले भाग की खोज करें)। दूसरी ओर, यदि आप यह सुनिश्चित करना चाहते हैं कि कोई एप्लिकेशन अवरुद्ध नहीं है, तो अंतिम टिप्पणी में jamfnation.jamfsoftware.com/discussion.html?id=6566 का बहुत अच्छा सारांश है। मैं अभी भी ज्यादातर 10.6 का उपयोग करता हूं, इसलिए मैंने pfctl के साथ ज्यादा काम नहीं किया है।
केंट

1

यहां उपयोगकर्ता को विम के साथ गड़बड़ करने की आवश्यकता के बजाय एक लाइनर है। स्वचालन के लिए उपयोगी।

sed -i '' -e '$a\pass in proto tcp from any to any port 8080' /etc/pf.conf; pfctl -vnf /etc/pf.conf

या लिनक्स उपयोगकर्ताओं के लिए एक विकल्प

sed -i -e '$a\pass in proto tcp from any to any port 8080' /etc/pf.conf; pfctl -vnf /etc/pf.conf

बस यह सुनिश्चित करें कि आपके 8080मन में जो भी हो, आप उदाहरण में बदल दें । यदि आप चाहें तो udp के साथ tcp स्वैप करें।

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