مشکلات دردسرساز VPN بین شعب آنهایی هستند که نیمهکارهاند: ping جواب میدهد اما Remote Desktop پس از اتصال قفل میکند، کپی فایل وسط کار میماند، یا تونل هر چند ساعت یکبار چند دقیقه قطع میشود. این راهنما سه علت رایج این مشکلات، یعنی MTU، DNS و ناپایداری تونل، را بررسی میکند.
ترتیب درست عیبیابی
پیش از رفتن سراغ جزئیات، از پایین به بالا جلو بروید:
- آیا فاز ۱ و فاز ۲ تونل روی هر دو طرف برقرار است؟
- آیا شبکههای تعریفشده در دو طرف (Traffic Selector یا Proxy ID) دقیقاً با هم میخوانند؟
- آیا مسیر (Route) به شبکه طرف مقابل از تونل میگذرد و قانون فایروال اجازه عبور میدهد؟
- آیا ارتباط با آدرس IP کار میکند اما با نام نه؟ سراغ DNS بروید.
- آیا بستههای کوچک عبور میکنند اما بستههای بزرگ نه؟ سراغ MTU بروید.
MTU؛ وقتی بستههای بزرگ گم میشوند
حداکثر اندازه بسته (MTU) در اترنت معمولاً ۱۵۰۰ بایت است. تونل IPsec به هر بسته سربرگهای رمزنگاری و، در صورت عبور از NAT، سربرگ UDP اضافه میکند و روی لینکهای PPPoE هم MTU معمولاً ۱۴۹۲ است. در نتیجه بسته ۱۵۰۰ بایتی کاربر دیگر در مسیر جا نمیشود.
در حالت عادی، سازوکار کشف MTU مسیر (Path MTU Discovery) با پیام ICMP از نوع Fragmentation Needed به فرستنده خبر میدهد که بسته کوچکتری بفرستد. اگر فایروالی همه پیامهای ICMP را مسدود کرده باشد، این پیام نمیرسد و بستههای بزرگ بیصدا دور ریخته میشوند.
برای اندازهگیری، از یک رایانه شعبه به سروری در مرکز با گزینه «قطعهقطعه نکن» پینگ بگیرید:
- در ویندوز:
ping -f -l 1472 10.10.0.10 - در لینوکس:
ping -M do -s 1472 10.10.0.10
عدد ۱۴۷۲ بهاضافه ۲۸ بایت سربرگ IP و ICMP برابر ۱۵۰۰ است. اگر خطا گرفتید، عدد را کم کنید تا بزرگترین اندازهای را پیدا کنید که عبور میکند؛ MTU واقعی مسیر همان عدد بهاضافه ۲۸ است. برای رفع مشکل:
- روی تونل MSS Clamping را فعال کنید تا اتصالهای TCP از ابتدا با بستههای کوچکتر شروع شوند. مقدار MSS برابر MTU مسیر منهای ۴۰ بایت است و کمی پایینتر از آن حاشیه اطمینان میدهد.
- اگر تونل شما مبتنی بر رابط (Route-Based) است، MTU رابط تونل را بر اساس اندازهگیری تنظیم کنید.
- پیامهای ICMP از نوع Fragmentation Needed را روی فایروالها مسدود نکنید.
MSS Clamping فقط روی TCP اثر دارد. برای ترافیک UDP، تنظیم MTU رابط تونل و رفتار تجهیز در قطعهقطعه کردن بستهها تعیینکننده است.
DNS؛ وقتی با IP کار میکند اما با نام نه
- DNS داخلی در شعبه تعریف نشده: اگر کاربران شعبه از DNS مودم یا سرویسدهنده استفاده کنند، نامهای داخلی مثل
fs01.company.localرا پیدا نمیکنند. DHCP شعبه باید DNS داخلی شرکت را بدهد. - وابستگی کامل به DNS مرکز: اگر تنها DNS شعبه آن سوی تونل باشد، با قطع تونل اینترنت شعبه هم از کار میافتد؛ یک کنترلکننده دامین یا DNS محلی در شعبه این وابستگی را کم میکند.
- Sites and Services تنظیم نشده: اگر بازه IP شعبه در Active Directory Sites and Services به سایت درست مرتبط نباشد، رایانهها ممکن است سراغ کنترلکننده دامین دورتر بروند و ورود کند شود.
قطعیهای دورهای تونل
زمان هر قطعی را ثبت کنید و لاگ دو طرف را در همان لحظه کنار هم بگذارید. علتهای رایج:
- ناهمخوانی Lifetime: اگر عمر کلیدهای فاز ۱ یا ۲ در دو طرف متفاوت باشد، تونل هنگام تمدید کلید (Rekey) ممکن است قطع شود؛ قطعیهای با فاصله منظم معمولاً از همینجاست.
- DPD: تشخیص قطعی طرف مقابل (Dead Peer Detection) را در دو طرف فعال و هماهنگ کنید تا تونل از کار افتاده سریع بازسازی شود.
- تغییر IP عمومی: اگر IP یک طرف ثابت نیست، با هر تغییر آن تونل قطع میشود؛ IP ثابت یا دستکم DDNS لازم است.
- چند زیرشبکه: در برخی تجهیزات، بهخصوص با IKEv1، برای هر جفت زیرشبکه SA جداگانه ساخته میشود و گاهی فقط بخشی از ارتباطها قطع میشود.
چکلیست
- وضعیت تونل و Traffic Selectorها در هر دو طرف بررسی شده است.
- MTU مسیر با پینگ اندازهگیری و MSS Clamping تنظیم شده است.
- ICMP از نوع Fragmentation Needed مسدود نیست.
- DHCP شعبه DNS داخلی میدهد و شعبه در Sites and Services تعریف شده است.
- Lifetime و DPD در دو طرف یکسان است.
- زمان قطعیها ثبت و تونل بهطور دائم پایش میشود.
کارشناسان ITPlus724 میتوانند تونلهای بین شعب شما را عیبیابی و تنظیمات دو طرف را برای اتصالی پایدار هماهنگ کنند.