خطای Handshake Failed در V2Ray — تشخیص و رفع

خطای Handshake Failed در V2Ray — تشخیص و رفع

۱۴ اردیبهشت ۱۴۰۵ ۳ دقیقه مطالعه ۴.۸ (۲۸۳)

خطای handshake failed در V2Ray یعنی کلاینت نتوانسته با سرور یک TLS session بسازد — معمولاً به‌خاطر ساعتِ اشتباهِ سیستم، SNI/کانفیگِ نادرست، یا بلاک‌شدنِ سرور. این مقاله هر علت و راه‌حلش را توضیح می‌دهد.

دلیل ۱: زمان سیستم اشتباه

TLS به زمان دقیق نیاز دارد. اگر ساعت گوشی یا کامپیوتر شما اشتباه باشد (حتی چند دقیقه)، handshake fail می‌شود.

راه‌حل: زمان را روی خودکار از شبکه بگذارید. روی اندروید: Settings → Date & time → Automatic.

دلیل ۲: SNI اشتباه

اگر SNI کانفیگ شما با چیزی که سرور انتظار دارد فرق کند، handshake fail می‌شود.

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

دلیل ۳: گواهی منقضی شده

اگر سرور VPN از Let's Encrypt استفاده می‌کند و گواهی renew نشده، handshake fail می‌شود.

راه‌حل: با پشتیبانی سرویس تماس بگیرید — این مشکل سمت سرور است.

دلیل ۴: اپراتور TLS interception

اگر اپراتور MITM می‌کند (نادر در ایران ولی ممکن)، handshake fail می‌شود.

راه‌حل: پروتکل Reality استفاده کنید — مقاوم در برابر MITM است.

دلیل ۵: نسخه TLS ناسازگار

اگر کلاینت TLS 1.2 است ولی سرور TLS 1.3 می‌خواهد:

راه‌حل: کلاینت را به‌روز کنید. آخرین V2RayNG, V2RayN, V2Box را از منبع رسمی دانلود کنید.

ترتیب درستِ عیب‌یابی

خطای handshake را تصادفی امتحان نکنید؛ از ارزان‌ترین و رایج‌ترین علت شروع کنید:

  1. ساعت سیستم را چک کنید (۳۰ ثانیه، رایج‌ترین علت)
  2. کانفیگ را از نو از سرویس بگیرید (SNI/گواهی را یک‌جا درست می‌کند)
  3. کلاینت را به‌روز کنید
  4. به Reality سوییچ کنید (هم MITM هم بیشترِ DPI را دور می‌زند)
  5. اگر همه‌ی این‌ها شد و باز خطا داد، سمت سرور است → پشتیبانی

جدول نشانه به علت

پیام لاگ محتمل‌ترین علت راه‌حل
x509: certificate has expired گواهیِ سرور منقضی پشتیبانی (سمت سرور)
tls: handshake failure بلافاصله SNI/پروتکل شناسایی‌شده کانفیگ تازه، Reality
context deadline exceeded سرور غیرقابل‌دسترس سرور/پورت دیگر
handshake فقط بعضی ساعت‌ها فشار DPI در پیک اینباند/سرور دیگر
bad certificate بعد از ویرایش دستی SNI دست‌کاری‌شده به پیش‌فرض برگردان

خواندن لاگ برای تشخیص

در V2RayNG از منوی پایین گزینه‌ی نمایش لاگ را باز کنید و دنبال خطِ اولِ قرمز بگردید — همان علتِ ریشه‌ای است، نه خطاهای بعدی که نتیجه‌ی همان‌اند. اگر dial tcp ... i/o timeout دیدید، اصلاً به سرور نرسیده‌اید (پورت/سرور)، نه مشکل TLS.

سؤالات متداول

ساعت گوشی‌ام درست است ولی باز handshake fail می‌دهد، چرا؟ چند ثانیه اختلافِ منطقه‌ی زمانی یا تنظیمِ دستیِ تاریخ هم کافی است. حالت خودکار از شبکه را روشن کنید، نه تنظیم دستی.

handshake failed با no internet فرق دارد؟ بله. handshake یعنی هنوز به سرور وصل نشده‌اید؛ no internet یعنی وصل شده‌اید ولی ترافیک عبور نمی‌کند. این دو راه‌حلِ متفاوت دارند.

روی کامپیوتر همین خطا را دارم، فرق می‌کند؟ منطق یکی است؛ اول ساعتِ ویندوز یا مک را با سرورِ زمانِ شبکه هماهنگ کنید، بعد کلاینت را به‌روز کنید. روی ویندوز، ساعتِ اشتباه شایع‌ترین علتِ handshake است و با یک‌بار «Sync now» در تنظیماتِ Date & time حل می‌شود.

جمع‌بندی

خطای handshake معمولاً یک از این پنج دلیل را دارد. ساعت سیستم را اول چک کنید — رایج‌ترین دلیل است.

مقالات مرتبط

v2route با ۱۰ سال تجربه، VPN امن، پرسرعت و پایدار برای ایران ارائه می‌دهد. همین حالا تست رایگان بگیرید.

آماده‌ای؟ همین حالا VPN خودت رو بگیر

تست رایگان ۱۰۰ مگابایت — بدون نیاز به کارت اعتباری

به این مقاله امتیاز دهید

میانگین فعلی: ۴.۸ از ۵ — ۲۸۳ امتیاز ثبت شده

اشتراک‌گذاری این مقاله

آیا این مقاله مفید بود؟

نظرات (۰)

اولین نفری باشید که نظر می‌دهید

نظر شما

بیشتر از تیم ما

مقالات مرتبط

🧩 خرید کانفیگ v2ray، VLESS و Reality در ایران ۱۴۰۵ — راهنمای کامل و امن
🔌 پروکسی تلگرام امروز — اتصال رایگان و پرسرعت (به‌روز ۱۴۰۵)
✈️ پروکسی فعال تلگرام در ۱۴۰۵ — چرا کار نمی‌کند و راه‌حل پایدار
✏️ پیشنهاد ویرایش یا گزارش مشکل (تلگرام)
← بازگشت به بلاگ

تست رایگان ۲۴ ساعته v2route

بدون نیاز به پرداخت — مستقیم تو تلگرام دریافت کن

🎁 دریافت تست رایگان از ربات تلگرام
خانه ورود بلاگ