درس ۷ از ۱۲

تنظیمات و ابزارهای شبکه Linux

هدف این درس این است که تنظیمات و ابزارهای شبکه Linux برایت فقط یک عنوان تئوری نباشد؛ مفهوم را کوتاه و روشن می‌فهمیم، بعد با systemctl، journalctl، ip، ss، df، free و ps سراغ وضعیت واقعی می‌رویم و در پایان روش بررسی یک مشکل مرتبط را تمرین می‌کنیم در این درس Linux را از دید یک پشتیبان شبکه بررسی می‌کنیم؛ لازم نیست همه جزئیات سیستم‌عامل را حفظ کنی، اما باید ساختار فایل‌ها، User و Permission، Serviceها، Network و Log را بشناسی؛ هدف این است که قبل از تغییر بدانی کدام Service و فایل درگیر است، از Log شواهد بگیری و تغییر را با حداقل دسترسی و امکان بازگشت انجام بدهی

این درس برای مطالعه کامل نوشته شده است

با حوصله بخوان، مثال‌ها را تحلیل کن و تمرین‌ها را انجام بده؛ هدف حفظ کردن تعریف‌ها نیست

ip addr Address را نشان می‌دهد

دستور ip addr Interfaceها، وضعیت Link و Addressهای IPv۴/IPv۶ را نمایش می‌دهد. Interface درست، Prefix و State آن را با طراحی شبکه مقایسه کن نشانی IP هویت منطقی Interface در لایه شبکه است و باید همراه Prefix یا Subnet Mask تفسیر شود؛ Prefix مشخص می‌کند کدام بخش نشانی برای شبکه و کدام بخش برای Host استفاده می‌شود و همین موضوع تعیین می‌کند مقصد محلی است یا باید به Router فرستاده شود؛ در عیب‌یابی، فقط دیدن یک IP کافی نیست و باید Prefix، Gateway، DNS، روش دریافت تنظیمات، Route Table و احتمال وجود نشانی تکراری نیز بررسی شوند در Linux مدیریت سرویس‌ها، فایل‌ها، Userها و شبکه بر پایه ابزارها و فایل‌های پیکربندی مشخص انجام می‌شود؛ systemd وضعیت Serviceها و وابستگی آن‌ها را مدیریت می‌کند و journal می‌تواند رویدادهای Kernel، Service و فرایندهای مختلف را ثبت کند؛ Permissionهای فایل از Owner، Group و Other و بیت‌های دسترسی تشکیل می‌شوند و استفاده از sudo باید کنترل‌شده باشد؛ پیش از تغییر باید مسیر فایل پیکربندی، Service مرتبط و Log همان Service شناخته شود در یک شبکه یا سیستم واقعی، این موضوع زمانی روشن می‌شود که در Linux بهتر است هر تغییر را با شناخت Service و فایل پیکربندی مربوط انجام دهی؛ وضعیت Process، Socket، Permission و Log معمولاً سرنخ‌های اصلی هستند؛ systemd و journal ابزارهای مرکزی در بسیاری از توزیع‌های مدرن‌اند و NetworkManager نیز در RHEL برای مدیریت شبکه استفاده می‌شود؛ قبل از ویرایش، نسخه فایل و راه بازگشت نگه داشته شود

ip route جدول مسیر را نمایش می‌دهد

دستور ip route مسیرهای Kernel از جمله Default Route را نشان می‌دهد؛ برای مشکل دسترسی بیرون Subnet ببین Route مقصد و Gateway مناسب وجود دارد و Interface آن Up است نشانی IP هویت منطقی Interface در لایه شبکه است و باید همراه Prefix یا Subnet Mask تفسیر شود؛ Prefix مشخص می‌کند کدام بخش نشانی برای شبکه و کدام بخش برای Host استفاده می‌شود و همین موضوع تعیین می‌کند مقصد محلی است یا باید به Router فرستاده شود؛ در عیب‌یابی، فقط دیدن یک IP کافی نیست و باید Prefix، Gateway، DNS، روش دریافت تنظیمات، Route Table و احتمال وجود نشانی تکراری نیز بررسی شوند Router زمانی وارد مسیر می‌شود که مقصد خارج از شبکه محلی باشد و جدول Routing تعیین می‌کند Packet از کدام Next Hop یا Interface عبور کند؛ Default Route فقط مسیر پیش‌فرض برای مقصدهایی است که Route مشخص‌تری ندارند؛ در بررسی مشکل باید Routeهای موجود، Prefix هر Route، Gateway یا Next Hop، وضعیت Interface و مسیر برگشت را هم دید، چون رسیدن Packet به مقصد بدون مسیر برگشت معتبر ارتباط پایدار ایجاد نمی‌کند

Resolver تنظیم DNS را مدیریت می‌کند

DNS نام را به اطلاعاتی مانند IP تبدیل می‌کند تا کاربر مجبور نباشد نشانی عددی سرویس‌ها را حفظ کند؛ اگر IP مقصد کار می‌کند ولی نام نه، Query DNS را جداگانه آزمایش کن پاک کردن Cache ممکن است کمک کند اما جای بررسی Record، Resolver و مسیر DNS را نمی‌گیرد DNS سامانه نام‌گذاری توزیع‌شده‌ای است که نام را به داده‌هایی مانند IP مرتبط می‌کند و بسیاری از سرویس‌های سازمانی به Name Resolution درست وابسته‌اند؛ خطای DNS ممکن است در ظاهر شبیه قطعی شبکه یا خرابی برنامه دیده شود، بنابراین باید جداگانه بررسی شود که Client به DNS Server درست اشاره می‌کند، Query پاسخ می‌گیرد، Zone و Record مورد نیاز وجود دارند و زمان و دامنه جست‌وجو با طراحی شبکه سازگارند در Linux مدیریت سرویس‌ها، فایل‌ها، Userها و شبکه بر پایه ابزارها و فایل‌های پیکربندی مشخص انجام می‌شود؛ systemd وضعیت Serviceها و وابستگی آن‌ها را مدیریت می‌کند و journal می‌تواند رویدادهای Kernel، Service و فرایندهای مختلف را ثبت کند؛ Permissionهای فایل از Owner، Group و Other و بیت‌های دسترسی تشکیل می‌شوند و استفاده از sudo باید کنترل‌شده باشد؛ پیش از تغییر باید مسیر فایل پیکربندی، Service مرتبط و Log همان Service شناخته شود

ping و traceroute برای Reachability هستند

Traceroute مسیر Hopهای بین مبدأ و مقصد را تقریبی نشان می‌دهد؛ تغییر یا توقف مسیر می‌تواند محل بررسی را محدود کند بعضی Routerها پاسخ TTL نمی‌دهند؛ ستاره لزوماً به معنی خرابی همان Hop نیست Ping زمان رفت و برگشت و دریافت پاسخ ICMP را نشان می‌دهد و برای محدود کردن محدوده مفید است؛ به‌ترتیب Loopback، IP خود دستگاه، Gateway و مقصد Remote را تست کن یک Ping موفق کیفیت کامل نرم‌افزار را ثابت نمی‌کند Router زمانی وارد مسیر می‌شود که مقصد خارج از شبکه محلی باشد و جدول Routing تعیین می‌کند Packet از کدام Next Hop یا Interface عبور کند؛ Default Route فقط مسیر پیش‌فرض برای مقصدهایی است که Route مشخص‌تری ندارند؛ در بررسی مشکل باید Routeهای موجود، Prefix هر Route، Gateway یا Next Hop، وضعیت Interface و مسیر برگشت را هم دید، چون رسیدن Packet به مقصد بدون مسیر برگشت معتبر ارتباط پایدار ایجاد نمی‌کند در Linux مدیریت سرویس‌ها، فایل‌ها، Userها و شبکه بر پایه ابزارها و فایل‌های پیکربندی مشخص انجام می‌شود؛ systemd وضعیت Serviceها و وابستگی آن‌ها را مدیریت می‌کند و journal می‌تواند رویدادهای Kernel، Service و فرایندهای مختلف را ثبت کند؛ Permissionهای فایل از Owner، Group و Other و بیت‌های دسترسی تشکیل می‌شوند و استفاده از sudo باید کنترل‌شده باشد؛ پیش از تغییر باید مسیر فایل پیکربندی، Service مرتبط و Log همان Service شناخته شود

ss Portهای Listening را نشان می‌دهد

Port عدد منطقی داخل TCP یا UDP است که سرویس مقصد را مشخص می‌کند؛ برای تست سرویس باید IP مقصد، پروتکل و Port را با هم بدانیم Port فیزیکی Switch با Port نرم‌افزاری TCP/UDP یکی نیست در Linux مدیریت سرویس‌ها، فایل‌ها، Userها و شبکه بر پایه ابزارها و فایل‌های پیکربندی مشخص انجام می‌شود؛ systemd وضعیت Serviceها و وابستگی آن‌ها را مدیریت می‌کند و journal می‌تواند رویدادهای Kernel، Service و فرایندهای مختلف را ثبت کند؛ Permissionهای فایل از Owner، Group و Other و بیت‌های دسترسی تشکیل می‌شوند و استفاده از sudo باید کنترل‌شده باشد؛ پیش از تغییر باید مسیر فایل پیکربندی، Service مرتبط و Log همان Service شناخته شود نکته‌ای که هنگام پشتیبانی نباید از آن عبور کنی این است که Permission و مالکیت در Linux باید با نیاز واقعی Service هماهنگ باشد؛ اجرای همه چیز با root مشکل را پنهان می‌کند و سطح ریسک را بالا می‌برد؛ User و Group مناسب، حداقل Permission لازم و sudo کنترل‌شده روش قابل نگهداری‌تری است؛ بعد از تغییر، هم دسترسی مورد نیاز و هم عدم دسترسی ناخواسته بررسی شود

مثال محیط واقعی

فرض کن در Server Linux مشکلی گزارش شده و احتمال می‌دهی به تنظیمات و ابزارهای شبکه Linux مربوط باشد. قبل از تغییر، وضعیت فعلی را با systemctl، journalctl، ip، ss، df، free و ps بررسی می‌کنی و نتیجه را با یک حالت سالم یا مستند معتبر مقایسه می‌کنی. اگر شواهد فرضیه را تأیید کردند، فقط همان بخش مرتبط را تغییر می‌دهی و بعد همان تست را دوباره اجرا می‌کنی تا مطمئن شوی مشکل واقعاً برطرف شده است

اشتباهات رایج

این اشتباه‌ها را تکرار نکن

  • پاک کردن Cache ممکن است کمک کند اما جای بررسی Record، Resolver و مسیر DNS را نمی‌گیرد
  • تغییر دادن تنظیمات مرتبط با تنظیمات و ابزارهای شبکه Linux قبل از اینکه مطمئن شوی مشکل واقعاً به همین بخش مربوط است
  • نتیجه‌گیری درباره تنظیمات و ابزارهای شبکه Linux فقط از روی یک نشانه و بدون انجام تست نهایی
تمرین عملی

حالا خودت انجام بده

  1. در یک نمونه آزمایشی مرتبط با تنظیمات و ابزارهای شبکه Linux، فقط وضعیت فعلی را مشاهده کن و سه نکته‌ای را که برای تشخیص حالت سالم مهم‌اند یادداشت کن
  2. با systemctl، journalctl، ip، ss، df، free و ps وضعیت مرتبط با تنظیمات و ابزارهای شبکه Linux را بدون تغییر بررسی کن، سه داده واقعی جمع کن و توضیح بده هرکدام چه چیزی به تو می‌گویند
  3. یک خطای فرضی مرتبط با تنظیمات و ابزارهای شبکه Linux بنویس و مشخص کن اولین تست کم‌خطر تو چیست و چه نتیجه‌ای فرضیه‌ات را رد می‌کند

نکته‌هایی که باید با خودت ببری

  • ip addr Address را نشان می‌دهد
  • ip route جدول مسیر را نمایش می‌دهد
  • Resolver تنظیم DNS را مدیریت می‌کند
  • ping و traceroute برای Reachability هستند
  • ss Portهای Listening را نشان می‌دهد
  • با root دائمی کار نکن و قبل از ویرایش فایل تنظیمات نسخه برگشت داشته باش
خودسنجی

قبل از رفتن به درس بعد، جواب را برای خودت توضیح بده

این نکته را با یک مثال توضیح بده: ip addr Address را نشان می‌دهد. بعد بگو در عمل چطور آن را بررسی می‌کنی.

دستور ip addr Interfaceها، وضعیت Link و Addressهای IPv۴/IPv۶ را نمایش می‌دهد. Interface درست، Prefix و State آن را با طراحی شبکه مقایسه کن

این نکته را با یک مثال توضیح بده: ip route جدول مسیر را نمایش می‌دهد. بعد بگو در عمل چطور آن را بررسی می‌کنی.

دستور ip route مسیرهای Kernel از جمله Default Route را نشان می‌دهد. برای مشکل دسترسی بیرون Subnet ببین Route مقصد و Gateway مناسب وجود دارد و Interface آن Up است

این نکته را با یک مثال توضیح بده: Resolver تنظیم DNS را مدیریت می‌کند. بعد بگو در عمل چطور آن را بررسی می‌کنی.

DNS نام را به اطلاعاتی مانند IP تبدیل می‌کند تا کاربر مجبور نباشد نشانی عددی سرویس‌ها را حفظ کند؛ اگر IP مقصد کار می‌کند ولی نام نه، Query DNS را جداگانه آزمایش کن

مطالعه درس همیشه عمومی است

برای ذخیره پیشرفت، دوره را رسمی شروع کن

با ثبت‌نام، تکمیل درس‌ها و نمره آزمون روی حساب ذخیره می‌شود

ثبت‌نام و شروع رسمی