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 ←

بایومیٹرک اَن لاک اور سیکیورٹی ←