CH-J Server ManagerSSH के ज़रिए सर्वर प्रबंधन
मेनू
सभी मार्गदर्शिकाएँ और लेख →

ping विफल है, लेकिन SSH और HTTPS काम करते हैं: क्यों, और क्या यह समस्या है?

सर्वर ping को अनदेखा करके भी सामान्य रूप से क्यों चल सकता है, सेवाओं को सीधे कैसे जाँचें, और ICMP ब्लॉक होने से कब वास्तविक खराबी आती है।

ऐसा क्यों होता है

ping, ICMP का उपयोग करता है, जबकि SSH और HTTPS, TCP पोर्ट का उपयोग करते हैं। ये अलग-अलग ट्रैफ़िक हैं और फ़ायरवॉल एक को गिराकर दूसरे को गुज़रने दे सकता है। कई नेटवर्क और क्लाउड सुरक्षा समूह डिफ़ॉल्ट रूप से ICMP echo को ब्लॉक करते हैं। इसलिए जवाब न मिलने का मतलब सर्वर बंद होना नहीं है, और जवाब मिलना भी सेवाओं के काम करने का प्रमाण नहीं है।

सेवा जाँचें, ping नहीं

वे पोर्ट और प्रोटोकॉल जाँचें जिनकी आपको सच में ज़रूरत है। अगर ये परीक्षण सफल होते हैं, तो उन सेवाओं के लिए सर्वर तक पहुँचा जा सकता है और ping की विफलता केवल रास्ते में कहीं फ़िल्टर होने का संकेत देती है।

nc -vz -w 5 server.example 22
nc -vz -w 5 server.example 443
curl -sSI https://server.example/

TCP से रास्ते का पता लगाएँ

ICMP या UDP फ़िल्टर होने पर सामान्य traceroute में केवल तारांकन चिह्न दिखाई दे सकते हैं। खुले पोर्ट पर TCP का उपयोग करके अक्सर आगे तक पता लगाया जा सकता है। इसके लिए root चाहिए, और traceroute पहले इंस्टॉल करना पड़ सकता है, क्योंकि न्यूनतम सिस्टम में यह शामिल नहीं होता।

sudo traceroute -T -p 443 server.example

अपने सर्वर पर फ़िल्टर खोजें

अगर आप सर्वर का प्रबंधन करते हैं, तो उसका फ़ायरवॉल और echo अनुरोधों को अनदेखा करने वाली कर्नेल सेटिंग देखें। याद रखें कि रुकावट सर्वर के बाहर किसी सुरक्षा समूह या राउटर में भी हो सकती है, और प्रदाता अपने नेटवर्क पर ICMP फ़िल्टर कर सकता है, भले ही आपको कोई नियम न दिखे।

sysctl net.ipv4.icmp_echo_ignore_all
sudo nft list ruleset | grep -i icmp
sudo ufw status verbose

ICMP ब्लॉक होने से कब खराबी आती है

echo को ब्लॉक करना आम तौर पर हानिरहित है, लेकिन सभी ICMP को ब्लॉक करना नहीं। पथ MTU की खोज उन संदेशों पर निर्भर करती है जो पैकेट के बहुत बड़े होने की सूचना देते हैं। इनके बिना छोटे डेटा आदान-प्रदान काम करते हैं, लेकिन बड़े अटक जाते हैं। उदाहरण के लिए, SSH लॉगिन सफल हो सकता है और फिर अधिक आउटपुट आने पर अटक सकता है। IPv6 की ICMPv6 पर निर्भरता और भी अधिक है। दूसरा कमांड Linux पर 1500 बाइट MTU के लिए रास्ते की जाँच करता है।

ip route get 192.0.2.10
ping -M do -s 1472 -c 3 192.0.2.10

CH-J Server Manager में तुलना

Server Diagnostics सिस्टम टूल के ज़रिए बिना root के ping चलाता है और साथ ही TCP, SSH पहचान, HTTP और TLS के अलग-अलग परीक्षण करता है, ताकि ping की विफलता को बाकी परिणामों के संदर्भ में समझा जा सके। यहाँ ping विफल होने का मतलब है कि कोई जवाब नहीं आया। इससे यह पता नहीं चलता कि पैकेट कहाँ गिराया गया, और traceroute भी शायद इसका जवाब न दे सके।

विस्तृत दस्तावेज़

RFC 4890: ICMPv6 filtering →

man: ping →

बायोमेट्रिक अनलॉक और सुरक्षा →