सवाल 'कनेक्शन अस्वीकार' संदेश का क्या कारण बनता है?


यह है एक कैननिकल प्रश्न के बारे में कनेक्शन नहीं हो सका 

हम प्रभाव के लिए बहुत सारे प्रश्न देखते हैं

जब मैं किसी सिस्टम से कनेक्ट करने का प्रयास करता हूं तो मुझे एक संदेश मिलता है

कनेक्शन नहीं हो सका

ऐसा क्यों है ?


75
2017-09-28 12:13


मूल


हमें अपाचे हैडोप में यह बहुत कुछ मिलता है, जहां यह अक्सर क्लाइंट में कॉन्फ़िगरेशन त्रुटियों के कारण होता है: किस मेजबान से बात करने के लिए मेजबान, उनके DNS या / etc / होस्ट टेबल सेट किए जाते हैं, या किसी पोर्ट द्वारा उपयोग किए जाने वाले बंदरगाहों के बीच मेल नहीं खाते सेवा और ग्राहक सोचते हैं कि इसका उपयोग करना चाहिए। तदनुसार, हमारे पास है एक समर्पित विकी प्रविष्टि विषय पर। कई समस्याओं की संभावना कहीं और है, यद्यपि (उम्मीदवार) एक छोटे पैमाने पर। एक 1000 नोड क्लस्टर में कनेक्शन समस्याओं को डीबग करना मजेदार नहीं है। - Steve Loughran
आपका समर्पित विकी एंट्री लिंक इस प्रश्न को इंगित करता है;) - Iain
अच्छी पकड़। आधिकारिक लिंक यहां दिया गया है: wiki.apache.org/hadoop/ConnectionRefused। हालांकि मैं उस पूर्ण लूप के लिए यहां से एक क्रॉस संदर्भ जोड़ दूंगा। - Steve Loughran
@SteveLoughran कूल आलेख - एक टिप्पणी - लिंक वापस स्टैक ओवरफ़्लो कहता है और हम सर्वर फॉल्ट हैं;) - Iain
किया हुआ। एफडब्ल्यूआईडब्लू, विकी लिंक कनेक्शन में जोड़ा गया है, जो गलत हो रहा है, काम करने के लिए आवश्यक अतिरिक्त जानकारी (मेजबान, बंदरगाहों) के साथ, हडोप स्टैक में पारित अपरिवर्तित अपवाद। हमें अभी भी उन लोगों से बहुत सारी बग रिपोर्ट मिलती हैं जो स्टैक ट्रेस देखते हैं और विकी के लिंक का पालन नहीं करते हैं - Steve Loughran


जवाब:


ध्यान दें: यह संदेश उस समस्या का एक लक्षण है जिसे आप हल करने का प्रयास कर रहे हैं। संदेश के कारण को समझना अंततः आपको अपनी समस्या को हल करने के लिए नेतृत्व करेगा।

संदेश 'कनेक्शन अस्वीकार' के दो मुख्य कारण हैं:

  1. आईपी ​​पर कुछ भी नहीं सुन रहा है: पोर्ट आप कनेक्ट करने की कोशिश कर रहे हैं।
  2. पोर्ट को फ़ायरवॉल द्वारा अवरुद्ध किया गया है।

कोई प्रक्रिया नहीं सुन रही है।

यह संदेश के लिए अब तक का सबसे आम कारण है। सबसे पहले सुनिश्चित करें कि आप सही सिस्टम से कनेक्ट करने का प्रयास कर रहे हैं। यदि आप यह निर्धारित करने के लिए हैं कि यह समस्या है, तो रिमोट सिस्टम रन पर netstat या एस एस1 जैसे यदि आप पोर्ट 22222 पर एक प्रक्रिया सुनने की उम्मीद कर रहे हैं

sudo netstat -tnlp | grep :22222

या

ss -tnlp | grep :22222

ओएसएक्स के लिए एक उपयुक्त आदेश है

sudo netstat -tnlp tcp | grep '\.80 '

यदि कुछ भी नहीं सुन रहा है तो उपरोक्त कोई आउटपुट नहीं देगा। यदि आप कुछ आउटपुट देखते हैं तो पुष्टि करें कि आप जो उम्मीद करते हैं वह नीचे फ़ायरवॉल अनुभाग देखें।

अगर आपके पास रिमोट सिस्टम तक पहुंच नहीं है और प्रासंगिक प्रशासकों को इसकी रिपोर्ट करने से पहले समस्या की पुष्टि करना चाहते हैं तो आप tcpdump (wireshark या इसी तरह) का उपयोग कर सकते हैं।

जब किसी कनेक्शन को आईपी के लिए प्रयास किया जाता है: बंदरगाह जहां कुछ भी नहीं सुन रहा है, रिमोट सिस्टम से शुरुआती एसवाईएन पैकेट की प्रतिक्रिया झंडे आरएसटी, एसीके सेट के साथ एक पैकेट है। यह कनेक्शन बंद कर देता है और कनेक्शन अस्वीकृत संदेश का कारण बनता है उदा।

$ sudo tcpdump -n होस्ट 192.0.2.1 और पोर्ट 22222
  tcpdump: वर्बोज़ आउटपुट दबाया गया, पूर्ण प्रोटोकॉल डीकोड के लिए -v या -vv का उपयोग करें
  enp14s0 पर सुनना, लिंक-प्रकार EN10MB (ईथरनेट), कैप्चर आकार 262144 बाइट्स

  12: 31: 27.013976 आईपी 1 9 2.0.2.2.343 9 0> 1 9 2.1.0.2.22222: ध्वज [एस], सीईसी 1207858804, 2 9 00 जीतें, विकल्प [एमएसएस 1460, सैकओके, टीएस वैल 15306344 ईआरआर 0, एनओपी, डब्ल्यूएससीएल 7], लंबाई 0

  12: 31: 27.020162 आईपी 1 9 2.1.0.2.22222> 1 9 2.0.2.2.343 9 0: ध्वज [आर], सीईसी 0, एएके 1207858805, 0, लंबाई 0 जीतें

ध्यान दें कि tcpdump एक का उपयोग करता है  सेवा मेरे एसीके का प्रतिनिधित्व करें झंडा।

पोर्ट को फ़ायरवॉल द्वारा अवरुद्ध किया गया है

अगर पोर्ट को फ़ायरवॉल द्वारा अवरुद्ध किया गया है और फ़ायरवॉल को प्रतिक्रिया देने के लिए कॉन्फ़िगर किया गया है icmp-port-unreachable यह एक कनेक्शन से संदेश अस्वीकार कर देगा। फिर आप इसे टीसीपीडम्प (या इसी तरह) के साथ देख सकते हैं

$ sudo tcpdump -n icmp
  tcpdump: वर्बोज़ आउटपुट दबाया गया, पूर्ण प्रोटोकॉल डीकोड के लिए -v या -vv का उपयोग करें

  enp14s0 पर सुनना, लिंक-प्रकार EN10MB (ईथरनेट), कैप्चर आकार 262144 बाइट्स   13: 03: 24.149897 आईपी 1 9 .02.2.1> 1 9 2.1.0.2.2: आईसीएमपी 1 9 .2.2.2.1 टीसीपी पोर्ट 22222 पहुंच योग्य, लंबाई 68

ध्यान दें कि यह हमें बताता है कि अवरुद्ध फ़ायरवॉल कहां है।


तो अब आप जानते हैं कि कनेक्शन के कारण संदेश से इंकार कर दिया गया है, आपको उचित कार्रवाई करना चाहिए उदा। फ़ायरवॉल व्यवस्थापक से संपर्क करें या प्रक्रिया को सुनने के कारण की जांच करें।

1अन्य उपकरण संभवतः उपलब्ध हैं।


87
2017-09-28 12:13



ईएलआई 5 संस्करण: इसका मतलब है कि कनेक्शन अनुरोध दूसरे कंप्यूटर पर मिला, और दूसरे कंप्यूटर के पास कोई सुराग नहीं था जिसके बारे में आप बात कर रहे थे। - immibis
"कोई प्रक्रिया नहीं सुन रही है।" मुख्य कारण ..! - Samitha Chathuranga
मेरे मामले में, कुछ सुन रहा था ... लेकिन एक अलग नोड पर जिस पर मैं कनेक्ट करने का प्रयास कर रहा था। उफ़। - ijoseph
@ijoseph तो कुछ भी सुन रहा था। - Iain
@Iain अगर एक पेड़ जंगल में नहीं गिरता है और जंगल पूरी तरह से शांत है, तो क्या अन्य पेड़ सुन रहे हैं? - ijoseph


डेबियन 6 निचोड़ पर मेरे लिए यह उतना आसान था जितना एसएसएच सेवा की जांच:

sudo service ssh status

और कुछ भी नहीं मिला (संदेश के साथ ssh: unrecognized service) बस सेवा स्थापित करना:

sudo apt-get install openssh-server

यह भी काम करता है अगर आपको एसएफटीपी कनेक्शन नहीं मिल रहा है, क्योंकि एसएफटीपी एसएसएच का सबसेट है (जबकि एफटीपीएस एफ़टीपी का सबसेट है)।


4
2018-05-16 09:39





मेरे केंद्र शोरवाल फ़ायरवॉल डिस्क स्थान से बाहर चला गया था। भ्रमित रूप से, यूट्यूब और एमएस जैसे कुछ साइटें काम करती हैं। Cnn.com जैसे अन्य असफल रहे। कुछ जगह साफ़ करना और सर्वर को पुनरारंभ करना मेरे लिए समस्या को हल करता है।


0
2017-11-03 13:19