Im Windows Server 2008 R2 चल रहा है, हमारे पास एक एप्लिकेशन है जो सर्वर पर एक सार्वजनिक आईपी (127 से 0.0.1.18334 पर कनेक्ट करता है) से जुड़ता है [0.0.0.0:8334 पर सुनने वाली सेवा से जुड़ता है]
विंडोज 2003 में, इसके साथ कोई समस्या नहीं थी। हम टीसीपी का उपयोग 1.2.3.4 [उदाहरण] से 127.0.0.1:8334 पर ठीक से कनेक्ट कर सकते हैं।
विंडोज 2008 में, हम पाते हैं कि सार्वजनिक कनेक्शन जैसे टीसीपी कनेक्शन 1.2.3.4 से 127.0.0.1:8334 विफल होते हैं। लेकिन सेवा 127.0.0.1 से 127.0.0.1:8334, और 127.0.0.1 से 1.2.3.4:8334 तक कनेक्शन स्वीकार करती है।
बिना किसी लाभ के, विंडोज फायरवॉल को बंद करने, उसके लॉगिंग आदि को कॉन्फ़िगर करने (कोई उपयोगी लॉग एंट्री नहीं दिखाने) की कोशिश की। इस नए नेटवर्किंग ढेर के साथ एक समस्या है?
संपादन
1.2.3.4 एक ही मशीन पर लोकलहोस्ट [127.0.0.1] से जुड़ने की कोशिश कर रहा है
होस्ट फ़ाइल डिफ़ॉल्ट रूप से Windows 2008 होस्ट फ़ाइल है।
लूपबैक जाँच की जानकारी, दिलचस्प। कोशिश की ... काम नहीं किया। यह सत्यापित करने के लिए क्रॉसचेक किया गया कि आईडी ने सब कुछ सही ढंग से किया है - मेरे पास।
Im सोच रहा था कि क्या NAT या किसी अन्य तरीके से आगे के बंदरगाहों का उपयोग करने का कोई समाधान है - अगर मैं 127.0.0.1:port को 1.2.3.4:पोर्ट पर अग्रेषित करता हूं, तो क्या वह काम करेगा? यह देखते हुए कि ऐप 0.0.0.0:पोर्ट पर सुनता है, यह 1.2.3.4:पोर्ट पर कनेक्शन उठाएगा
HOSTS फ़ाइल में लोकलहोस्ट 127.0.0.1 है - हालाँकि, होस्ट फ़ाइल केवल होस्टनाम लुकअप पर उपयोग की जाती है। इस मामले में, हमारा एप्लिकेशन किसी भी होस्टनाम को नहीं देखेगा, क्योंकि 127.0.0.1 आईपी एड्रेस इसमें हार्डकोड किया गया है (बजाय लोकलहोस्ट होस्टनाम के)। तो होस्ट्स फ़ाइल खेलने में यहाँ आ नहीं होगा।
1024 से ऊपर के पोर्ट्स के लिए [आपको लगता है कि शायद आप MaxUserPort इश्यू को देखें?] मैंने इसे 445 पोर्ट के लिए एक साधारण कनेक्ट की कोशिश करके इसका परीक्षण किया - 127.0.0.1 से काम करता है, जब मैं सोर्स IP 1.2.3.4 से कनेक्ट करता हूं। 445 एक मानक विंडोज सेवा है, इसलिए काम करना चाहिए!
वर्तमान में मशीन पर एनएटी या आरआरएएस नहीं चल रहा है ... सोच रहा था कि क्या रीरूटिंग करने का कोई तरीका था - यह अनुमान लगा रहा हूं कि टीसीपी / आईपी स्टैक के बाद से यह काम नहीं करेगा क्योंकि फिर से रूट करने के लिए लूपबैक इंटरफ़ेस पहुंचने से पहले पैकेट को अस्वीकार कर देगा।
रूट प्रिंट मैंने चेक किया था - ठीक लगता है, सार्वजनिक आईपी पहले रूट किए गए, फिर अंत में 127.0.0.0 नेटमैस्क 255.255.255.0 और 127.0.0.1 नेटमैस्क 255.255.255.255 दोनों लूपबैक में आए।
मुझे लगता है कि समस्या के कारण के रूप में जवाब मिल गया है संपादित करें । मैंने Eventvwr.msc का उपयोग किया, Winsock लॉगिंग को सक्षम किया, अन्य सेवाओं को बंद कर दिया, बस इस कनेक्शन परीक्षण की कोशिश की। जब मैंने इसे गॉगल किया तो एक त्रुटि जो हेक्साडेसिमल में STATUS_INVALID_ADDRESS_COMPONENT को मैप की गई थी।
मुझे यह मिला: http://social.msdn.microsoft.com/Forums/en-US/wfp/thread/d7cb6138-3f67-4467-a068-8325f56739ba
कौन सा पुष्टि की है कि इस Vista / 7 / सर्वर 2008 [खिड़कियों को छानने मंच] के लिए डब्ल्यूएफपी में डिजाइन द्वारा एक परिवर्तन है।
[अनुपमा वसंत द्वारा प्रतिक्रिया देखें]
मैं की तरह लग रहा कठिन मार्ग जाने के लिए और कोड के पुनर्लेखन के लिए [मुश्किल है क्योंकि यह प्रबंधकों के साथ काम का मतलब है!] होगा
समस्या का पता लगाने / पुष्टि करने में मेरी मदद करने के लिए धन्यवाद!