مدیریت و عیبیابی شبکه در لینوکس نیازمند استفاده از ابزارهایی قدرتمند برای مشاهده و پیکربندی رابطهای شبکه، آدرسهای IP، جدول مسیریابی و اتصالات فعال است. در این درس، با دو ابزار اصلی یعنی دستور ip از مجموعه iproute2 و دستور ss برای بررسی سوکتها آشنا میشویم. این ابزارها جایگزین مدرن و قدرتمندتری برای ابزارهای قدیمی مانند ifconfig، route و netstat محسوب میشوند .
دستور ip — مشاهده و مدیریت شبکه
دستور ip یک ابزار جامع از مجموعه iproute2 برای انجام تمام وظایف مدیریت شبکه است. این دستور میتواند رابطهای شبکه، آدرسهای IP، جداول مسیریابی و همسایگان (ARP) را نمایش و دستکاری کند .
ساختار کلی این دستور به شکل زیر است:
ip [ OPTIONS ] OBJECT { COMMAND | help }
اشیاء (OBJECT) اصلی که با آنها کار میکنیم عبارتند از:
-
link: برای مدیریت رابطهای شبکه (Network Interfaces) -
address: برای مدیریت آدرسهای IP -
route: برای مدیریت جدول مسیریابی
مدیریت رابطهای شبکه با ip link
از ip link برای مشاهده و تغییر وضعیت رابطهای فیزیکی و مجازی شبکه استفاده میشود .
مشاهده همه رابطهای شبکه:
ip link show
مشاهده یک رابط خاص (مثلا eth0):
ip link show eth0
مشاهده آمار دقیق یک رابط (تعداد بستههای ارسالی/دریافتی و خطاها):
ip -s link show eth0
فعال یا غیرفعال کردن یک رابط:
sudo ip link set eth0 up sudo ip link set eth0 down
تغییر اندازه MTU یک رابط:
sudo ip link set eth0 mtu 1400
مدیریت آدرسهای IP با ip address
از ip address (یا به اختصار ip addr) برای مشاهده و اختصاص آدرسهای IP به رابطها استفاده میشود .
مشاهده آدرسهای IP همه رابطها:
ip address
مشاهده آدرسهای IP یک رابط خاص:
ip address show eth0
افزودن یک آدرس IP جدید به یک رابط:
sudo ip addr add 192.168.1.10/24 dev eth0
با این دستور، یک آدرس IP جدید (مثلاً
192.168.1.10) با زیرنویس (netmask)24به رابطeth0اضافه میشود .
حذف یک آدرس IP از یک رابط:
sudo ip addr del 192.168.1.10/24 dev eth0
مدیریت جدول مسیریابی با ip route
از ip route برای مشاهده و دستکاری جدول مسیریابی هسته استفاده میشود . این دستور مشخص میکند که بستههای شبکه برای رسیدن به مقاصد مختلف، از کدام مسیر ارسال شوند.
مشاهده جدول مسیریابی:
ip route show
خروجی این دستور شامل مسیرهای مختلفی است که هر کدام دارای مقصد، دروازه (Gateway) و رابط خروجی هستند.
افزودن یک مسیر جدید:
برای افزودن یک مسیر به یک شبکه خاص از طریق یک دروازه:
sudo ip route add 192.168.2.0/24 via 192.168.1.1
این دستور به سیستم میگوید که بستههای مربوط به شبکه 192.168.2.0/24 را از طریق آدرس 192.168.1.1 که یک دروازه (Gateway) است، ارسال کند .
افزودن مسیر پیشفرض (Default Gateway):
sudo ip route add default via 192.168.1.1
مسیر پیشفرض، مقصدی است که بستهها در صورتی به آن ارسال میشوند که هیچ مسیر اختصاصی دیگری برای آنها وجود نداشته باشد.
حذف یک مسیر:
sudo ip route del 192.168.2.0/24
بررسی اتصالات شبکه با ss
دستور ss (مخفف Socket Statistics) ابزاری برای نمایش اطلاعات دقیق در مورد سوکتهای شبکه (Socket) است. این دستور میتواند اطلاعات بسیار بیشتری نسبت به netstat سنتی نشان دهد و برای عیبیابی اتصالات شبکه بسیار کارآمد است .
ساختار کلی:
ss [options] [ FILTER ]
گزینههای مهم ss:
| گزینه | عملکرد |
|---|---|
-t, --tcp | نمایش سوکتهای TCP |
-u, --udp | نمایش سوکتهای UDP |
-l, --listening | نمایش فقط سوکتهای در حالت گوشدهی (Listening) |
-a, --all | نمایش سوکتهای گوشدهنده و غیرگوشدهنده (مانند اتصالات برقرار شده) |
-n, --numeric | نمایش آدرسها و پورتها بهصورت عددی (عدم تبدیل به نام سرویس) |
-p, --processes | نمایش شناسه (PID) و نام فرآیندی که از سوکت استفاده میکند |
-i, --info | نمایش اطلاعات داخلی TCP مانند زمان رفت و برگشت (RTT) |
-s, --summary | نمایش خلاصه آماری از سوکتها |
-4 یا -6 | نمایش فقط سوکتهای IPv4 یا IPv6 |
مثالها:
مشاهده همه اتصالات TCP به همراه فرآیندهای مربوطه:
ss -t -a -p
مشاهده سوکتهای TCP در حالت گوشدهی (مثلاً برای پیدا کردن سرویسهای در حال اجرا):
ss -t -l -n
استفاده از -n باعث میشود پورتها بهصورت عددی نمایش داده شوند، مثلاً 80 بهجای http.
مشاهده خلاصه آماری همه سوکتها:
ss -s
مشاهده اطلاعات دقیق TCP برای یک اتصال خاص، همراه با زمان RTT:
ss -t -i
مقایسه ابزارهای قدیمی و جدید
| وظیفه | ابزار قدیمی | ابزار جدید (پیشنهادی) |
|---|---|---|
| مشاهده رابطهای شبکه | ifconfig | ip link show, ip address show |
| فعال/غیرفعال کردن رابط | ifconfig eth0 up/down | ip link set eth0 up/down |
| مشاهده جدول مسیریابی | route -n | ip route show |
| افزودن مسیر | route add ... | ip route add ... |
| مشاهده اتصالات شبکه | netstat -tulpn | ss -tulpn |
نکته نهایی: ابزارهای
ipوssبخشی از بستهiproute2هستند و در تمام توزیعهای مدرن لینوکس بهصورت پیشفرض نصب میباشند. یادگیری این دستورات برای هر مدیر سیستم یا کاربر حرفهای لینوکس ضروری است، زیرا دید کاملتری نسبت به شبکه سیستم ارائه میدهند و ابزارهای قدیمیتر دیگر در بسیاری از توزیعها بهروزرسانی نمیشوند .