IIS पोर्ट द्वारा उपयोग किए जाने वाले सभी पोर्ट को अनुमति देने के लिए Windows फ़ायरवॉल को कैसे कॉन्फ़िगर करें


9

इस तकनीकी लेख के बारे में मेरी समझ , प्रति पेज जो मुझे वहां लाया गया *, वह यह है कि मैं किसी निर्दिष्ट पोर्ट द्वारा उपयोग किए जा रहे किसी भी पोर्ट पर सभी इनबाउंड ट्रैफ़िक की अनुमति देने के लिए विंडोज फ़ायरवॉल को कॉन्फ़िगर कर सकता हूं।

मुझे पता है कि डिफैक्टो का उत्तर "ऐसा न करें" होने की संभावना है, इसलिए कृपया समझें ; मैं एक वर्चुअल मशीन के अंदर विजुअल स्टूडियो और IIS एक्सप्रेस चला रहा हूं, और परीक्षण उद्देश्यों के लिए होस्ट OS से कनेक्ट करने में सक्षम होना चाहता हूं, और इस प्रकार वास्तव में IIS एक्सप्रेस द्वारा उपयोग किए जा रहे सभी पोर्ट को खोलने के सुरक्षा निहितार्थ से चिंतित नहीं हूं।

मैंने प्रोग्राम सेट के साथ एक इनबाउंड नियम बनाया %ProgramFiles% (x86)\IIS Express\iisexpress.exe, जो कार्य प्रबंधक के अनुसार निष्पादन योग्य चल रहा है। अन्य सभी नियम चश्मा खाली हैं (किसी भी स्थानीय पते, किसी भी दूरस्थ पते, और स्थानीय बंदरगाह, किसी भी दूरस्थ बंदरगाह, "किसी भी" अनुमति उपयोगकर्ताओं, "किसी भी" अनुमत कंप्यूटर)। फिर भी, कनेक्शन केवल तभी काम करता है जब मेरे पास IIS एक्सप्रेस द्वारा निर्दिष्ट विशिष्ट पोर्ट के लिए एक नियम है।

चूंकि यह मेरे जीवन को आसान बना देगा (और सिद्धांत पर काफी हद तक क्योंकि तकनीकी कहती है कि यह काम करना चाहिए), मुझे प्रत्येक ऐप के लिए फ़ायरवॉल नियम नहीं जोड़ना होगा जो मैं बनाता हूं।

* कार्य "एक नियम बनाएं जो किसी प्रोग्राम को उसके लिए आवश्यक किसी भी पोर्ट पर इनबाउंड नेटवर्क ट्रैफ़िक को सुनने और स्वीकार करने की अनुमति देता है।"


1
चूँकि आपने उल्लेख किया है कि सुरक्षा चिंता का विषय नहीं है इसलिए सभी बंदरगाहों को खोलने के साथ कोई समस्या है?
अबरकास

बस अतिथि ऑपरेटिंग सिस्टम में फ़ायरवॉल बंद कर दें .. :-) मैं हमेशा अपने अतिथि OSes में सब कुछ अक्षम कर सकता हूं ..
कोडी ब्राउन

जवाबों:


1

आप यहाँ पर चल रहे हैं कुछ समस्याएं हैं। एक यह है कि iisexpress.exeवास्तव में HTTP ट्रैफ़िक को सुनने के लिए जिम्मेदार प्रक्रिया नहीं है। यह कार्यक्षमता http.sys Windows नेटवर्किंग स्टैक के कर्नेल-मोड भाग के रूप में कार्यान्वित की जाती है । (यह प्रदर्शन कारणों से किया गया था। अधिक जानकारी के लिए, IIS आर्किटेक्चर का परिचय देखें ।) इसलिए, iisexpress.exeकुछ भी करने के लिए नियम नहीं बनाया जाएगा।

दूसरे, http.sysडिफ़ॉल्ट रूप से गैर-व्यवस्थापक के रूप में चलने वाले प्रोग्राम अन्य कंप्यूटरों को सुनने की अनुमति नहीं देते हैं। WebMatrix के साथ बाहरी यातायात की सेवा के अनुसार , आपको सभी उपयोगकर्ताओं को अन्य मशीनों को सुनने की अनुमति देने के लिए इस कमांड को एक प्रशासनिक कमांड प्रॉम्प्ट में चलाने की आवश्यकता है http.sys:

netsh http add urlacl url=http://MACHNAME:PORT/ user=everyone

MACHNAMEउस होस्टनाम से बदलें जिसका उपयोग साइट से संपर्क करने और PORTट्रैफ़िक के पोर्ट के साथ किया जाएगा। मैंने पढ़ा है कि *एक विशिष्ट hostname के बजाय का उपयोग करने से यह सभी नामों / इंटरफेस पर सुनने की सुविधा देता है, लेकिन मैंने व्यक्तिगत रूप से इसका परीक्षण नहीं किया है, और +इसके बजाय कुछ दस्तावेज़ीकरण का उपयोग करता है । किसी भी तरह से, एक बार ACL सेट करने के बाद, आप पोर्ट के लिए एक इनबाउंड फ़ायरवॉल नियम बना सकते हैं ।

आगे पढ़ना: HTTP और HTTPS को कॉन्फ़िगर करना

साइड कमेंट: एक वास्तविक पर्यावरण चर है जो प्रोग्राम फाइलों के 32-बिट संस्करण की ओर इशारा करता है %PROGRAMFILES(X86)%:। (पथ आपकी समस्या नहीं थी, हालांकि।)

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