DNS در 30 ثانیه
دستگاه شما قبل از باز کردن هر سایت باید نامی مثل example.com را به آدرس IP تبدیل کند. این کار را با پرسیدن از یک DNS resolver (سرور DNS) انجام میدهد که معمولاً متعلق به ارائهدهنده اینترنت شماست. این سرور نام هر سایتی که جستجو میکنید، زمان آن و آدرس IP شما را میبیند.
نشت DNS چیست؟
وقتی از VPN استفاده میکنید، این درخواستها باید از داخل تونل رمزنگاریشده به DNS خود VPN بروند. نشت DNS وقتی رخ میدهد که آنها به جای تونل، مستقیم به ارائهدهنده اینترنت یا یک DNS بیرونی دیگر بروند.
خود ترافیک شما همچنان رمزنگاریشده است، اما سرور DNS فهرست همه سایتهایی را که باز میکنید میبیند و هر کسی که اتصال شما را زیر نظر دارد هم آن را میبیند. در بعضی کشورها ارائهدهندگان اینترنت از DNS برای مسدود کردن سایتها استفاده میکنند، بنابراین نشت DNS میتواند باعث شود سایتهای مسدود حتی با VPN روشن هم باز نشوند.
نشت DNS آدرس IPی را که سایتها میبینند تغییر نمیدهد؛ بلکه سایتهایی را که باز میکنید به ارائهدهنده اینترنت نشان میدهد. به همین دلیل فقط با بررسی آی پی نمیتوان آن را تشخیص داد.
چطور نشت DNS را تست کنیم؟
- به VPN وصل شوید.
- تست نشت DNS را باز کنید. این تست باعث میشود مرورگرتان چند نام تصادفی را جستجو کند که فقط سرور تست ما میتواند به آنها پاسخ دهد، و ثبت میکند کدام سرورهای DNS آنها را درخواست کردهاند.
- به فهرست سرورهای DNS نگاه کنید.
بدون نشت: همه سرورها متعلق به ارائهدهنده VPN شما هستند یا در همان کشوریاند که VPN از آن خارج میشود.
نشت دارد: سرورهای ارائهدهنده اینترنت خودتان را میبینید، یا سرورهایی در کشور خودتان در حالی که سرور VPN جای دیگری است.
سرویسهای DNS عمومی بزرگ مثل Google (8.8.8.8) و Cloudflare (1.1.1.1) در سراسر دنیا سرور دارند. برای آنها، تست زیرشبکه کلاینتی (Client Subnet) را هم که سرور DNS منتقل کرده نشان میدهد؛ این زیرشبکه میتواند شبکه واقعی شما را لو بدهد، حتی وقتی خود سرور بیطرف به نظر میرسد.
علت نشت DNS چیست؟
- VPN سرور DNS خودش را تنظیم نمیکند. بعضی اپهای VPN، تنظیمات دستی WireGuard یا OpenVPN و بسیاری از ابزارهای پروکسی، DNS سیستم را بدون تغییر رها میکنند.
- ویندوز همزمان از همه شبکهها میپرسد. ویندوز درخواستهای DNS را به همه آداپتورهای شبکه میفرستد و سریعترین پاسخ را برمیدارد، بنابراین درخواست ممکن است از اتصال عادی شما خارج شود.
- IPv6. اگر VPN فقط IPv4 را مدیریت کند، درخواستهای روی IPv6 به DNS IPv6 ارائهدهنده اینترنت میروند.
- DNS-over-HTTPS مرورگر. Chrome، Edge و Firefox میتوانند درخواستها را به DNS رمزنگاریشده خودشان بفرستند. این نشت به ارائهدهنده اینترنت نیست، اما DNS VPN را دور میزند و میتواند موقعیت واقعی شما را منتقل کند.
- ابزارهای پروکسی در حالت «System Proxy». اپهایی مثل Clash، V2Ray یا کلاینتهای Shadowsocks اغلب فقط ترافیک مرورگر را پروکسی میکنند، در حالی که سیستم همچنان نامها را بهصورت محلی resolve میکند.
- روتر یا ارائهدهنده اینترنت DNS را hijack میکند. بعضی ارائهدهندگان همه ترافیک پورت 53 را رهگیری میکنند و خودشان به آن پاسخ میدهند.
چطور نشت DNS را رفع کنیم؟
از راهحل اول شروع کنید و بعد از هر مرحله دوباره تست بگیرید.
- محافظت از نشت DNS را در VPN روشن کنید. بیشتر اپهای VPN خوب گزینهای به نام DNS leak protection، «فقط استفاده از DNS VPN» یا مشابه آن دارند. Kill Switch را هم روشن کنید.
- محافظت از نشت IPv6 را روشن کنید یا IPv6 را در اپ VPN مسدود کنید. برای اینکه بدانید چرا مهم است، تفاوت IPv4 و IPv6 را ببینید.
- DNS را در کانفیگ VPN تنظیم کنید. در WireGuard یک خط
DNS =در بخش[Interface]اضافه کنید. در OpenVPN روی ویندوز ازblock-outside-dnsاستفاده کنید. - در ابزارهای پروکسی حالت TUN را فعال کنید (در Clash، sing-box و بقیه با نام TUN، enhanced mode یا VPN mode) و مدیریت DNS آنها را روشن کنید تا همه درخواستها از پروکسی عبور کنند.
- تنظیم DNS امن مرورگر را بررسی کنید. در Chrome یا Edge این گزینه در Settings > Privacy and security > Security > Use secure DNS (تنظیمات > حریم خصوصی و امنیت > امنیت > استفاده از DNS امن) است. یا خاموشش کنید تا DNS VPN استفاده شود، یا آن را روی سروری بگذارید که به آن اعتماد دارید.
- DNS سیستم را بهعنوان راهحل پشتیبان به یک DNS عمومی تغییر دهید. این کار نشت به همان سرور را رفع نمیکند، اما جلوی دیدن درخواستهایتان توسط ارائهدهنده اینترنت را میگیرد.
سپس دوباره تست نشت DNS را اجرا کنید. برای بررسی کامل VPN، از جمله WebRTC و IPv6، راهنمای چطور بفهمیم VPN کار میکند را ببینید.
سوالات متداول
آیا نشت DNS خطرناک است؟
سایتهایی را که باز میکنید لو میدهد، نه رمزهای عبور یا محتوای صفحات را؛ آنها همچنان با HTTPS محافظت میشوند. با این حال، اگر برای حفظ حریم خصوصی از VPN استفاده میکنید، نشت بخش زیادی از فایده آن را از بین میبرد.
آیا نشت DNS میتواند آی پی واقعی من را لو بدهد؟
بهطور غیرمستقیم. DNS ارائهدهنده اینترنت آی پی واقعی شما را میبیند، و سرورهایی که زیرشبکه کلاینت را منتقل میکنند، موقعیت تقریبی شما را به سرور DNS سایت میگویند. خود سایتها آی پی شما را از طریق DNS نمیبینند.
آیا استفاده از 1.1.1.1 یا 8.8.8.8 جلوی نشت DNS را میگیرد؟
نه. فقط عوض میکند که چه کسی درخواستهای شما را میبیند، از ارائهدهنده اینترنت به Cloudflare یا Google، اما آن درخواستها همچنان میتوانند بیرون از VPN بروند. فقط عبور دادن DNS از داخل VPN جلوی نشت را میگیرد.
چرا تست سرورهایی در کشور دیگری نشان میدهد؟
سرورهای DNS بزرگ درخواست شما را از نزدیکترین دیتاسنتر به شما یا به سرور VPN میفرستند که ممکن است در کشور همسایه باشد. به نام شبکه نگاه کنید: اگر ارائهدهنده VPN شما یا یک DNS عمومی بزرگ نزدیک سرور VPN است، مشکلی نیست.