در دنیای امروز، حریم خصوصی آنلاین اهمیت زیادی دارد. وقتی از VPN، پراکسی یا ابزارهای مشابه استفاده میکنیم، مطمئن میخواهیم که ترافیک شبکه (خصوصاً درخواستهای DNS) از تونل امن عبور کند و به سرویسدهنده اینترنت یا اشخاص ثالث فاش نشود. یکی از خطرات مهم، نشت DNS (DNS leak) و به تبع آن افشای آیپی واقعی است.
در این مقاله:
وبسایتی که میتواند نشت DNS را بررسی کند معرفی میشود
مفاهیم «تست تمیزی آیپی» و «نشت DNS/IP» توضیح داده میشوند
روش انجام تست قدم به قدم آمده است
تحلیل نتایج را یاد میگیری
راههای پیشگیری و رفع مشکل نشت را بررسی میکنیم
یکی از محبوبترین ابزارهای آنلاین برای بررسی نشت DNS، وبسایت dnsleaktest.com است. وقتی وارد این سایت شوی:
به تو نشان میدهد که آیپی فعلیات چیست
با کلیک روی گزینه تست، DNSهایی که سیستم از آنها استفاده میکند را مییابد
نتایج را نمایش میدهد تا بفهمی آیا DNS ای که سیستم از آن استفاده میکند مطابق با VPN یا تنظیمات مورد انتظار توست یا خیر
گزینهی “Standard Test” و “Extended Test” را دارد؛ تست استاندارد تعداد محدودی درخواست ارسال میکند و سریعتر است، تست “Extended” تعداد بیشتری درخواست انجام میدهد تا مواقعی که DNSهای پنهان یا متعدد هستند هم شناسایی شوند DNS Leak Test+2IONOS+2
یکی از نکات مفید این وبسایت این است که چگونه تست را انجام میدهد: وقتی دامنهای به صورت تصادفی تولید میکند (مثلاً something.random.dnsleaktest.com)، سیستم برای دریافت IP آن دامنه تلاش میکند. آنچه مهم است اینکه این دامنه ناشناخته است، پس تنها DNS واقعیای که سیستم از آن استفاده میکند در این فرآیند پاسخ میدهد و سایت میتواند بفهمد کدام DNS پاسخ داده است. IONOS+2Pixelscan+2
پیش از اینکه روش تست را شرح دهیم، باید بدانیم دقیقاً چه چیزی را داریم بررسی میکنیم.
وقتی از VPN یا تونل امن استفاده میکنی، انتظار میرود که همه درخواستهای DNS (مسیریابی نام دامنه به آدرس آیپی) از طریق آن تونل امن ارسال شوند. اگر بخشی از این درخواستها مستقیماً به سرور DNS سرویسدهنده اینترنت (ISP) یا سرورهای DNS بیرونی ارسال شود، این یعنی نشت DNS (DNS leak). DNS Leak Test+2GeeksforGeeks+2
چنین نشتهایی میتواند باعث شود ISP یا نظارتکنندهها بفهمند شما چه سایتهایی بازدید میکنی، حتی اگر ترافیک دادهها رمزنگاری شده باشد.
علاوه بر DNS leak، گاهی مرورگرها یا نرمافزارها ممکن است از قابلیتهایی مانند WebRTC استفاده کنند و آیپی محلی یا واقعی را فاش کنند. مقالهای در حوزه این موضوع نشان داده است که WebRTC میتواند آدرسهای داخلی و خارجی سیستم را افشا کند، حتی وقتی VPN فعال است. arXiv+1
بنابراین در تست کامل باید علاوه بر DNS leak، احتمال نشت از طریق WebRTC را هم در نظر بگیری.
قطع یا غیرفعال کردن VPN یا ابزار محافظت دیگر
ابتدا تست را با وضعیت پایه انجام بده تا ببینی DNS اصلی سیستم چیست.
ورود به سایت DNSLeakTest.com
به آدرس https://www.dnsleaktest.com/ برو. صفحه نشان میدهد IP فعلی سیستم تو چیست. DNS Leak Test
انتخاب نوع تست
اگر فقط یک نمای کلی میخواهی: گزینه Standard Test
اگر میخواهی پوشش دقیقتری داشته باشی: گزینه Extended Test (که درخواستهای بیشتری ارسال میکند و سرورهای بیشتری را بررسی میکند) DNS Leak Test+2IONOS+2
اجرای تست و مشاهده نتایج
پس از اجرای تست، DNSهایی که پاسخ دادهاند نمایش داده میشوند. اگر در نتایج، سرویسدهندگان DNS مشاهده شوند که به VPN یا تنظیم مورد انتظار تو مرتبط نیستند، یعنی نشت وجود دارد.
فعال کردن مجدد VPN و تکرار تست
با فعال کردن VPN (یا پراکسی/تونل امن) دوباره همین مراحل را طی کن و بررسی کن آیا DNSها به همان سرویسدهنده VPN اشاره میکنند یا نه.
انجام تست WebRTC Leak (اختیاری اما توصیهشده)
برای اطمینان بیشتر، از ابزارهایی استفاده کن که نشت WebRTC را هم بررسی میکنند (مثلاً وبسایتهایی که تست WebRTC دارند). در DNSLeakTest.com نیز گزینه “WebRTC Leak Test” دیده میشود. DNS Leak Test+1
وقتی نتایج تست را میبینی، به نکات زیر توجه کن:
DNSهای نمایش داده شده باید متعلق به VPN یا تنظیمی باشد که تو توقع داری (مثلاً اگر VPN تو سرور آلمان است، DNSها هم باید مرتبط با آن سرویس باشند). اگر DNSهایی از ISP تو یا شرکتهای متفاوت دیده شد، احتمال خیلی زیاد نشت DNS وجود دارد.
اگر در حالت بدون VPN نتایج نشان دهنده DNSهای ISP باشد (که طبیعی است) اما پس از فعال کردن VPN DNS متفاوتی نشان داده نشود یا DNS همان ISP دوباره ظاهر شود، این نشاندهنده نشت است.
در برخی موارد، IPv6 ممکن است غیرفعال باشد اما DNS با آدرس IPv6 در نتایج ظاهر شود — این هم یک نوع نشت است. کاربران گزارش دادهاند حتی با غیرفعال کردن IPv6 سطح سیستم، باز هم DNS با IPv6 نشان داده شده است. Reddit
اگر نتایج نمایشدهنده DNSهایی متعلق به شرکتهای معروف (مثلاً Google DNS, Cloudflare یا OpenDNS) باشد، در مواردی ممکن است تهدید نباشد اما بستگی دارد آیا آن DNSها جزو تنظیمات تو هستند یا نه.
اگر چندین DNS نمایش داده شده باشد یا DNSهای غیرمرتبط، احتمال وجود نشت بیشتر است.
اگر نتیجه تست نشان دهد که نشت وجود دارد، میتوانی از روشهای زیر استفاده کنی:
فعال کردن گزینه حفاظت در برابر DNSLeak در VPN
بسیاری از برنامههای VPN گزینهای دارند با عنوان “DNS Leak Protection” یا “Prevent DNS leak” — آن را فعال کن.
تنظیم دستی DNS امن
در تنظیمات شبکه (سیستم عامل یا تنظیمات کارت شبکه) DNSهای معتبری مثل 1.1.1.1 (Cloudflare)، 9.9.9.9، یا 8.8.8.8 (Google) یا DNS سرویس VPN را وارد کن و مطمئن شو که سیستم از DNS پیشفرض ISP استفاده نمیکند. DNS Leak Test+3GeeksforGeeks+3IONOS+3
غیرفعال کردن IPv6
اگر VPN یا ابزار تو تنها ترافیک IPv4 را حفاظت میکند، ممکن است سیستم بخش IPv6 را از تونل عبور دهد و باعث نشت شود. غیرفعال کردن IPv6 در سیستم یا شبکه میتواند کمک کند. GeeksforGeeks+2SMT Group+2
استفاده از VPN یا سرور با پشتیبانی کامل از DNS
بعضی خدمات VPN محافظت DNS قویتری دارند و تنظیماتشان بهتر است؛ اگر سرویس فعلی نتواند نشت را کنترل کند، ممکن است لازم باشد سرویس قویتری انتخاب کنی.
غیرفعال کردن WebRTC یا محدود کردن آن در مرورگر
در تنظیمات مرورگر (یا با افزونهها) میتوان WebRTC را محدود یا غیرفعال کرد تا نشت از این کانال رخ ندهد.
استفاده از ابزارهای افزوده و چکهای مکمل
مثل Wireshark یا Packet Analyzer برای مشاهده ترافیک شبکه و اطمینان از اینکه هیچ درخواستی از بیرون تونل VPN بیرون نمیرود.