زنجیرهکردن دو VPN: چه چیزی را پنهان میکند و چه هزینهای دارد
تونلهای تو در تو تغییر میدهند که چه کسی کدام سر را میبیند، نه چه کسی شما را میبیند. سر درونی را از تونل بیرونی عبور دهید، سپس DNS، MTU و مسیر جایگزین را بررسی کنید.
دو تونل تو در تو شما را ناشناس نمیکنند. کاری که میکنند این است که مشاهدات را میان دو ارائهدهنده تقسیم میکنند، پس هیچکدام نشانی خانه و مقصد شما را با هم نمیبیند. این مزیتی واقعی اما باریک است و با مشکلات مسیریابی، DNS و MTU همراه است که نخستین بار که به آن تکیه کنید سر میزنند.
1. تصمیم بگیرید جهش دوم برای چه کاری است
پیش از پیکربندی هر چیزی، هدف را در یک جمله بنویسید. اگر هدف این است که ارائهدهنده اینترنت شما نبیند به کدام سایتها سر میزنید، یک تونل آن را محقق میکند. اگر هدف این است که هیچ ارائهدهنده واحدی نتواند نشانی شما را به ترافیکتان پیوند دهد، دو تونل این کار را میکنند. اگر هدف این است که هیچکس نتواند شما را شناسایی کند، هیچ شمار جهشی به آنجا نمیرسد.
زنجیره تنها به اندازه گزارشهای ارائهدهنده ضعیفتر و سوابق حسابی که هر دو نگه میدارند نیرومند است. پرداختها، ایمیل ثبتنام و تلهمتری برنامه کاملاً بیرون از تونل میمانند.
2. سر درونی را از طریق تونل بیرونی در دسترس کنید
شکست معمول این است که تونل درونی هرگز برقرار نمیشود. اتصال بیرونی با تونل کامل مالک مسیر پیشفرض است، پس تلاش کارخواه درونی برای رسیدن به سر خودش توسط تونل بیرونی بلعیده و دور ریخته یا در حلقه میافتد. سر درونی به یک مسیر صریح از طریق رابط بیرونی نیاز دارد که پیش از آغاز کارخواه درونی نصب شود. در غیر این صورت دستتکاندن با مسیر مسابقه میدهد و میبازد.
WireGuard همان تعارض را از سوی دیگر نشان میدهد. AllowedIPs هر همتا تعیین میکند کدام مقصدها وارد آن تونل میشوند، پس رابط درونی که مدعی هر نشانی است، مدعی سر بیرونی هم میشود، مگر آنکه مسیر دقیقتری برنده شود. همپوشانی AllowedIPs روی دو رابط پیکربندیای است که یک طرف در آن بیصدا میبازد.
زنجیرهکردن کانتینر جداسازی را صریح و تله را آشکار میکند. کانتینری با فضای نام خودش، مسیر پیشفرض خودش و کارخواهی در درونش آنچه میزبان به آن میفرستد را هدایت میکند؛ میزبان خودبهخود شروع به استفاده از آن مسیر نمیکند. هدایت را فعال کنید، مسیری برای تونل کانتینر بیفزایید و سرویس را به نشانی کانتینر اشاره دهید.
3. DNS را روی همان مسیر نگه دارید
DNS باید همانجایی سفر کند که ترافیک سفر میکند. اگر ارائهدهنده درونی resolverها را هل بدهد و میزبان همچنان از resolverهای محلی بپرسد، آن جستوجوها دقیقاً همان سایتهایی را فاش میکنند که تونل قرار بود پنهان کند. بهجای اعتماد به پنل وضعیت کارخواه، با ضبط روی هر رابط تونل بررسی کنید. نشت در اینجا در مرور معمولی نامرئی و در ضبط آشکار است.
طراحیهای DNS تقسیمشده این را سختتر میکنند، چون پرسوجو برای یک نام محلی میتواند بهطور مشروع بیرون از تونل باشد. فهرست استثناها را عمداً بنویسید، نه اینکه آن را از روی اینکه کدام resolver تصادفاً پاسخ داده کشف کنید.
4. MTU را پیش از آنکه کاربران خودشان کشف کنند تنظیم کنید
MTU قربانی قابل پیشبینی دیگر است. دو کپسولهسازی دو سرآیند کم میکنند و تونل بیرونی که پیشتر MTU مسیر را پایین آورده، فضای کمتری در درون باقی میگذارد. نشانهها آشناست: درخواستهای کوچک موفق میشوند، انتقالهای بزرگ و دستتکاندنهای TLS گیر میکنند.
ip link set dev wg1 mtu 1280 راهحل تند و خشن است و محدودکردن MSS روی هدایتگر راهحل مرتبتر. تلاش دوباره برای اتصال اصلاً راهحل نیست.
5. همان شکستی را آزمایش کنید که واقعاً خواهید داشت
تونل بیرونی را عمداً قطع کنید و ببینید چه میشود. زنجیرهای که وقتی جهش بیرونی میمیرد بیصدا به مسیر مستقیم برمیگردد بدتر از نداشتن زنجیره است، چون دقیقاً در همان لحظهای نشت میکند که گمان میکردید پوشش دارید. رفتار مطلوب کلید قطعیای است که همه ترافیک را متوقف کند. نتیجه را ثبت کنید، چون نمیخواهید آن را میان یک رخداد دوباره کشف کنید.
تأخیر و نقطه شکست دوم هزینههای همیشگیاند. دو جهش همچنین به معنای دو صف پشتیبانی است وقتی چیزی در ساعتی نامناسب خراب میشود.