خرابی DNS یا مشکل MTU؟ درخواست واقعاً کجا متوقف میشود
نامی که هرگز حل نمیشود پیش از هر اتصالی شکست میخورد؛ توقف MTU پس از دستدادن آغاز میشود. نخست مرحله را پیدا کنید، سپس یک لایه را تغییر دهید و دوباره آزمایش کنید.
دو خرابی همان جمله را از کاربر میگیرند: سایت کار نمیکند. آنها در لایههای متفاوت رخ میدهند و همین تفاوت تعیین میکند چه چیزی را تغییر دهید. خرابی حل نام پیش از آنکه هر اتصالی وجود داشته باشد متوقف میشود. خرابی اندازه بسته پس از حل نام و پس از کامل شدن دستدادن رخ میدهد، به همین دلیل صفحه شروع به بارگذاری میکند و سپس متوقف میشود. مرحله را پیش از یافتن تنظیم پیدا کنید.
دو خرابی در دو لایه متفاوت
حل نام، نام را به نشانی تبدیل میکند و هیچ چیز دیگری در اتصال تا موفق شدن آن نمیتواند آغاز شود. مشکلات MTU مسیر بعدتر رخ میدهند، وقتی بستهای بزرگتر از حد یک پیوند دور انداخته میشود و به فرستنده هرگز گفته نمیشود. یکی جستوجوست؛ دیگری خرابی تحویل است که تنها بالاتر از اندازهای مشخص ظاهر میشود.
نشانهها به گونهای متفاوتاند که میتوانید بدون هیچ ابزاری مشاهده کنید. خرابی DNS فوری و پایدار است: مرورگر میگوید سرور پیدا نمیشود. خرابی MTU جزئی است: صفحه آغاز میشود، برخی منابع میرسند و یک پاسخ بزرگ یا بارگذاری متوقف میشود.
اگر نشانه شما جزئی است، نگاه کردن به DNS را متوقف کنید.
مرحله 1: آیا نام اصلاً حل میشود
ابزارهای جستوجوی سکو را با همان نام میزبان دقیقی که برنامه استفاده میکند به کار ببرید. نام خصوصی در دفتر ممکن است به حلکننده داخلی نیاز داشته باشد و DNS امن خود مرورگر میتواند متفاوت از حلکننده سیستمعامل رفتار کند، بنابراین آن دو میتوانند درباره یک نام اختلاف داشته باشند.
از حلکنندهای بپرسید که سیستمعامل به کار میبرد، سپس مقایسه کنید:
dig +short vpn.example.com
dig +short vpn.example.com @10.0.0.53
اگر حل نام شکست بخورد، مشکل همان سیاست و دسترسپذیری آن است. نامهای خصوصی را فقط برای گرفتن مقایسه به حلکنندههای عمومی دلبخواه نفرستید، زیرا خود مقایسه نامهایی را که میخواستید داخلی بمانند افشا میکند.
مرحله 2: انتقال کجا متوقف میشود
اگر نام حل شود و اتصال آغاز شود، ثبت کنید عملیات کجا متوقف میشود. صفحهای که نمایش داده میشود و سپس روی یک منبع متوقف میشود، بارگذاریای که در نقطهای ثابت میمیرد، یا دانلود بزرگی که هرگز تمام نمیشود در حالی که درخواستهای کوچک کار میکنند، همه نشانههای شکل اندازهاند. پاسخی که هرگز آغاز نمیشود شکل دیگری دارد.
نقطه پایانی و مقصد برنامه را هنگام مقایسه ثابت نگه دارید، وگرنه دو متغیر را همزمان میسنجید. در این مرحله علتهای دیگری نیز ممکن است: خطاهای سرویس، افت، رفتار فیلتر و اتصال دوباره تونل همه توقف ایجاد میکنند.
یک توقف تکرارپذیر از ده توقف حکایتی ارزشمندتر است.
چرا MTU تنها پس از دستدادن آسیب میزند
دستدادن TCP از بستههای کوچک استفاده میکند، بنابراین در مسیری که نمیتواند قطعهای با اندازه کامل را حمل کند موفق میشود. خرابی زمانی ظاهر میشود که فرستنده بسته بزرگی را با بیت ممنوعیت قطعهبندی میفرستد، پیوندی آن را دور میاندازد و پیام ICMP که باید حد را گزارش میداد هرگز نمیرسد چون فیلتری آن را خورده است. سپس فرستنده همان اندازه را دوباره امتحان میکند و انتقال متوقف میشود.
به همین دلیل نشانه به اندازه وابسته و تکرارپذیر است، نه تصادفی. همچنین توضیح میدهد چرا پینگ کردن میزبان چیزی را اثبات نمیکند، زیرا یک پژواک کوچک ICMP میتواند از مسیری بگذرد که باری با اندازه کامل را حمل نمیکند. اگر میتوانید اندازه را از دو سر مسیر بسنجید. حدی که تنها در یک جهت ظاهر میشود نامتقارنی مسیریابی است نه MTU تونل.
اندازه را آشکارا بسنجید به جای آنکه آن را استنتاج کنید:
ping -M do -s 1472 203.0.113.20
tracepath 203.0.113.20
یک لایه را تغییر دهید، سپس آن را اثبات کنید
برای نامها، سیاست حلکننده را تغییر دهید و همان جستوجو را دوباره اجرا کنید. برای اندازه، رویه MTU را با مقادیر اصلی ثبتشده و آمادگی بازگردانی به کار ببرید، زیرا محدود کردن MSS بدون دانستن MTU واقعی تونل یک توقف را با توقفی دیگر جایگزین میکند.
صفحهای که پس از تغییر چند تنظیم یک بار بارگذاری میشود تعمیر را مشخص نمیکند. یک چیز را تغییر دهید، همان آزمون را دوباره اجرا کنید و نتیجه را کنار نخستین مرحله ناموفقی که ثبت کردهاید نگه دارید.
همین ثبت است که مانع میشود DNS، اندازه بسته و احراز هویت به انبوهی از راهحلهای موقت دائمی تبدیل شوند که هیچ کس نمیتواند توضیح دهد. آزمایش با IP خام نمونه خوبی از میانبری است که هویت TLS را تغییر میدهد، و خاموش کردن بررسی گواهی برای موفق شدن یک مقایسه تشخیص نیست.