پایان مهلت اتصال VPN: DNS، انتقال، مذاکره یا ورود
پایان مهلت فقط یعنی یک ضربالاجل گذشته است. چهار مرحله را مقایسه کنید: حل نام، انتقال، مذاکره و ورود، تا ببینید کدام یک آخر بار کامل شده است.
«اتصال از مهلت گذشت» کمدقتترین خطایی است که یک کارخواه VPN میتواند چاپ کند. یعنی یک عملیات مهلتش را از دست داده، و هر مرحله از حل نام تا پاسخ ورود مهلتی دارد. کارخواههایی که فقط پیام نهایی را نشان میدهند مرحلهها را یکسان جلوه میدهند، پس مردم مهلت را بالا میبرند، پورت را عوض میکنند و پروفایل را دوباره نصب میکنند، به همین ترتیب، بدون آنکه چیزی بیاموزند. مقایسه مرحلهها سریعتر است: هر مرحله در جای دیگری شکست میخورد، و هر شکست نوع متفاوتی از شواهد بر جای میگذارد.
چهار مرحله، چهار شکست متفاوت
توالی ثابت است حتی وقتی کارخواه آن را پنهان میکند: نام باید حل شود، انتقالی به نشانی حاصل باید برقرار شود، پروتکل باید پارامترها و کلیدهایش را مذاکره کند، و حساب باید احراز هویت شود. راهنمای OpenVPN برای عیبیابی اتصال برای کارخواه خودش همین ترتیب را طی میکند، و بقیه نزدیک به آن را دنبال میکنند. مهلت در مرحله دوم و مهلت در مرحله چهارم چیزی جز واژه روی صفحه مشترک ندارند.
| Stage | Looks like | What it does not prove |
|---|---|---|
| Name resolution | fails in under a second, before any contact | nothing about the server being up |
| Transport | waits the full timeout, then gives up | nothing about the VPN service behind the port |
| Negotiation | connects, then stalls at handshake | nothing about credentials |
| Login | a reply arrives and is rejected or hangs on a prompt | nothing about reachability |
در گزارش بهدنبال آخرین خطی بگردید که پیشرفت را نشان میدهد، نه آخرین خط پیش از خطا. بیشتر کارخواهها چیزی مانند نشانی حلشده، سوکت برقرارشده، دستدادن آغازشده یا درخواست احراز هویت چاپ میکنند، و مرحلهای که پس از آن خط میآید همان مرحلهای است که مهلتش تمام شده.
حل نام پیش از هر تماسی شکست میخورد
اگر نقطه پایانی هرگز حل نشود، کارخواه چیزی برای اتصال ندارد و هیچ کار انتقالی رخ نداده است. این شکست معمولاً لحظهای است نه یک مهلت کامل، و همین ارزانترین راه جدا کردن آن از بقیه است. نام را با حلکننده سیستم و حلکننده دوم آزمایش کنید، و پیش از نتیجهگیری درباره از کار افتادن سرور دو پاسخ را مقایسه کنید.
نشانی قدیمی کپیشده از یک پست انجمن علت رایج مهلتی است که شبیه مشکل سرور به نظر میرسد، چون نشانی اکنون به چیز دیگری یا به هیچچیز تعلق دارد. از پروفایل کنونی ارائهدهنده استفاده کنید نه جایگزین کردن نشانیای که پیشتر کار میکرد. نبود پاسخ ping به هیچ سمتی دلیل نیست: بسیاری از نقطههای پایانی ICMP را دور میریزند و در همان حال کاملاً خوب سرویس میدهند.
راهاندازی انتقال منتظر بستهای است که نخواهد آمد
وقتی DNS درست است و کارخواه باز هم تمام مهلت را میسوزاند، لایه انتقال مشکوک است. روی TCP میتوانید پورت را مستقیم آزمایش کنید؛ Test-NetConnection در Windows یا nc -vz در Linux به شما میگوید آیا چیزی اتصال را میپذیرد، و این از ping سودمندتر است. روی UDP نمیتوانید به همان شکل آزمایش کنید، چون در آن لایه دستدادنی برای کامل کردن وجود ندارد، و این نبود تقارن نتیجهگیریهای نادرست زیادی ایجاد میکند.
آنچه یک آزمایش TCP اثبات میکند محدود است: سرویسی که پورت 443 را میپذیرد لزوماً شنونده VPN نیست، و نقطه پایانی فقط-UDP هیچ پورت TCP برای پذیرش چیزی ندارد. بازنویسی پروفایل از UDP به TCP شنوندهای در طرف دیگر نمیسازد؛ فقط چیزی را که کارخواه شما منتظرش است عوض میکند. اگر شبکه پروتکل را پالایش کند، تغییر مهلت متفاوتی در همان مرحله تولید میکند.
درگاههای اسیر در این مرحله بررسی جداگانه میخواهند. تا زمانی که درگاه دستگاه را مجاز نکند، ترافیک خروجی به درگاه میرود و تلاش تونل فقط معلق میماند. ابتدا درگاه را در مرورگر کامل کنید، سپس دوباره تلاش کنید، و تا وقتی درگاه در انتظار است پروفایل را عوض نکنید.
مذاکره و ورود یعنی سرور پاسخ داده است
بهمحض اینکه تونل به سرور برسد، کارخواه دستدادن را آغاز میکند و ماهیت خطا تغییر میکند. توقف در اینجا درباره سازگاری است نه دسترسیپذیری: نسخههای ناسازگار پروتکل، تنظیم رمز یا کانال داده که طرف دیگر نمیپذیرد، یا پروفایلی که ویژگیای را انتظار دارد که سرور ارائه نمیدهد. OpenVPN پیشفرضهای مذاکرهاش را بین نسخههای اصلی آنقدر جابهجا کرده که پروفایلی نوشتهشده برای یک نسل میتواند به سرور برسد و باز هم بالا نیاید.
احراز هویت آخرین مرحله و آسانترین برای بدخواندن است. رد صریح یک پاسخ است، یعنی مسیر کار میکند و مشکل هویت، گواهی یا وضعیت حساب است. جریان ورود یکپارچه مبتنی بر مرورگر حالت سوم است: کارخواه منتظر اقدامی است که انجام ندادهاید، یا مرورگری که نمیتواند اجرا کند، و تا آن مرحله را کامل نکنید چیزی نمیرسد.
پیش از تغییر تلاش دوباره، شواهد را مقایسه کنید
دستگاه و پروفایل را ثابت نگه دارید و هر بار یک چیز را عوض کنید، از شبکه شروع کنید. اگر همان پروفایل با هاتاسپات تلفن وصل میشود و در Wi-Fi هتل مهلتش تمام میشود، متغیر مسیر است نه سرور. اگر همهجا شکست میخورد، متغیر پروفایل یا نقطه پایانی است. اگر فقط در ساعتی از روز شکست میخورد، مهر زمانی را ثبت کنید و پیش از هر فرضی درباره بار، آن را با رویدادهای سمت سرور مقایسه کنید.
برای سرویسی که مدیریت میکنید، مقایسه تعیینکننده این است که آیا تلاش اصلاً میرسد. اتصالی که به شنونده میرسد و سپس متوقف میشود به مرحله مذاکره تعلق دارد؛ اتصالی که هرگز در دید شنونده پیدا نمیشود مشکل انتقال یا حل نام است، و هیچ میزان تنظیم تلاش دوباره آن را جابهجا نمیکند. گزارشهای سرور هم ورود ردشده را از حذف خاموش جدا میکنند، و این تفاوت میان اصلاح هویت و اصلاح دیوار آتش است.
نسخه کارخواه، نام پروفایل، زمان تلاش با منطقه زمانی آن و نخستین خطای سودمند را ثبت کنید نه خط آخر قطع شدن را. پیش از به اشتراک گذاشتن گزیده، کلیدها و مواد حامل اعتبارنامه را حذف کنید. سپس یک اصلاح معنادار انجام دهید و دوباره تلاش کنید، چون مهلت بلندتر فقط به عملیات کند مستندشده کمک میکند و برای نشانی اشتباه یا پورت مسدود هیچ کاری نمیکند.