WireGuard یا OpenVPN یا REALITY؟ انتخاب پروتکل بدون حدس

7 دقیقه مطالعه

یک‌بار وسط تماس کاری روی Google Meet، اینترنت موبایل از 5G پرید روی LTE. VPN وصل بود، ولی تصویر قفل کرد و صدا تکه‌تکه شد. قطع‌و‌وصل هم نه؛ فقط انگار همه‌چیز یخ زده بود. همان‌جا بود که فهمیدم «پروتکل VPN» برای خیلی‌ها یک گزینه‌ی تزئینی داخل اپلیکیشن است، ولی در عمل می‌تواند تعیین کند تماس ادامه پیدا می‌کند یا نه.

بعضی روزها هم برعکس است: سرعت دانلود عالی است، ولی باتری موبایل زودتر از معمول خالی می‌شود. مقصر همیشه سرور نیست. گاهی خود پروتکل است.

پروتکل یعنی چی وقتی اینترنت ناپایدار است؟

وقتی می‌گوییم WireGuard یا OpenVPN، داریم درباره‌ی نحوه‌ی بسته‌بندی و جابه‌جایی ترافیک صحبت می‌کنیم: چطور handshake انجام شود، روی UDP باشد یا TCP، روی شبکه‌ی شلوغ چطور رفتار کند، و مهم‌تر از همه در برابر محدودیت‌ها چقدر قابل‌تشخیص باشد.

روی اینترنت ثابت (فیبر یا ADSL) خیلی چیزها شبیه هم به‌نظر می‌رسند. اما روی موبایل، داستان فرق می‌کند: جابه‌جایی بین دکل‌ها، نوسان RTT، packet loss، NATهای عجیب و محدودیت‌های سفت‌وسخت اپراتور.

سه جمله‌ی کوتاه. مهم‌اند.

شبکه همیشه تمیز نیست.

فیلترینگ هم بیکار نمی‌نشیند.

پس انتخاب پروتکل یعنی انتخاب رفتار در شرایط بد. نه شرایط ایده‌آل.

WireGuard، وقتی سرعت مهم است ولی شبکه بدقلق می‌شود

WireGuard معمولاً اولین پیشنهادی است که به آدم می‌دهند، چون سبک است و سربار کمی دارد. روی UDP کار می‌کند و طراحی‌اش طوری است که روی موبایل، وقتی IP عوض می‌شود (مثلاً از وای‌فای به دیتای موبایل)، سریع‌تر خودش را جمع‌وجور می‌کند. برای همین در iOS و Android، اگر همه‌چیز خوب باشد، تجربه خیلی روانی می‌گیرید.

اما راستش این‌جا «اگر» بزرگ است. روی بعضی شبکه‌ها UDP یا محدود می‌شود یا به‌خاطر الگوهای ترافیکی زیر ذره‌بین می‌رود. نتیجه‌اش می‌شود اتصال ظاهراً برقرار، ولی پکت‌ها دیر می‌رسند یا گم می‌شوند. این همان حالتی است که در اپلیکیشن «Connected» می‌بینید اما اپ‌ها باز نمی‌شوند.

یک نکته‌ی عملی: WireGuard به MTU حساس است. اگر روی دیتای موبایل یا اینترنت اشتراکی (Hotspot) مشکل ریزِ قطع‌و‌وصل دارید، خیلی وقت‌ها با پایین آوردن MTU اوضاع بهتر می‌شود. این بخش اذیت‌کننده است چون بعضی کلاینت‌ها تنظیمش را قایم کرده‌اند.

از نظر مصرف باتری هم WireGuard معمولاً بهتر از گزینه‌های قدیمی‌تر است، ولی اگر keepalive را بی‌دلیل تهاجمی کنید (مثلاً روی NATهای سخت)، بیدار ماندن رادیو و تبادل پکت‌های کوچک می‌تواند هزینه داشته باشد.

OpenVPN، قدیمی ولی هنوز به‌دردبخور

OpenVPN را خیلی‌ها «کند» می‌نامند، چون در مقایسه با WireGuard سربار بیشتری دارد. درست است. ولی مزیتش این است که سال‌ها در محیط‌های عجیب زنده مانده و هنوز هم روی شبکه‌هایی که با UDP مشکل دارند، کار راه‌انداز می‌شود.

OpenVPN می‌تواند روی UDP یا TCP اجرا شود. اجرای TCP روی TCP از نظر فنی ایده‌آل نیست (همان TCP-over-TCP که در شرایط packet loss می‌تواند کندی‌های عجیبی بسازد)، ولی یک حسن بزرگ دارد: در شبکه‌هایی که UDP را می‌زنند یا اینترنت سازمانی که فقط چند پورت مشخص را باز گذاشته، احتمال وصل شدنش بالاتر است. مخصوصاً وقتی روی پورت 443 تنظیم شود، چون خیلی از فایروال‌ها نمی‌توانند به‌سادگی جلویش را بگیرند بدون این‌که وب‌گردی را هم خراب کنند.

روی Windows و macOS، OpenVPN هنوز یک گزینه‌ی «کم‌دردسر» است، به‌خصوص اگر با نرم‌افزارهای رسمی یا کلاینت‌های جاافتاده کار کنید. روی روترها هم (مثلاً OpenWrt) پیاده‌سازی‌اش زیاد است، هرچند روی سخت‌افزارهای ضعیف، CPU را زود بالا می‌برد.

اگر مدام بین شبکه‌ها جابه‌جا می‌شوید، OpenVPN گاهی کندتر از چیزی است که انتظار دارید. طبیعی است.

VLESS+REALITY، وقتی محدودیت‌ها دنبال امضا می‌گردند

REALITY بیشتر شبیه یک ترفند هوشمندانه برای استتار است تا یک «پروتکل VPN» کلاسیک. معمولاً در قالب VLESS+REALITY داخل هسته‌های Xray استفاده می‌شود و هدفش این است که ترافیک شبیه چیزی شود که فیلترینگ حساسیت کمتری به آن دارد. در عمل، وقتی WireGuard و OpenVPN هر دو گیر می‌کنند، REALITY گاهی همان چیزی است که اتصال را برمی‌گرداند.

ولی بهایش چیست؟ پیچیدگی.

برای استفاده از REALITY معمولاً باید سرور درست تنظیم شده باشد (کلیدها، shortId، مقادیر مربوط به fingerprint و مقصدی که ترافیک را شبیهش می‌کند). سمت کلاینت هم شما بیشتر با اپ‌هایی مثل V2RayNG، NekoBox، Shadowrocket یا Hiddify سر و کار دارید. این‌ها دنیای خودشان را دارند: بعضی‌شان مسیرهای routing پیشرفته دارند، بعضی‌ها UI بهتری دارند، بعضی‌ها روی iOS محدودیت‌های سیستم‌عامل را بهتر دور می‌زنند.

از نظر کارایی خام، VLESS+REALITY همیشه سریع‌تر از WireGuard نیست. حتی ممکن است روی گوشی‌های قدیمی‌تر، مصرف CPU بالاتر برود. اما وقتی بحث «وصل شدن» و «پایدار ماندن» وسط است، خیلی وقت‌ها ارزشش را دارد.

اگر دنبال این هستید که سرویس شما فقط یک دکمه‌ی Connect نباشد و گزینه‌های استتار هم داشته باشد، بد نیست سری به امکانات و ویژگی‌های DuduVPN بزنید و ببینید دقیقاً چه پروتکل‌ها و چه مدل کانفیگ‌هایی ارائه می‌شود.

Shadowsocks-2022 کجای این ماجراست؟

Shadowsocks-2022 از آن گزینه‌هایی است که خیلی‌ها با VPN قاطی می‌کنند. در عمل بیشتر یک پروکسی امن است و برای بعضی سناریوها عالی جواب می‌دهد: سبک، سریع، و ساده‌تر از دنیای VLESS و Xray. ولی در برابر محدودیت‌های پیچیده‌تر، بسته به پیاده‌سازی و تنظیمات، ممکن است زودتر به سقف بخورد.

من معمولاً Shadowsocks-2022 را وقتی دوست دارم که هدفم «کمترین سربار» روی یک شبکه‌ی نسبتاً سالم باشد، یا وقتی می‌خواهم روی یک دستگاه سبک‌وزن (مثلاً یک روتر ارزان) یک تونل قابل‌قبول داشته باشم.

انتخاب عملی؛ به‌جای بحث‌های فروم‌ها

هر کسی یک نسخه می‌پیچد: یکی می‌گوید فقط WireGuard، یکی می‌گوید OpenVPN مطمئن‌تر است، یکی هم کل زندگی‌اش REALITY است. تجربه‌ی من این است که باید به شبکه‌ی خودتان نگاه کنید، نه به تعصب دیگران.

یک راهنمای خیلی زمینی (نه ایدئولوژیک):

  • اگر روی وای‌فای خوب و دیتای موبایل متوسط هستید و باتری برایتان مهم است، WireGuard را اول امتحان کنید.
  • اگر در شبکه‌ی سازمانی/دانشگاهی هستید و UDP یا پورت‌های عجیب بسته است، OpenVPN روی TCP و پورت 443 معمولاً شانس بیشتری دارد.
  • اگر مدام با قطع شدن یا شناسایی شدن سروکار دارید و هر روز یک محدودیت تازه می‌بینید، VLESS+REALITY را جدی بگیرید.
  • اگر یک اتصال سبک برای کارهای روزمره می‌خواهید و نمی‌خواهید سراغ تنظیمات پیچیده بروید، Shadowsocks-2022 می‌تواند گزینه‌ی بدی نباشد.

این‌ها قانون نیست. نقطه‌ی شروع است.

برای این‌که درگیر حدس‌زدن نشوید، من همیشه پیشنهاد می‌کنم قبل از خرید طولانی‌مدت، FAQ همان سرویس را مرور کنید. خیلی از تفاوت‌ها (مثل تعداد دستگاه هم‌زمان، نوع کلاینت‌ها، یا محدودیت‌های iOS) همان‌جا روشن می‌شود. سوالات متداول DuduVPN بد نیست، مخصوصاً اگر بین iOS و Android جابه‌جا می‌شوید.

چیزهای کوچک که معمولاً مشکل را حل می‌کند

بیشتر وقت‌ها کار از «پروتکل بهتر» نمی‌گذرد، از «تنظیم درست» می‌گذرد. دو موردی که من زیاد می‌بینم:

  • DNS: اگر تونل وصل است ولی بعضی سایت‌ها باز نمی‌شود، اول DNS را چک کنید (DNS over HTTPS یا DNS داخلی سرویس، بسته به کلاینت).
  • MTU: روی WireGuard اگر در موبایل packet loss دارید، MTU پایین‌تر می‌تواند معجزه کند.

همین. لازم نیست ده‌ها گزینه را دستکاری کنید.

یک پیشنهاد ساده برای کسی که می‌خواهد کمتر کلنجار برود

اگر دنبال سرویسی هستید که هم WireGuard داشته باشد، هم گزینه‌های مبتنی بر VLESS+REALITY را برای روزهای سخت، من با DuduVPN راحت‌تر بوده‌ام، چون لازم نیست برای هر دستگاه دنبال یک کانفیگ متفاوت بگردم. برای فعال‌سازی و تمدید هم اگر حوصله‌ی پنل ندارید، بات تلگرام DuduVPN کار را سریع راه می‌اندازد. قیمت‌ها و پلن‌ها هم شفاف‌تر از چیزی است که معمولاً می‌بینم، از صفحه‌ی تعرفه‌ها و پلن‌ها می‌شود دقیق دید.

حالا برگردیم به انتخاب پروتکل. اگر یک دستگاه دارید، انتخاب آسان‌تر است. اگر چند دستگاه دارید (مثلاً iPhone برای بیرون، لپ‌تاپ Windows برای کار، یک OpenWrt در خانه)، بهتر است دو پروتکل را از قبل آماده نگه دارید: یکی سریع (مثل WireGuard)، یکی «روز مبادا» (مثل VLESS+REALITY یا OpenVPN TCP). این‌طوری وقتی اینترنت بد می‌شود، به‌جای کندوکاو بین تنظیمات، فقط سوئیچ می‌کنید.

و یک نکته‌ی آخر که واقعاً کاربردی است: روی موبایل اگر با WireGuard گاهی وصل می‌شود ولی مرورگر گیر می‌کند، قبل از عوض کردن سرور یا سرویس، MTU را روی ۱۳۸۰ امتحان کنید و دوباره تست بگیرید.

مقالات مرتبط