← شروع آموزش

WIUNIX ACADEMY

تشخیص PMTU black hole و ارسال مجدد TCP در لینوکس

صفحهٔ 3 از 3؛ قبل از ادامه، مراحل قبلی و چیزهایی رو که لازم داری مرور کن.

آموزش متناسب با محیط تو

کجا اجرا می‌کنی؟

سیستم‌عامل و نسخهٔ سرورت رو انتخاب کن تا مراحل، دستورها و راه‌حل‌های همون محیط رو ببینی.

Manjaro (rolling)بررسی‌شده با مستندات رسمی ·

آموزش متناسب با مقادیر تو

تنظیمات این آموزش

مقادیر نمونه رو با مشخصات سرورت عوض کن تا متن و دستورها با هم تغییر کنن. رمز، کلید خصوصی و توکن اینجا وارد نکن. مقدارها فقط توی همین زبانه می‌مونن و به سرور یا لینک اشتراک‌گذاری فرستاده نمی‌شن. قبل از اجرا، DNS، گواهی‌ها و تنظیمات دسترسی شبکه رو روی سرورت بررسی کن.

اگر آی‌پی، دامنه یا پورت‌های نمونه با سرورت فرق دارن، بخش تنظیمات پایین رو باز کن. مقدارها رو عوض کن و «اعمال در آموزش» رو بزن؛ بعد دستورهای تازه رو کپی کن.

تنظیم مقادیر برای محیط من6 مقدار قابل‌تغییر

اگر بررسی نتیجهٔ قابل‌استفاده نمی‌ده

خود خطا رو نگه دار و از محدودهٔ پروتکل و میزبان انتخاب‌شده بیرون نرو. این بررسی‌ها اجازهٔ ساخت تونل، تغییر امنیت میزبان، ضبط کامل ترافیک یا ساخت بار سنگین نمی‌دن.

socket متناسب پیدا نمی‌شه

ممکنه کار تموم شده باشه یا از آدرس، پورت، IPv6، پراکسی یا فضای نام دیگری استفاده کنه. tuple و پروتکل مشاهده‌شدهٔ برنامه رو تأیید کن؛ فهرست خالی نشونهٔ سالم‌بودن TCP نیست.

bash
ss -4 -t -i -n 'dst 198.51.100.20 and dport = :443'
ip -4 route get '198.51.100.20'
اتصال به مبدأ یا بررسی رابط شکست می‌خوره

آدرس واقعاً تنظیم‌شده در همین فضای نام و رابط خروجی مشاهده‌شده رو انتخاب کن. برای درست‌شدن این پنل، آدرس مستندات رو به رابط عملیاتی اضافه نکن و مسیر رو جابه‌جا نکن.

bash
ip -4 address show dev 'eth0'
ip link show dev 'eth0'
مجوز ضبط رد می‌شه

مسیر ابزار نصب‌شده و سیاست مدیریتی موجود رو با مسئول میزبان بررسی کن. وجود بسته مجوز ضبط نیست؛ capability سراسری نده و اجرای سیاست امنیتی رو خاموش نکن.

bash
command -v tcpdump
tcpdump --version
پیام ICMP دیده نمی‌شه

ضبط ساکت نبود بستهٔ بزرگ رو از نقطهٔ مشاهدهٔ اشتباه یا پیام فیلترشده جدا نمی‌کنه. مبدأ، رابط و PMTU خود socket رو در زمان تلاش مجاز دوباره ببین؛ snaplen رو روی ۶۸ نگه دار و ضبط رو به محتوای برنامه گسترش نده.

bash
ip -4 address show dev 'eth0'
ss -4 -t -i -n 'dst 198.51.100.20 and dport = :443'
09

قدم بعدی

بعد از اصلاح مجاز، پیشرفت رو روی همون مسیر بسنج

پنل‌ها تنظیم شبکهٔ ماندگار رو عوض نکردن، پس برگشت تنظیمی لازم ندارن. مشاهده‌ها با تعداد یا مهلت خودشون تموم می‌شن؛ اگر لازم شد مشاهدهٔ باقی‌مونده رو در ترمینال خودش قطع کن. probe فعال ممکنه اطلاعات معمول PMTU کرنل رو تازه کنه و روی مشاهدهٔ بعدی اثر بذاره؛ ترتیب کار رو ثبت کن، نه اینکه این اطلاعات رو پاک کنی.

بعد از تغییر جداگانه و مصوب شبکه، مشاهدهٔ محدود رو با کار مجاز و قابل‌مقایسهٔ برنامه تکرار کن. باید هم پیشرفت مفید و موفقیت برنامه رو ببینی و هم شمارندهٔ تازه رو به یک اتصال مشخص وصل کنی. کم‌شدن ارسال مجدد چون همهٔ ترافیک قطع شده، بازیابی نیست. جهت برگشت رو هم با مسئولش بررسی کن؛ probe موفق کلاینت به سرور، انتقال حجیم سرور به کلاینت رو تأیید نمی‌کنه.

اگر تغییر باعث مشکل تازه شد، از روش مالک فایروال، شبکه یا تونل، تنظیم قبلیِ ثبت‌شده رو برگردون و دسترسی مدیریتی و ترافیک برنامه رو دوباره بسنج. شواهد و فرضیهٔ حل‌نشده رو نگه دار؛ تغییر سراسری بیشتری روی مشکل نگذار. این دستورها اجرای عملی همهٔ توزیع‌ها یا ثابت‌ماندن PMTU مسیر آینده رو تضمین نمی‌کنن.

bash

ترمینال مجازِ میزبان کلاینت در همان فضای شبکهٔ درگیر

date -u +%FT%TZ
ss -4 -t -i -n 'dst 198.51.100.20 and dport = :443'
ip -s link show dev 'eth0'
از کجا بفهمم درست انجام شده؟

اتصال شناسایی‌شده پیشرفت مفید داره و بررسی محدودِ خود برنامه روی مسیر موردنظر موفقه؛ ابهام جهت دیگر یا محدودیت دید همچنان ثبت می‌شه.

منابع این آموزش

منابع رسمی

بالای صفحه می‌بینی که هر محیط چطور بررسی شده. بررسی مستندات به معنی اجرای عملی همهٔ نسخه‌ها نیست.

ادامهٔ مسیر

قدم بعدی تو

همهٔ آموزش‌های آکادمی ↗