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 →

বায়োমেট্রিক আনলক ও নিরাপত্তা →