DNS Leak چیست و چگونه نشت DNS را بررسی کنیم؟
DNS Leak زمانی مطرح میشود که درخواستهای تبدیل نام دامنه به IP از مسیری خارج شوند که انتظار دارید. ممکن است VPN شما IP عمومی را تغییر داده باشد، اما DNS همچنان توسط resolver شبکه اصلی پاسخ داده شود. این وضعیت همیشه به معنی افشای «تمام ترافیک» نیست، ولی میتواند اطلاعاتی درباره دامنههایی که درخواست میکنید در اختیار مسیر DNS قرار دهد.
DNS در زمان استفاده از VPN چه کاری انجام میدهد؟
وقتی example.com را باز میکنید، سیستم ابتدا باید IP آن را پیدا کند. VPN میتواند DNS اختصاصی خود را به سیستم معرفی کند یا درخواست DNS را داخل تونل هدایت کند. برای مثال، Android VpnService به اپ اجازه میدهد DNS server مشخصی به رابط VPN اضافه کند؛ اگر هیچ DNSای تنظیم نشود، رفتار میتواند به شبکه و پیادهسازی اپ وابسته باشد.
DNS Leak دقیقاً چه شکلی است؟
فرض کنید IP عمومی شما متعلق به سرور VPN است، اما تست DNS resolver متعلق به ISP یا شبکه محلی را نشان میدهد. این میتواند نشانهای باشد که DNS از مسیر مورد انتظار شما عبور نمیکند. برای نتیجهگیری، یک تست واحد کافی نیست؛ resolverهای Anycast، DNS امن مرورگر و cache نیز میتوانند نتیجه را تغییر دهند.
چگونه DNS Leak را تست کنیم؟
- قبل از اتصال VPN، IP عمومی و DNSهای دیدهشده را یادداشت کنید.
- VPN را وصل کنید و مطمئن شوید IP عمومی تغییر کرده است.
- یک تست DNS معتبر اجرا کنید و resolverها را با حالت قبل مقایسه کنید.
- تست را در مرورگر دیگری نیز انجام دهید؛ بعضی مرورگرها DNS امن مستقل دارند.
- اگر نتیجه مشکوک است، با یک شبکه دیگر مثل دیتای موبایل مقایسه کنید.
هدف مقایسه است، نه فقط دیدن یک کشور یا نام شرکت خاص.
تفاوت DNS Leak با IP Leak چیست؟
IP Leak یعنی بخشی از ترافیک یا درخواستها IP واقعی شبکه شما را آشکار میکنند. DNS Leak درباره مسیر resolver است. ممکن است یکی وجود داشته باشد و دیگری نه. IPv6 و WebRTC نیز موضوعات جداگانهای هستند که باید مستقل بررسی شوند.
علتهای رایج نشت DNS
- پروفایل VPN هیچ DNS مشخصی اعمال نکرده است.
- Split Tunneling یا ruleهای route بخشی از ترافیک را خارج از تونل میفرستند.
- مرورگر از DNS over HTTPS مستقل استفاده میکند.
- IPv6 توسط VPN و شبکه اصلی به شکل متفاوت route میشود.
- یک برنامه امنیتی یا DNS changer تنظیمات سیستم را بازنویسی کرده است.
چگونه علت را پیدا کنیم؟
ابتدا تمام ابزارهای DNS/Proxy اضافی را موقتاً از مسیر تست خارج کنید. سپس VPN را با Full Tunnel آزمایش کنید. اگر در Full Tunnel مشکل رفع شد اما در حالت انتخابی برگشت، Split Tunneling و ruleهای اپها را بررسی کنید.
اگر همراه DNS مشکل باز شدن سایت هم دارید، چکلیست VPN وصل است ولی اینترنت باز نمیشود مسیر مناسبتری است.
آیا تغییر دستی DNS همیشه راهحل است؟
نه. تغییر دستی DNS ممکن است فقط علامت را جابهجا کند. اگر route اشتباه باشد، درخواست همچنان از رابط نامناسب خارج میشود. بهترین حالت این است که اپ VPN، DNS و route را به صورت هماهنگ مدیریت کند.
DNS امن مرورگر چه تأثیری دارد؟
مرورگرهای جدید میتوانند DNS over HTTPS داشته باشند. در این حالت resolver مرورگر ممکن است با resolver سیستم متفاوت باشد. این الزاماً «نشت» نیست، اما اگر انتظار دارید همه DNS از resolver VPN عبور کند باید این رفتار را هم در معماری خود در نظر بگیرید.
DNS Leak و حریم خصوصی
DNS تنها یکی از اجزای حریم خصوصی است. Kill Switch، routing درست، مدیریت IPv6 و سیاست نگهداری داده سرویس نیز اهمیت دارند. سبز بودن یک تست DNS نباید به تنهایی معیار اعتماد به سرویس باشد.
سوالات متداول
اگر DNS کشور دیگری را نشان دهد یعنی نشت داریم؟
نه لزوماً. resolverهای Anycast و زیرساخت ابری ممکن است مکان متفاوتی نشان دهند. مقایسه با حالت قبل از VPN مهمتر است.
آیا DNS Leak سرعت را هم کم میکند؟
DNS نامناسب میتواند شروع بارگذاری سایت را کند کند، اما افت سرعت دانلود معمولاً عوامل دیگری نیز دارد.
آیا Split Tunneling باعث DNS Leak میشود؟
خود قابلیت الزاماً مشکل نیست؛ تنظیم نادرست DNS و route در حالت split میتواند نتیجه ناخواسته ایجاد کند.
منبع فنی
برای نحوه تنظیم DNS و route در VPN اندروید، مستندات رسمی Android VpnService.Builder مرجع مناسبی است.

