লিনাক্স নেটওয়ার্কিং মাস্টারক্লাস: সম্পূর্ণ চিটশিট (পার্ট ১ – ৬) Detail Page
লিনাক্স নেটওয়ার্কিং মাস্টারক্লাস: সম্পূর্ণ চিটশিট (পার্ট ১ – ৬)
🔹 Part 1 & 2: মৌলিক নেটওয়ার্কিং কমান্ড ও IP Inspection
কমান্ড (Command & Syntax) বিবরণ ও ফ্ল্যাগ (Description & Key Flags) ip addr show / ip aসব নেটওয়ার্ক ইন্টারফেস এবং অ্যাসাইন করা আইপি দেখার জন্য। ip addr show dev enp0s3নির্দিষ্ট নেটওয়ার্ক ইন্টারফেসের বিস্তারিত দেখা। ip -4 a / ip -6 aকেবল IPv4 অথবা কেবল IPv6 এড্রেস ফিল্টার করা। hostname / hostname -Iসিস্টেমের নাম এবং শর্ট আইপি লিস্ট দেখা। ping [IP/Domain]নেটওয়ার্ক কানেক্টিভিটি টেস্ট করতে ICMP প্যাকেট পাঠানো। ping -c 4 -i 0.5 8.8.8.8-c 4 (৪টি প্যাকেট), -i 0.5 (প্রতি ০.৫ সেকেণ্ডে ১টি প্যাকেট)।
🔹 Part 3: রাউটিং টেবিল, গেটওয়ে ও Subnetting Commands
কমান্ড (Command & Syntax) বিবরণ ও ফ্ল্যাগ (Description & Key Flags) ip route show / ip rসিস্টেমের বর্তমান Routing Table ও Default Gateway দেখা। sudo ip route add default via 10.0.0.254ম্যানুয়ালি Default Gateway যোগ করা। sudo ip route add 10.0.0.0/24 via 10.0.0.254নির্দিষ্ট সাবনেটের জন্য কাস্টম রুট সেট করা। sudo ip route del 10.0.0.0/24রাউটিং টেবিল থেকে নির্দিষ্ট রুট মুছে ফেলা।
🔹 Part 4: Static IP & NetworkManager (nmcli)
কমান্ড (Command & Syntax) বিবরণ ও ফ্ল্যাগ (Description & Key Flags) nmcli device statusইন্টারফেস বা নেটওয়ার্ক কার্ডের বর্তমান অবস্থা দেখা। nmcli connection showকনফিগার করা সব কানেকশন প্রোফাইলের তালিকা দেখা। sudo nmcli con mod "eth0" ipv4.addresses 10.0.0.1/24স্থায়ী (Permanent) Static IP সেট করা। sudo nmcli con mod "eth0" ipv4.method manualIP Assignment মেথড DHCP থেকে Manual-এ রূপান্তর করা। sudo nmcli con mod "eth0" ipv4.gateway 10.0.0.254স্থায়ী Default Gateway অ্যাসাইন করা। sudo nmcli con up "eth0"নেটওয়ার্ক ইন্টারফেসের নতুন কনফিগারেশন সচল করা। sudo ip addr add 10.0.0.10/24 dev eth0ইনস্ট্যান্ট টেস্টিংয়ের জন্য Temporary IP যোগ করা (রিবুটে মুছে যাবে)।
🔹 Part 5: নেটওয়ার্ক ট্রাবলশুটিং, Traceroute ও Open Ports (ss)
কমান্ড (Command & Syntax) বিবরণ ও ফ্ল্যাগ (Description & Key Flags) tracepath google.comসোর্স থেকে গন্তব্যের প্যাকেট ভ্রমণের রুট (Hops) ট্র্যাক করা। traceroute 8.8.8.8প্রতিটি ইন্টারমিডিয়েট রাউটারের রেসপন্স টাইম সহ বিস্তারিত ট্রেস দেখা। dig google.comDNS A-Record ও Name Resolution ডিটেইলস কুয়েরি করা। dig @1.1.1.1 google.comকাস্টম DNS Server (যেমন Cloudflare 1.1.1.1) দিয়ে টেস্ট করা। sudo ss -tulnpসব লিসেনিং পোর্টের তালিকা ও প্রসেস আইডি (PID) দেখা। • -t: TCP, -u: UDP, -l: Listening, -n: Numeric, -p: Process sudo ss -tulnp | grep :22নির্দিষ্ট পোর্ট (যেমন SSH Port 22) ফিল্টার করে চেক করা।
🔹 Part 6: SSH Remote Access, Key Auth & SCP/Rsync
কমান্ড (Command & Syntax) বিবরণ ও ফ্ল্যাগ (Description & Key Flags) ssh user@10.0.0.2রিমোট লিনাক্স সার্ভারে SSH কানেকশন স্থাপন করা। ssh -p 2222 user@10.0.0.2কাস্টম পোর্টে (যেমন Port 2222) SSH কানেক্ট করা। ssh-keygen -t ed25519 -C "admin@domain.com"আধুনিক ও সুরক্ষিত ED25519 SSH Key Pair তৈরি করা। ssh-copy-id -i ~/.ssh/id_ed25519.pub user@10.0.0.2পাবলিক কি রিমোট সার্ভারে কপি করে Passwordless SSH সেট করা। scp backup.zip user@10.0.0.2:/var/www/SCP দিয়ে লোকাল ফাইল রিমোট সার্ভারে কপি করা। scp -r ./myfolder user@10.0.0.2:/home/user/-r (Recursive) দিয়ে পুরো ফোল্ডার কপি করা।rsync -avzP ./project/ user@10.0.0.2:/backup/Rsync দিয়ে ফাইল সিঙ্ক করা। • -a: Archive (Permissions/Timestamps), -v: Verbose, -z: Compress, -P: Progress/Resume
💡 প্রো-টিপস (Security Hardening):
প্রোডাকশন সার্ভারে নিরাপত্তার জন্য /etc/ssh/sshd_config ফাইলে PasswordAuthentication no এবং PermitRootLogin no সেট করে sudo systemctl restart ssh চালিয়ে দিন।