VPN و پروکسی چه فرقی دارند و کِی یکی‌شان کافی نیست؟

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

ساعت ۸:۴۵ صبح، با اینترنت موبایل توی مسیر، لینک یک فایل کاری را می‌زنید و هیچ. نه خطا درست‌وحسابی می‌دهد، نه باز می‌شود. به تجربه می‌دانید دو راه دم‌دست دارید: «یه پروکسی توی اپلیکیشن بزنم» یا «VPN را روشن کنم». این‌جا همان نقطه‌ای است که تفاوت‌شان مهم می‌شود.

چون پروکسی و VPN از بیرون شبیه‌اند: IP را عوض می‌کنند و مسیر را از یک سرور رد می‌کنند. ولی زیر پوسته، فرق‌شان به چیزهای ریز و اعصاب‌خردکن بستگی دارد؛ مثل این‌که کدام اپلیکیشن‌ها پوشش داده می‌شوند، DNS از کجا می‌رود، و وقتی بین 4G و Wi‑Fi جابه‌جا می‌شوید چقدر قطع‌ووصلی می‌خورید.

یک جمله‌ای بگویم که بعداً برگردیم بهش.

پروکسی معمولاً «ترافیک یک برنامه» را جابه‌جا می‌کند، VPN معمولاً «کل دستگاه» را.

پروکسی، آن چیزی که همیشه نصفه‌نیمه جواب می‌دهد

پروکسی را خیلی‌ها با یک تنظیم ساده می‌شناسند: داخل مرورگر یا داخل یک کلاینت مثل V2RayNG، NekoBox یا Shadowrocket یک آدرس می‌دهید، بعد بعضی درخواست‌ها از آن رد می‌شود. اگر درست تنظیم شده باشد، برای کارهای سبک عالی است؛ مخصوصاً وقتی نمی‌خواهید کل ترافیک دستگاه را از تونل عبور بدهید.

اما «پروکسی» یک چتر بزرگ است. چند شکل رایجش را اگر دقیق‌تر ببینیم، رفتارش قابل‌پیش‌بینی‌تر می‌شود:

  • HTTP/HTTPS Proxy (معمولاً مخصوص مرورگر و اپ‌هایی که از پراکسی سیستم تبعیت می‌کنند)
  • SOCKS5 (عمومی‌تر؛ خیلی از اپ‌ها می‌توانند ازش استفاده کنند)
  • Shadowsocks‑2022 (از نظر حس‌وحال به پروکسی نزدیک است، ولی با رمزنگاری و جزئیات پروتکلی بیشتر)

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

گرفتاری از جایی شروع می‌شود که فکر می‌کنید «پس همه‌چیز را درست کردم»، ولی یک سرویس باز هم لود نمی‌شود. چرا؟ چون آن سرویس ممکن است به چند مسیر تکیه کند: درخواست اصلی از پروکسی می‌رود، ولی DNS از مسیر عادی می‌رود؛ یا اپلیکیشن از پراکسی سیستم تبعیت نمی‌کند؛ یا بخشی از ترافیک با UDP است و آن پراکسی فقط TCP را خوب هندل می‌کند.

این بخش واقعاً آزاردهنده است.

VPN یعنی تونلِ سیستم‌عامل، نه فقط یک اپ

VPN در عمل یک اینترفیس شبکه‌ی جدید به سیستم اضافه می‌کند. یعنی روی Android، iOS، Windows، macOS یا حتی OpenWrt یک «مسیر پیش‌فرض» می‌سازد که ترافیک را از تونل رد کند. نتیجه‌اش معمولاً پوشش کامل‌تر است: اپ‌ها کمتر می‌توانند دورش بزنند، و شما هم کمتر لازم است دنبال این باشید که «این اپ چرا با پروکسی کار نمی‌کند ولی آن یکی کار می‌کند».

از نظر پروتکل هم VPNها یک‌دست نیستند. من در استفاده‌ی روزمره این‌ها را زیاد می‌بینم:

  • WireGuard (معمولاً سریع و کم‌هزینه؛ روی UDP، خوب برای جابه‌جایی بین شبکه‌ها)
  • VLESS+REALITY (بیشتر برای شرایطی که فیلترینگ و DPI حساس‌تر است)

WireGuard وقتی شبکه پایدار است واقعاً خوش‌رفتار است. اما روی اینترنت موبایل، داستان «packet loss» می‌تواند همه‌چیز را عوض کند؛ مخصوصاً اگر در حال تماس یا استریم باشید. از آن طرف VLESS+REALITY معمولاً در عبور از بعضی محدودیت‌ها دستِ بالا را دارد، ولی ممکن است از نظر latency یا مصرف CPU روی گوشی‌های قدیمی‌تر کمی سنگین‌تر حس شود (نه همیشه، ولی آن‌قدر هست که من چند بار مجبور شدم پروفایل را عوض کنم).

VPN یک قابلیت جانبی هم دارد که وقتی بهش عادت کنید سخت است برگردید: Kill Switch. یعنی اگر تونل قطع شد، ترافیک لو نرود و یک‌هو درخواست‌ها با IP واقعی بیرون نروند. پروکسی‌ها معمولاً چنین ضمانتی ندارند، مگر این‌که دورش کلی تنظیمات فایروال و روتینگ بچینید.

امنیت و حریم خصوصی: داستان از DNS شروع می‌شود

خیلی‌ها می‌پرسند «پروکسی امن‌تره یا VPN؟» سؤال بدی نیست، ولی جوابش با یک کلمه درنمی‌آید. باید ببینید دقیقاً چه چیزی را می‌خواهید مخفی کنید و از چه کسی.

سه تکه‌ی مهم ماجرا این‌هاست: IP، DNS، و محتوای ترافیک.

اگر فقط IP برایتان مهم باشد، هم پروکسی و هم VPN می‌توانند کمک کنند. ولی DNS همان جایی است که در عمل دردسر می‌سازد. وقتی شما یک دامنه را باز می‌کنید، یک درخواست DNS باید به یک resolver برسد. اگر این درخواست از مسیر عادی شبکه برود، حتی با وجود پروکسی، ممکن است ردپاهایی بماند یا حتی خودِ resolve شدن دچار مشکل شود. بعضی کلاینت‌ها DNS را داخل تونل می‌برند، بعضی‌ها نه. بعضی‌ها DoH/DoT را درست پیاده می‌کنند، بعضی‌ها هم تنظیماتی دارند که روی کاغذ جذاب است ولی در عمل روی iOS یا اندروید جدید دقیق کار نمی‌کند.

برای همین من همیشه به «نشت DNS» حساس‌ام. نه از سر وسواس، از سر تجربه. یک تنظیم اشتباه کافی است تا فکر کنید وصلید ولی درخواست‌های DNS بیرون برود.

محتوای ترافیک هم به نوع ارتباط بستگی دارد. اگر سایتی HTTPS باشد، محتوای داخل TLS رمز است و کسی وسط راه محتوای دقیق صفحه را نمی‌بیند، ولی متادیتا (مثل مقصد و SNI و الگوهای ترافیک) داستان خودش را دارد. پورت ۴۴۳ هم که همه می‌شناسیم، همین‌جا وارد بازی می‌شود: خیلی از ترافیک‌ها ظاهراً روی ۴۴۳ می‌نشینند، اما شباهت ظاهری همیشه کافی نیست.

چرا بعضی وقت‌ها پروکسی «وصل است» ولی هیچ‌چیز باز نمی‌شود؟

این یکی را زیاد می‌بینم: پروکسی در کلاینت سبز شده، ولی اپلیکیشن‌ها یکی‌درمیان می‌پرند. چند علت پرتکرار دارد.

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

دومی، تفاوت TCP و UDP. یک SOCKS5 معمولی ممکن است برای TCP خوب باشد، ولی آن سرویس به UDP هم نیاز داشته باشد (تماس صوتی، بعضی بازی‌ها، بعضی پیام‌رسان‌ها). اگر UDP درست هندل نشود، شما حس می‌کنید «اینترنت کند است» در حالی که مسئله واقعاً نوع ترافیک است.

سومی، DNS و کش. گاهی یک DNS بد یا کش قدیمی باعث می‌شود شما به IP اشتباه بروید و بعد نتیجه را گردن پروکسی بیندازید. در این حالت پاک‌کردن کش DNS یا تغییر DNS داخل کلاینت می‌تواند معجزه کند، ولی باید بدانید کجا را دست می‌زنید.

انتخاب عملی: من در این سناریوها چه کار می‌کنم

اگر بخواهم کاربردی حرف بزنم، تصمیم من معمولاً بر اساس «دامنه‌ی پوشش» و «ریسک لو رفتن ترافیک» است، نه بر اساس اسم.

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

اگر چند اپلیکیشن مختلف دارید که هر کدام ساز خودش را می‌زند، VPN اعصاب‌تان را کمتر خرد می‌کند. مخصوصاً روی iOS که کنترل شبکه دست سیستم‌عامل است و انتظار «همه‌چیز فقط با یک سوئیچ درست شود» واقعی‌تر است.

اگر روی لپ‌تاپ کار می‌کنید و هم‌زمان SSH، Git، مرورگر و چند ابزار دیگر باز است، VPN معمولاً تمیزتر است. پروکسی‌کردن تک‌تک ابزارها شدنی است، ولی یک روز کامل می‌تواند صرف همین ریزه‌کاری‌ها شود.

اگر نگرانید که وسط قطع‌ووصلی، IP واقعی‌تان بیرون بزند، VPN با Kill Switch و تنظیمات درست یک حاشیه‌ی امنیتی می‌دهد. پروکسی این‌جا بیشتر شبیه یک میان‌بر است.

هر کدام را انتخاب می‌کنید، یک بار به صفحه‌ی توضیحات سرویس نگاه کنید ببینید درباره‌ی DNS، Kill Switch، Split Tunneling و نوع پروتکل‌ها چه گفته. من معمولاً اول می‌روم سراغ ویژگی‌های DuduVPN چون معلوم می‌کند دقیقاً چه چیزهایی روی کلاینت‌ها در دسترس است و چه چیزهایی نه.

یک نکته درباره‌ی سرعت: latency مهم‌تر از «سریع یا کند» بودن است

وقتی کسی می‌گوید «VPN کندم کرده»، اغلب منظورش دانلود نیست؛ منظورش delay است. برای وب‌گردی و پیام‌رسان، latency و ثباتش از پهنای‌باند خام مهم‌تر است. روی موبایل، این را بیشتر حس می‌کنید چون بین دکل‌ها جابه‌جا می‌شوید و packet loss بالا و پایین می‌رود.

WireGuard در خیلی از سناریوها latency خوبی می‌دهد، ولی اگر مسیر به هر دلیل ناپایدار شود، ممکن است با یک سرور نزدیک‌تر نتیجه‌ی بهتری بگیرید تا یک سرور دورتر حتی اگر روی کاغذ «پرسرعت‌تر» باشد. این‌جا انتخاب لوکیشن و کیفیت peering سرویس‌دهنده اهمیت پیدا می‌کند، چیزی که از بیرون معمولاً دیده نمی‌شود و فقط با تست‌کردن معلوم می‌شود.

اگر دارید بین چند پکیج یا چند نوع سرویس تصمیم می‌گیرید، به‌جای دنبال‌کردن وعده‌های کلی، بهتر است ببینید مدل قیمت‌گذاری چطور است و آیا امکان تغییر سرور و پروتکل را به شما می‌دهد یا نه. صفحه‌ی تعرفه‌ها و پلن‌ها معمولاً سریع‌تر از هر توضیح دیگری مشخص می‌کند دست‌تان چقدر باز است.

سؤال‌های پرتکرار که قبل از خرید می‌پرسم

من قبل از این‌که روی یک سرویس قفل کنم، چند سؤال مشخص دارم. جواب‌هایشان تعیین می‌کند VPN برای من «ابزار روزانه» می‌شود یا فقط یک چیز اضطراری.

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

اگر دنبال پاسخ‌های ریزتر هستید، سؤالات متداول معمولاً چیزهایی را پوشش می‌دهد که توی تبلیغ‌ها گفته نمی‌شود.

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

آخرین نکته‌ی عملی: بعد از هر تغییر (سرور، پروتکل، یا کلاینت)، یک‌بار با یک تست ساده نشت DNS را چک کنید و اگر روی موبایل هستید، همان تست را یک بار هم بعد از جابه‌جایی بین Wi‑Fi و دیتای موبایل تکرار کنید.

مقالات مرتبط