نشت DNS چیست؟ چگونه آن را آزمایش و رفع کنید
نشت DNS چیست، چرا سایتهایی را که باز میکنید آشکار میکند، چگونه با آزمون نشت DNS در Colitu بررسی کنید و چگونه با حالت TUN و تنظیمات مرورگر آن را رفع کنید.

VPN ترافیک شما را بین دستگاه و سرور رمزگذاری میکند. اما پیش از آنکه مرورگر بتواند سایتی را باز کند، باید آدرس آن سایت را از یک سرور DNS بپرسد. اگر این پرسشها بیرون از تونل عبور کنند، ارائهدهندهٔ اینترنت شما هنوز نام هر سایتی را که میبینید مشاهده میکند، هرچند محتوا را نمیبیند. این همان نشت DNS است و یکی از رایجترین راههایی است که VPN بیصدا کمتر از انتظار شما کار میکند.
DNS چه کاری انجام میدهد
DNS دفترچهٔ آدرس اینترنت است. وقتی نام سایتی را تایپ میکنید، دستگاه شما درخواستی به یک resolver میفرستد، معمولاً resolver ارائهدهندهٔ اینترنت شما، و یک آدرس IP دریافت میکند. DNS کلاسیک بدون رمزگذاری ارسال میشود، بنابراین هر کسی که در مسیر باشد میتواند ببیند چه نامهایی را جستوجو میکنید. گونههای جدیدتر، یعنی DNS over TLS و DNS over HTTPS، درخواست را رمزگذاری میکنند، اما هر که resolver را اداره کند همچنان همهٔ نامها را میبیند.
چه چیزی نشت محسوب میشود
وقتی VPN روشن است، درخواستهای DNS شما باید از تونل عبور کنند و resolverی در سمت VPN به آنها پاسخ دهد. نشت یعنی دستکم بخشی از آنها از مسیر دیگری میروند، معمولاً مستقیم به resolver ارائهدهندهٔ اینترنت شما. پیامدها:
- ارائهدهندهٔ اینترنت میتواند فهرستی از سایتهایی که باز میکنید را همراه با زمانها بسازد؛
- ممکن است پاسخهای محلی دریافت کنید که بهجای سایت واقعی به صفحهٔ مسدودسازی اشاره میکنند؛
- برخی resolverها بخشی تقریبی از شبکهٔ شما (EDNS Client Subnet) را به سرورهای DNS خود سایتها منتقل میکنند.
چرا نشت رخ میدهد
- حالت پروکسی در Windows. در حالت پروکسی سیستم، مرورگرها ترافیک را از طریق پروکسی میفرستند، اما برنامههایی که پروکسی را نادیده میگیرند خودشان نامها را resolve میکنند و خودشان وصل میشوند.
- Secure DNS مرورگر. Chrome، Edge و Firefox میتوانند از ارائهدهندهٔ DNS over HTTPS خودشان استفاده کنند. این ارائهدهنده ISP شما نیست، اما تنظیمات DNS سیستم را که VPN برقرار کرده دور میزند.
- تنظیمات DNS سفارشی روی کارت شبکه، روتر یا در برنامهٔ دیگر.
- VPN یا پروکسی دوم که همزمان اجرا میشود و مسیر درخواستهای DNS را تغییر میدهد.
آزمون نشت DNS در Colitu چگونه کار میکند
آزمون نشت DNS ما مرورگر شما را وادار میکند نامهای تصادفیای را جستوجو کند که فقط برای همین آزمون ساخته شدهاند. Colitu سرور معتبر (authoritative) این نامهاست، پس میبیند هر درخواست از طریق کدام resolver میرسد: همان سرور DNS که دستگاه شما واقعاً استفاده میکند. این صفحه همچنین نشان میدهد که آیا resolver بخشی از آدرس شبکهٔ شما را منتقل کرده است یا نه (ستون «subnet»). شناسهٔ تصادفی و resolverهایی که دربارهٔ آن پرسیدهاند ده دقیقه در حافظه نگه داشته میشوند و سپس حذف میشوند؛ هرگز به حساب شما پیوند داده نمیشوند.
در چهار گام آزمایش کنید
- VPN را خاموش کنید و آزمون را اجرا کنید. resolverی را که میبینید یادداشت کنید: معمولاً resolver ارائهدهندهٔ اینترنت شما یا یک resolver عمومی که خودتان تنظیم کردهاید.
- VPN را روشن کنید، صبر کنید تا «متصل» نشان داده شود و آزمون را دوباره اجرا کنید.
- مقایسه کنید. resolver ارائهدهندهٔ اینترنت شما، یا هر resolver در کشور خودتان، نباید اکنون ظاهر شود. دیدن یک resolver عمومی بزرگ مانند Google یا Cloudflare بهخودیخود نشت نیست.
- ستون subnet را بررسی کنید. اگر با روشن بودن VPN شبکهٔ خودتان در آنجا نمایش داده میشود، درخواستهای DNS بیرون از تونل خارج میشوند.
اگر میخواهید همهچیز در یک صفحه باشد، آزمون اتصال VPN آدرس IP، DNS و WebRTC را با هم بررسی میکند.
چگونه نشت را رفع کنید
Windows: از حالت TUN استفاده کنید. Colitu برای Windows حالت پروکسی سیستم (پیشفرض) و حالت TUN را ارائه میکند. حالت TUN همهٔ ترافیک و درخواستهای DNS کل سیستم را از تونل عبور میدهد و قویترین محافظت را فراهم میکند. آن را در تنظیمات برنامه روشن کنید و آزمون را دوباره اجرا کنید. در Linux (بتا)، حالت TUN همین کار را میکند و sudo میخواهد.
Secure DNS مرورگر. اگر آزمون resolverی را نشان میدهد که انتظارش را نداشتید، مرورگر را بررسی کنید:
- Chrome: Settings → Privacy and security → Security → Use secure DNS. آن را روی ارائهدهندهٔ خدمات فعلی خود بگذارید یا خاموش کنید.
- Edge: Settings → Privacy, search and services → Security → Use secure DNS. همان انتخاب.
- Firefox: Settings → Privacy & Security → DNS over HTTPS. Default Protection یا Off را انتخاب کنید.
هماهنگ بودن موقعیت resolver با موقعیت سرور کمک میکند مطمئن شوید درخواستهای DNS شما همان جایی پاسخ داده میشوند که انتظار دارید.
Private DNS در اندروید. اگر ارائهدهندهای سفارشی را در Settings → Network → Private DNS تنظیم کردهاید، آزمون همان ارائهدهنده را نشان میدهد. این ISP شما نیست، اما اگر میخواهید درخواستهای DNS در سمت VPN پاسخ داده شوند، Private DNS را روی Automatic بگذارید.
بررسیهای دیگر. برای آزمایش، سرورهای DNS سفارشی را از کارت شبکه یا روتر حذف کنید، سایر برنامههای VPN و «امنیتی» را ببندید و آزمون را دوباره اجرا کنید.
چه چیزی نشت نیست
- برخی سایتهای منطقهای. در Windows و اندروید، برخی سایتهای منطقهای (دامنهها و بازههای IP موجود در فهرستی داخلی) مستقیم و بیرون از تونل باز میشوند تا سرویسهایی که آدرسهای IP خارجی را نمیپذیرند به کار خود ادامه دهند. این قابلیت داخلی است و کلیدی برای خاموش کردن ندارد، بنابراین آن سایتها طبق طراحی اتصال عادی شما را میبینند. آزمونهای ما روی colitu.com اجرا میشوند و تحت تأثیر نیستند.
- resolver عمومی. Google، Cloudflare یا resolverی در کشور سرور عادی است.
مرجع سریع
| آزمون با VPN روشن چه نشان میدهد | معنا | اقدام |
|---|---|---|
| resolver در کشور سرور یا یک resolver عمومی بزرگ | نشتی وجود ندارد | کاری لازم نیست |
| resolver ارائهدهندهٔ اینترنت شما | نشت | حالت TUN در Windows، DNS مرورگر را بررسی کنید |
| شبکهٔ خودتان در ستون subnet | نشت | مانند بالا |
| ارائهدهندهٔ DoH که در مرورگر انتخاب کردهاید | مرورگر DNS سیستم را دور میزند | Secure DNS را روی خودکار یا خاموش بگذارید |
مطالب مرتبط: نشت WebRTC چیست و مرکز راهنما دربارهٔ آزمونهای اتصال.
منابع
- RFC 1035: Domain names, implementation and specification
- RFC 9076: DNS privacy considerations
- RFC 7858: DNS over TLS
- RFC 8484: DNS queries over HTTPS
- RFC 7871: Client subnet in DNS queries
- Chromium Blog: Secure DNS in Chrome
- Mozilla Support: DNS over HTTPS in Firefox
- Android Developers Blog: DNS over TLS support in Android