WIUNIX ACADEMY
تشخیص PMTU black hole و ارسال مجدد TCP در لینوکس
صفحهٔ 3 از 3؛ قبل از ادامه، مراحل قبلی و چیزهایی رو که لازم داری مرور کن.
آموزش متناسب با محیط تو
کجا اجرا میکنی؟
سیستمعامل و نسخهٔ سرورت رو انتخاب کن تا مراحل، دستورها و راهحلهای همون محیط رو ببینی.
آموزش متناسب با مقادیر تو
تنظیمات این آموزش
مقادیر نمونه رو با مشخصات سرورت عوض کن تا متن و دستورها با هم تغییر کنن. رمز، کلید خصوصی و توکن اینجا وارد نکن. مقدارها فقط توی همین زبانه میمونن و به سرور یا لینک اشتراکگذاری فرستاده نمیشن. قبل از اجرا، DNS، گواهیها و تنظیمات دسترسی شبکه رو روی سرورت بررسی کن.
اگر آیپی، دامنه یا پورتهای نمونه با سرورت فرق دارن، بخش تنظیمات پایین رو باز کن. مقدارها رو عوض کن و «اعمال در آموزش» رو بزن؛ بعد دستورهای تازه رو کپی کن.
تنظیم مقادیر برای محیط من6 مقدار قابلتغییر
اگر بررسی نتیجهٔ قابلاستفاده نمیده
خود خطا رو نگه دار و از محدودهٔ پروتکل و میزبان انتخابشده بیرون نرو. این بررسیها اجازهٔ ساخت تونل، تغییر امنیت میزبان، ضبط کامل ترافیک یا ساخت بار سنگین نمیدن.
socket متناسب پیدا نمیشه
ممکنه کار تموم شده باشه یا از آدرس، پورت، IPv6، پراکسی یا فضای نام دیگری استفاده کنه. tuple و پروتکل مشاهدهشدهٔ برنامه رو تأیید کن؛ فهرست خالی نشونهٔ سالمبودن TCP نیست.
ss -4 -t -i -n 'dst 198.51.100.20 and dport = :443'
ip -4 route get '198.51.100.20'اتصال به مبدأ یا بررسی رابط شکست میخوره
آدرس واقعاً تنظیمشده در همین فضای نام و رابط خروجی مشاهدهشده رو انتخاب کن. برای درستشدن این پنل، آدرس مستندات رو به رابط عملیاتی اضافه نکن و مسیر رو جابهجا نکن.
ip -4 address show dev 'eth0'
ip link show dev 'eth0'مجوز ضبط رد میشه
مسیر ابزار نصبشده و سیاست مدیریتی موجود رو با مسئول میزبان بررسی کن. وجود بسته مجوز ضبط نیست؛ capability سراسری نده و اجرای سیاست امنیتی رو خاموش نکن.
command -v tcpdump
tcpdump --versionپیام ICMP دیده نمیشه
ضبط ساکت نبود بستهٔ بزرگ رو از نقطهٔ مشاهدهٔ اشتباه یا پیام فیلترشده جدا نمیکنه. مبدأ، رابط و PMTU خود socket رو در زمان تلاش مجاز دوباره ببین؛ snaplen رو روی ۶۸ نگه دار و ضبط رو به محتوای برنامه گسترش نده.
ip -4 address show dev 'eth0'
ss -4 -t -i -n 'dst 198.51.100.20 and dport = :443'قدم بعدی
بعد از اصلاح مجاز، پیشرفت رو روی همون مسیر بسنج
پنلها تنظیم شبکهٔ ماندگار رو عوض نکردن، پس برگشت تنظیمی لازم ندارن. مشاهدهها با تعداد یا مهلت خودشون تموم میشن؛ اگر لازم شد مشاهدهٔ باقیمونده رو در ترمینال خودش قطع کن. probe فعال ممکنه اطلاعات معمول PMTU کرنل رو تازه کنه و روی مشاهدهٔ بعدی اثر بذاره؛ ترتیب کار رو ثبت کن، نه اینکه این اطلاعات رو پاک کنی.
بعد از تغییر جداگانه و مصوب شبکه، مشاهدهٔ محدود رو با کار مجاز و قابلمقایسهٔ برنامه تکرار کن. باید هم پیشرفت مفید و موفقیت برنامه رو ببینی و هم شمارندهٔ تازه رو به یک اتصال مشخص وصل کنی. کمشدن ارسال مجدد چون همهٔ ترافیک قطع شده، بازیابی نیست. جهت برگشت رو هم با مسئولش بررسی کن؛ probe موفق کلاینت به سرور، انتقال حجیم سرور به کلاینت رو تأیید نمیکنه.
اگر تغییر باعث مشکل تازه شد، از روش مالک فایروال، شبکه یا تونل، تنظیم قبلیِ ثبتشده رو برگردون و دسترسی مدیریتی و ترافیک برنامه رو دوباره بسنج. شواهد و فرضیهٔ حلنشده رو نگه دار؛ تغییر سراسری بیشتری روی مشکل نگذار. این دستورها اجرای عملی همهٔ توزیعها یا ثابتماندن PMTU مسیر آینده رو تضمین نمیکنن.
ترمینال مجازِ میزبان کلاینت در همان فضای شبکهٔ درگیر
date -u +%FT%TZ
ss -4 -t -i -n 'dst 198.51.100.20 and dport = :443'
ip -s link show dev 'eth0'اتصال شناساییشده پیشرفت مفید داره و بررسی محدودِ خود برنامه روی مسیر موردنظر موفقه؛ ابهام جهت دیگر یا محدودیت دید همچنان ثبت میشه.
منابع این آموزش
منابع رسمی
بالای صفحه میبینی که هر محیط چطور بررسی شده. بررسی مستندات به معنی اجرای عملی همهٔ نسخهها نیست.
- IPv4 Path MTU Discovery
- TCP PMTUD failure patterns
- Linux ss socket inspection
- iproute2 TCP_INFO display implementation
- Linux route lookup
- iputils ping and DF probes
- tracepath UDP behavior
- tcpdump capture controls
- libpcap filter offsets
- curl configuration, HEAD and timing
- Linux PMTU and TCP probing settings
- Ubuntu iputils packages
- Debian iproute2 package
- Debian tracepath package
- Arch iputils package contents
- Arch iproute2 package contents
- Red Hat packet-capture guidance
- Manjaro package management
ادامهٔ مسیر