محافظت از نشت DNS در Windows

اینکه Strict Route چگونه جلوی نشت DNS را در حالت TUN روی Windows می‌گیرد و وقتی نمی‌توانید از آن استفاده کنید چه باید کرد.

در حالت TUN، Windows ممکن است همچنان پرس‌وجوهای DNS را از راه آداپتور شبکهٔ معمولی شما بفرستد؛ در این صورت ارائه‌دهندهٔ اینترنت شما می‌بیند نشانی کدام سایت‌ها را جست‌وجو می‌کنید. (در حالت پروکسی سیستمی (System Proxy)، مسیر سخت‌گیرانه (Strict Route) اثری ندارد.)

مسیر سخت‌گیرانه (Strict Route)

Windows هر پرس‌وجوی DNS را هم‌زمان به همهٔ آداپتورهای شبکه می‌فرستد؛ بنابراین پرس‌وجو بیرون از تونل هم خارج می‌شود. تا وقتی حالت TUN اجرا می‌شود، مسیر سخت‌گیرانه فیلترهایی به فایروال Windows اضافه می‌کند که:

  • DNS (پورت 53) را روی همهٔ آداپتورها به‌جز تونل مسدود می‌کنند؛
  • وقتی فعال کردن IPv6 برای Tun (Tun Enable IPv6) خاموش است، اتصال‌های IPv6 برنامه‌های دیگر را مسدود می‌کنند.

این فیلترها ممکن است برنامه‌هایی را هم که بیرون از تونل به DNS یا IPv6 نیاز دارند مسدود کنند.

مسیر سخت‌گیرانه روی Windows 10 و 11 به‌طور پیش‌فرض روشن است. برای بررسی، تنظیمات (Settings) ← تنظیمات vpn (Tun Settings) را باز کنید، مطمئن شوید مسیر سخت‌گیرانه تیک خورده است، تایید (OK) را بزنید و حالتvpn (Tun Mode) را خاموش و دوباره روشن کنید.

وقتی خاموش است

  • Windows 7، 8 یا 8.1: مسیر سخت‌گیرانه در این نسخه‌ها کار نمی‌کند.
  • «Strict routing unavailable» (مسیریابی سخت‌گیرانه در دسترس نیست): Windows نتوانست فیلترها را راه‌اندازی کند، بنابراین نمایه اجرا نشد. خاموش کردن مسیر سخت‌گیرانه، همان‌طور که پیام پیشنهاد می‌کند، محافظت را از بین می‌برد. پس از برطرف کردن علت، آن را دوباره روشن کنید.
  • نصب اولیه با Throne نسخهٔ 1.2.0: در آن نسخه این گزینه خاموش بود و به‌روزرسانی‌ها تنظیمات ذخیره‌شده را نگه می‌دارند. آن را تیک بزنید.

راه‌حل جایگزین با رجیستری

بدون مسیر سخت‌گیرانه، قابلیتی از Windows را که پرس‌وجوهای DNS را به همهٔ آداپتورها می‌فرستد خاموش کنید (نام آن در Group Policy: Turn off smart multi-homed name resolution). این روش ضعیف‌تر است: تغییر می‌دهد Windows از کدام سرورهای DNS بپرسد، اما چیزی را مسدود نمی‌کند. به Windows 8 یا نسخه‌های بعدی نیاز دارد.

با Group Policy (نسخه‌های Pro، Enterprise و Education)

  1. Edit group policy را از منوی Start باز کنید.
  2. به Computer Configuration → Administrative Templates → Network → DNS Client بروید.
  3. روی Turn off smart multi-homed name resolution دوبار کلیک کنید، Enabled را انتخاب کنید و OK را بزنید.
  4. Windows را دوباره راه‌اندازی کنید.

برای بازگرداندن آن، سیاست را دوباره روی Not Configured بگذارید.

با رجیستری (Windows Home)

در منوی Start روی Command Prompt راست‌کلیک کنید، Run as administrator را انتخاب کنید، این فرمان را اجرا کنید و Windows را دوباره راه‌اندازی کنید:

reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\DNSClient" /v DisableSmartNameResolution /t REG_DWORD /d 1 /f

برای بازگرداندن آن، این فرمان را به همان روش اجرا کنید و Windows را دوباره راه‌اندازی کنید:

reg delete "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\DNSClient" /v DisableSmartNameResolution /f

مرورگرها

DNS رمزنگاری‌شده

DNS over HTTPS در مرورگر، یا برای یک آداپتور شبکه در Windows 11، از پورت 53 استفاده نمی‌کند. مسیر سخت‌گیرانه آن را مسدود نمی‌کند و از DNS در Throne هم عبور نمی‌کند؛ بنابراین تست نشت، همان ارائه‌دهندهٔ DNS را نشان می‌دهد. گزینهٔ DNS امن (secure DNS) را در تنظیمات حریم خصوصی یا امنیت مرورگرتان، و DNS over HTTPS را برای آداپتور در تنظیمات (Settings) Windows خاموش کنید.

QUIC

QUIC باعث نشت DNS نمی‌شود؛ اما اگر Google، YouTube و سایت‌های دیگری که از QUIC (یعنی HTTP/3 روی UDP) استفاده می‌کنند کند باشند یا باز نشوند، در حالی که سایت‌های دیگر کار می‌کنند، ممکن است پروکسی شما UDP را بد حمل کند. در Chrome، chrome://flags/ را باز کنید، Experimental QUIC protocol را روی Disabled بگذارید و Relaunch را بزنید.

هنوز نشت دارید؟

  • مسیریابی خود را بررسی کنید. دامنه‌هایی که قوانین شما آن‌ها را مستقیم (direct) می‌فرستند، عمداً با دی ان اس مستقیم (Direct DNS) جست‌وجو می‌شوند. برای نتیجه‌های مورد انتظار، تست‌های نشت DNS را ببینید.
  • نرم‌افزارهای امنیتی را متوقف کنید. برخی آنتی‌ویروس‌ها و فایروال‌ها DNS را فیلتر یا هدایت مجدد می‌کنند. بدون آن‌ها امتحان کنید، یا برای Throne یک استثنا اضافه کنید.
  • برنامه‌های VPN دیگر را قطع کنید. آن‌ها هم تنظیمات DNS و قوانین فایروال را تغییر می‌دهند.
  • از کیل‌سوییچ استفاده کنید. همهٔ ترافیکی را که از Throne عبور نمی‌کند مسدود می‌کند، از جمله DNS به شبکهٔ محلی شما، حتی وقتی هیچ نمایه‌ای در حال اجرا نیست.