ভূমিকা (Introduction)
লিনাক্স নেটওয়ার্কিং কোর্সের আগের পর্বে আমরা সফলভাবে লিনাক্সে Static IP Address কনফিগার করেছি। এই পর্বে আমরা শিখব কীভাবে প্রফেশনাল লেভেলে Linux Network Troubleshooting করতে হয়।
বাস্তব জীবনে সার্ভার ম্যানেজ করতে গিয়ে আপনি প্রায়ই মুখোমুখি হবেন যে কোনো ওয়েবাসাইট বা সার্ভারে পৌঁছানো যাচ্ছে না, কিংবা নির্দিষ্ট কোনো পোর্ট বা সার্ভিস কাজ করছে না। এসব ক্ষেত্রে নেটওয়ার্কের ঠিক কোথায় সমস্যা হচ্ছে তা খুঁজে বের করতে tracepath, traceroute, dig এবং ss কমান্ড ব্যবহারে দক্ষ হওয়া অপরিহার্য।
১. প্রয়োজনীয় ডায়াগনস্টিক টুলসের তালিকা
| কমান্ড (Command) | কাজের মূল বিবরণ (Purpose) |
tracepath / traceroute | সোর্স থেকে গন্তব্যে যাওয়ার পথে ডাটা প্যাকেট কোন কোন রাউটার (Hops) পার হচ্ছে তা দেখায়। |
dig / nslookup | DNS রেজোলিউশন চেক করা এবং ডোমেইনের সঠিক IP খুঁজে বের করতে ব্যবহৃত হয়। |
ss -tulnp | সিস্টেমে কোন কোন TCP/UDP পোর্ট খোলা বা লিসেনিং অবস্থায় আছে এবং কোন প্রসেস তা চালাচ্ছে তা দেখায়। |
২. ধাপে ধাপে প্র্যাকটিক্যাল ট্রাবলশুটিং গাইড
ক. নেটওয়ার্ক রুট ট্র্যাকিং (tracepath & traceroute)
আপনার পিসি থেকে কোনো রিমোট সার্ভারে (যেমন: google.com) প্যাকেট যাওয়ার সময় পথে কোথায় আটকে যাচ্ছে তা দেখতে এই কমান্ড ব্যবহার করা হয়।
- ডিপেন্ডেন্সি ছাড়া দ্রুত রুট ট্র্যাক করতে:Bash
tracepath google.com - বিস্তারিত Traceroute চালাতে:Bash
sudo apt install traceroute -y traceroute 8.8.8.8(আউটপুটের প্রতিটি লাইনকে একটি করে Hop বলা হয়, যা এক একটি ইন্টারমিডিয়েট রাউটার নির্দেশ করে।)
খ. DNS নেম রেজোলিউশন টেস্টিং (dig & nslookup)
আপনার সিস্টেম ডোমেইন নেমকে সঠিক আইপি এড্রেসে রূপান্তর করতে পারছে কি না তা যাচাই করার জন্য dig সবচেয়ে শক্তিশালী টুল।
- A-Record (IP Address) দেখতে:Bash
dig google.com - নির্দিষ্ট DNS Server (যেমন Cloudflare
1.1.1.1) দিয়ে টেস্ট করতে:Bashdig @1.1.1.1 openbenchmarking.org - সহজ সামারি দেখতে:Bash
nslookup google.com
গ. ওপেন পোর্ট ও সার্ভিস ইন্সপেকশন (ss Command)
পূর্বে ব্যবহৃত netstat কমান্ডের স্থান দখল করেছে আধুনিক ও দ্রুতগতির ss (Socket Statistics) টুল। আপনার সার্ভারে কোন কোন সার্ভিস খোলা আছে তা জানা সিকিউরিটির জন্য অত্যন্ত জরুরি।
- সব ধরনের Listening TCP & UDP পোর্ট ও প্রসেস দেখতে:Bash
sudo ss -tulnp - ফ্ল্যাগগুলোর অর্থ:
-t: TCP Connections-u: UDP Connections-l: Listening Ports (যে পোর্টগুলো ইনকামিং রিকোয়েস্টের জন্য অপেক্ষা করছে)-n: আইপি ও পোর্ট নম্বর সংখ্যায় দেখাবে (নামের বদলে)-p: সার্ভিস প্রসেসের নাম ও PID দেখাবে
- নির্দিষ্ট পোর্টের স্ট্যাটাস ফিল্টার করা (যেমন SSH Port 22):Bash
sudo ss -tulnp | grep :22
💡 রিয়েল-লাইফ ট্রাবলশুটিং সিনারিও
যদি VM-Alpha থেকে VM-Beta-র ওয়েব সার্ভার এক্সেস না করা যায়, তবে নিচের ৩টি ধাপ ক্রমান্বয়ে চেক করবেন:
ping 10.0.0.2দিয়ে আইপি লেভেলে নেটওয়ার্ক কানেক্টিভিটি ঠিক আছে কি না দেখুন।sudo ss -tulnpচালিয়ে VM-Beta-তে ওয়েব পোর্ট (Port 80/443) লিসেনিং অবস্থায় আছে কি না নিশ্চিত হন।- পোর্টের সার্ভিস সচল থাকলে ফায়ারওয়াল (UFW/Firewalld) পোর্টটিকে ব্লক করছে কি না তা চেক করুন।
সারসংক্ষেপ ও চেকলিস্ট (Summary Checklist)
আপনি কি বিষয়গুলো সফলভাবে অনুশীলন করেছেন? চেকপয়েন্টগুলো মিলিয়ে নিন:
- [ ]
tracepathদিয়ে ডাটা প্যাকেটের ভ্রমণপথ ট্র্যাক করতে পেরেছেন। - [ ]
digকমান্ড দিয়ে ডোমেইনের DNS রেজোলিউশন ভেরিফাই করেছেন। - [ ]
ss -tulnpদিয়ে লিনাক্সে লিসেনিং সার্ভিস ও তাদের পোর্ট ফিল্টার করতে পারছেন।
