پیش از آنکه مرورگر شما بتواند یک وبسایت را باز کند، آدرس IP آن سایت را از یک DNS resolver (حلکنندهٔ DNS) میپرسد. وقتی از VPN استفاده میکنید، این پرسشها باید از طریق تونل رمزگذاریشده به resolver خود VPN بروند. نشت DNS (DNS leak) زمانی رخ میدهد که این پرسشها بهجای آن به resolver ارائهدهندهٔ اینترنت شما بروند و همهٔ سایتهایی را که جستجو میکنید فاش کنند.
در نشت DNS آدرس IP شما پنهان میماند، اما ارائهدهندهٔ اینترنت شما (یا هر کسی که resolver نشتدهنده را اداره میکند) میفهمد کدام سایتها را و در چه زمانی بازدید میکنید.
چرا نشت DNS رخ میدهد
- برنامهٔ VPN سرورهای DNS خودش را تنظیم نمیکند، بنابراین سیستم همچنان از resolver ارائهدهنده استفاده میکند.
- قابلیت Smart multi-homed name resolution در Windows پرسشها را همزمان به همهٔ کارتهای شبکه میفرستد و از سریعترین پاسخ استفاده میکند.
- ترافیک IPv6 از تونل عبور نمیکند وقتی VPN فقط IPv4 را مدیریت میکند.
- تنظیمات دستی DNS روی دستگاه یا روتر شما تنظیمات VPN را نادیده میگیرد.
- DNS over HTTPS مرورگر پرسشها را به resolverی میفرستد که در مرورگر تنظیم شده و خارج از کنترل VPN است.
- صفحههای ورود اجباری (captive portal) در هتلها و فرودگاهها DNS خودشان را تحمیل میکنند.
چگونه نشت DNS را بررسی کنیم
تست نشت DNS مرورگر شما را وادار میکند چند نام میزبان یکتا و تصادفی را جستجو کند و ثبت میکند کدام resolverها آنها را درخواست میکنند. اگر هر یک از resolverها بهجای VPN شما متعلق به ارائهدهندهٔ اینترنتتان باشد، نشت دارید. بسیاری از ارائهدهندگان VPN چنین تستی را در وبسایت خود ارائه میکنند.
همچنین تست نشت WebRTC ما را اجرا کنید که نوع دیگری از نشت را بررسی میکند، و در صفحهٔ اصلی ما مطمئن شوید که IP و موقعیت نمایشدادهشده متعلق به VPN شماست.
چگونه نشت DNS را برطرف کنیم
- محافظت در برابر نشت DNS را در برنامهٔ VPN خود روشن کنید. بیشتر برنامههای خوب بهطور پیشفرض آن را فعال دارند.
- کلید قطع اضطراری (kill switch) را فعال کنید تا اگر تونل قطع شد، هیچ ترافیکی از دستگاه شما خارج نشود.
- IPv6 را روی دستگاه غیرفعال کنید، یا از VPNی استفاده کنید که بهطور کامل از IPv6 پشتیبانی میکند.
- تنظیمات دستی DNS را هنگام استفاده از VPN از کارت شبکه و روتر حذف کنید، یا آنها را روی سرورهای DNS خود VPN تنظیم کنید.
- تنظیم DNS امن مرورگر خود را بررسی کنید. اگر به یک resolver عمومی اشاره کند، پرسشها رمزگذاری میشوند، اما بهجای VPN به آن شرکت میروند. اگر میخواهید VPN مدیریت DNS را بر عهده بگیرد، آن را روی «Off» (خاموش) یا «use current service provider» (استفاده از ارائهدهندهٔ فعلی) بگذارید.
- Windows: اگر VPN شما Smart multi-homed name resolution را مدیریت نمیکند، آن را از طریق Group Policy غیرفعال کنید.
نشت DNS در برابر نشت WebRTC
| نشت DNS | نشت WebRTC | |
|---|---|---|
| چه چیزی نشت میکند | نام سایتهایی که بازدید میکنید | آدرس IP واقعی شما |
| چه کسی آن را میبیند | ارائهدهندهٔ اینترنت یا DNS resolver شما | وبسایتی که بازدید میکنید |
| راه رفع | محافظت DNS در VPN، غیرفعال کردن IPv6 | محافظت WebRTC در VPN، تنظیمات مرورگر |
سوالات متداول
آیا DNS over HTTPS جلوی نشت DNS را میگیرد؟
پرسشها را رمزگذاری میکند تا ارائهدهندهٔ اینترنت نتواند آنها را بخواند، اما resolverی که انتخاب میکنید همچنان آنها را میبیند. با یک VPN قابل اعتماد، سپردن مدیریت DNS به VPN همه چیز را در یک جا نگه میدارد.
آیا بدون VPN هم ممکن است نشت DNS داشته باشم؟
بدون VPN، پرسشهای شما ذاتاً به resolver ارائهدهندهٔ اینترنت میروند، پس چیزی برای نشت کردن وجود ندارد. اگر میخواهید آنها را پنهان کنید، از DNS رمزگذاریشده استفاده کنید.
آیا همهٔ VPNها جلوی نشت DNS را میگیرند؟
نه همه. VPN خود را پس از هر بهروزرسانی مهم برنامه یا سیستمعامل آزمایش کنید.