DNS خصوصی Android یا برنامهٔ DoH؟
DNS خصوصی در Android جستوجوها را با DNS over TLS و بدون برنامه رمزگذاری میکند. چه وقت برنامهٔ DoH بهتر است، تداخلشان و آنچه هیچکدام رفع نمیکند.
اگر «DNS رمزگذاریشده در Android» را جستوجو کرده باشید، احتمالاً به دو پاسخ رسیدهاید. یکی میگوید: به برنامه نیاز ندارید، فقط Private DNS را روشن کنید. دیگری میگوید: برنامهای نصب کنید که DNS over HTTPS انجام دهد. هر دو منطقیاند. یک مسئله را به دو روش حل میکنند و در جاهای متفاوتی شکست میخورند. این راهنما توضیح میدهد هر کدام چگونه کار میکند، کجا به مشکل میخورد و چگونه انتخاب کنید. ما GreenTunnel را میسازیم که یک کلاینت DoH در خود دارد، پس با در نظر داشتن این نکته بخوانید.
Private DNS واقعاً چیست
Google قابلیت Private DNS را در Android 9 اضافه کرد. معمولاً در تنظیمات ← شبکه و اینترنت ← DNS خصوصی قرار دارد، هرچند مسیر دقیق بین سازندگان گوشی فرق میکند. سه گزینه دارد:
- خاموش: جستوجوها بهصورت متن ساده به هر سرور DNS که شبکهٔ فعلی تعیین کرده میروند.
- خودکار: حالت پیشفرض. Android سعی میکند با سرور DNS خود شبکه از DNS over TLS استفاده کند و اگر آن سرور پشتیبانی کند، از آن استفاده میکند. اگر نه، جستوجوها بهصورت متن ساده میمانند. این را اغلب حالت فرصتطلبانه (opportunistic) مینامند و در بیشتر شبکههای خانگی و موبایل یعنی هیچ رمزگذاریای در کار نیست.
- نام میزبان ارائهدهندهٔ DNS خصوصی: نام میزبان یک ارائهدهنده را وارد میکنید، مثلاً
dns.googleبرای Google Public DNS. آنگاه Android بر استفاده از همان سرور پافشاری میکند. اگر نتواند به آن برسد، بیصدا به DNS ساده برنمیگردد. اطلاعیهٔ Google میگوید Android در عوض شبکه را بدون دسترسی به اینترنت علامت میزند.
DNS over TLS در RFC 7858 استاندارد شده و از پورت مخصوص خودش، 853، استفاده میکند. همین پورت اختصاصی هم نقطهٔ قوت آن است و هم نقطهٔ ضعفش: تمیز و سبک است، اما شناسایی و مسدود کردنش هم برای شبکه آسان است.
DNS over HTTPS در Android چه میشود؟
ظرافتی هست که بسیاری از راهنماها از آن غافلاند. در ژوئیهٔ ۲۰۲۲ Google اعلام کرد که از طریق یک بهروزرسانی سیستمی Google Play، دستگاههای Android 11 و بعد از آن برای سرورهای DNS شناختهشدهای که پشتیبانی میکنند بهجای DNS over TLS از DNS over HTTP/3 استفاده میکنند. Google و Cloudflare ارائهدهندگانی بودند که هنگام عرضه پوشش داده شدند. نوشتهٔ Google تأکید میکند که سرویس DNS مورد استفادهٔ شما تغییر نمیکند، فقط روش انتقال عوض میشود. همچنان یک نام میزبان را در همان کادر Private DNS وارد میکنید. هیچ فیلدی برای یک آدرس DoH دلخواه وجود ندارد و برای ارائهدهندگان دیگر، Private DNS همان DNS over TLS میماند.
یک برنامهٔ DoH چه کار متفاوتی میکند
یک برنامهٔ DoH، یا یک برنامهٔ VPN با کلاینت DoH، از طریق جایگاه VPN در Android کنترل DNS کل دستگاه را به دست میگیرد. هر جستوجو درون HTTPS به یک سرور DoH مانند https://cloudflare-dns.com/dns-query میرود، که در RFC 8484 تعریف شده.
- از پورت 443 استفاده میکند. از دید شبکه بسیار شبیه هر اتصال HTTPS دیگری است. شبکهای که برای جلوگیری از DNS over TLS پورت 853 را مسدود میکند، معمولاً با آن کاری ندارد.
- سرور و پروتکل را خودتان انتخاب میکنید. برنامهها میتوانند ارائهدهندگان DoH و DoT را کنار هم ارائه دهند و بین آنها جابهجا شوند.
- میتواند کاملاً از resolver شبکه دوری کند. یک کلاینت خوب به آدرسهای IP راهانداز (bootstrap) ثابت سرور DoH وصل میشود، پس حتی پیدا کردن خود سرور DNS هم به DNS شبکه وابسته نیست.
- جایگاه VPN را اشغال میکند. Android هر بار فقط یک VPN را اجازه میدهد. یک برنامهٔ DoH نمیتواند همزمان با یک برنامهٔ VPN دیگر اجرا شود.
مقایسهٔ کنار هم
| Private DNS (نام میزبان) | برنامهٔ DoH | |
|---|---|---|
| نیاز به برنامهٔ اضافه | نه | بله |
| پروتکل | DNS over TLS، یا DNS over HTTP/3 برای برخی ارائهدهندگان شناختهشده در Android 11 به بعد | DNS over HTTPS (برخی برنامهها DoT هم دارند) |
| پورت | 853 برای DoT | 443 |
| اگر سرور مسدود باشد | شبکه تا وقتی تنظیم را عوض کنید «بدون اینترنت» نشان داده میشود | بسته به برنامه. برخی به ارائهدهندهٔ دیگری میروند |
| جایگاه VPN را اشغال میکند | نه | بله |
| با برنامهٔ VPN دیگر کار میکند | بله، با تداخلهایی که در ادامه آمده | نه، هر بار فقط یک VPN |
| در برابر فیلتر نام در HTTPS کمک میکند | نه | فقط اگر برنامه آن کار را هم انجام دهد |
Private DNS کجا به مشکل میخورد
- شبکههایی که پورت 853 را مسدود میکنند. برخی محلهای کار، مدرسهها و Wi-Fiهای عمومی آن را مسدود میکنند. در حالت نام میزبان، شبکه آنگاه خراب به نظر میرسد. برای اینکه ببینید این چگونه بروز میکند، سایت با اینترنت همراه باز میشود اما با Wi-Fi نه؟ را ببینید.
- رفتارهای خاص هر شبکه. تنظیم سراسری است، اما شبکهها یکسان نیستند. نام میزبانی که روی اینترنت همراه کار میکند ممکن است روی یک Wi-Fi خاص شکست بخورد.
- صفحههای ورود در Wi-Fi عمومی. شبکههای هتل و کافه که صفحهٔ ورود دارند ممکن است با یک نام میزبان ثابت تا وقتی ورود را تمام کنید درست کار نکنند. تغییر موقت به خودکار معمولاً مشکل را حل میکند.
- حالت خودکار اغلب رمزگذاری نشده است. بیشتر سرورهای DNS خود ISPها از DNS over TLS پشتیبانی نمیکنند، پس حالت خودکار بیصدا روی DNS ساده میماند.
برنامهٔ DoH کجا به مشکل میخورد
- باید مدام در حال اجرا باشد. اگر Android برنامه را برای صرفهجویی در باتری متوقف کند، محافظت DNS هم متوقف میشود. روشن نگه داشتن VPN در Android را ببینید.
- جلوی VPNهای دیگر را میگیرد. نمیتوانید آن را با یک VPN کاری روی همان گوشی ترکیب کنید.
- سرورش ممکن است با آدرس IP مسدود شود. اگر شبکه آدرس سرور DoH را مسدود کند، پورت 443 کمکی نمیکند. کلاینتهایی که میتوانند به ارائهدهندهٔ دیگری بروند این وضعیت را بهتر مدیریت میکنند.
تداخل: Private DNS بهاضافهٔ یک برنامهٔ VPN
از Android 10 به بعد، نام میزبان Private DNS هنگام اجرای یک برنامهٔ VPN هم اعمال میشود. راهنمای خود Google Public DNS یادآوری میکند که در Android 9 یک VPN بر Private DNS غلبه میکرد و این در Android 10 اصلاح شد. در عمل یعنی اگر یک نام میزبان تنظیم کنید و سپس یک برنامهٔ VPN با DNS خودش را روشن کنید، Android جستوجوها را به ارائهدهندهٔ Private DNS شما میفرستد. DNS رمزگذاریشدهٔ VPN و فهرست مسدودسازی آن هرگز آن نامها را نمیبینند. اگر آن ارائهدهنده در شبکهٔ فعلی مسدود باشد، همهٔ سایتها باز نمیشوند.
هنگام استفاده از GreenTunnel، Private DNS را روی خاموش یا خودکار بگذارید. این یکی از نخستین بررسیها در سایت هنوز مسدود است؟ است.
GreenTunnel چگونه DNS را مدیریت میکند
GreenTunnel یک VPN محلی با کلاینت داخلی DNS رمزگذاریشده است. در تنظیمات ← DNS یکی از سه ارائهدهنده یا خودکار را انتخاب میکنید:
- Cloudflare، DoH،
https://cloudflare-dns.com/dns-query - Google، DoH،
https://dns.google/dns-query - Quad9، DoT،
dns.quad9.net:853
حالت خودکار به ترتیب Cloudflare، سپس Google، سپس Quad9 را امتحان میکند و از هر کدام که پاسخ داد استفاده میکند. به هر ارائهدهنده از طریق IPهای راهانداز داخلی دسترسی پیدا میشود، پس هرگز از DNS ارائهدهندهٔ اینترنت شما پرسیده نمیشود. از DoQ پشتیبانی نمیشود. توضیح کامل در توضیح DoH و DoT آمده است.
تفاوت با یک برنامهٔ فقط DNS در اتفاقی است که پس از جستوجو میافتد. GreenTunnel نخستین بستهٔ اتصالهای HTTPS را هم تغییر شکل میدهد تا از فیلتر سادهٔ نام عبور کند، اتصالها را به تفکیک برنامه در Requester نشان میدهد و میتواند یک سایت را با بررسی URL آزمایش کند. ما هرگز دامنههایی را که جستوجو میکنید جمعآوری نمیکنیم.
محدودیتهای DNS رمزگذاریشده، بیپرده
DNS رمزگذاریشده، از هر راهی که به دستش بیاورید، یک نوع مسدودسازی را رفع میکند: شبکهای که پاسخهای DNS را جعل میکند یا دور میریزد. جلوی شبکه را از خواندن نام سایت در دستدهی HTTPS نمیگیرد، که برای آن به تغییر شکل بسته یا ECH نیاز است. از مسدودسازی IP عبور نمیکند. IP شما را پنهان نمیکند و ارائهدهندهٔ اینترنتتان همچنان میتواند ببیند به کدام آدرسها وصل میشوید. ارائهدهندهٔ DNS که انتخاب میکنید بهجای ارائهدهندهٔ اینترنت، جستوجوهای شما را میبیند، پس ارائهدهندهای را انتخاب کنید که به سیاستش اعتماد دارید. GreenTunnel هم ابزار ناشناسماندن نیست.
از کدام استفاده کنید؟
- فقط میخواهید جستوجوها در شبکههای عادی رمزگذاری شوند؟ Private DNS با نام میزبان یک ارائهدهنده ساده است و برنامه لازم ندارد.
- شبکهتان پورت 853 را مسدود میکند، DNS را جعل میکند یا نام سایتها را فیلتر میکند؟ یک برنامهٔ DoH، ترجیحاً برنامهای که فیلتر نام را هم مدیریت کند، گزینهٔ بهتری است. Private DNS را روی خاموش یا خودکار بگذارید.
- از قبل از یک VPN کاری استفاده میکنید؟ با Private DNS بمانید، چون فقط یک برنامهٔ VPN میتواند اجرا شود.
GreenTunnel روی Android و iPhone رایگان است و Premium اختیاری دارد. در صفحهٔ اصلی ببینید چگونه کار میکند.
پرسشهای متداول
آیا Private DNS در Android از DoH استفاده میکند یا DoT؟
از DNS over TLS روی پورت 853. از زمان یک بهروزرسانی سیستمی Google Play در ۲۰۲۲، Android 11 و بعد از آن برای برخی ارائهدهندگان شناختهشدهای که پشتیبانی میکنند، با شروع از Google و Cloudflare، بهجای آن از DNS over HTTP/3 استفاده میکنند. نمیتوانید یک آدرس DoH دلخواه وارد کنید.
آیا هنگام استفاده از GreenTunnel باید Private DNS را روشن نگه دارم؟
آن را روی خاموش یا خودکار بگذارید. نام میزبان یک ارائهدهنده باعث میشود Android جستوجوها را مستقیم به آن ارائهدهنده بفرستد، پس DNS رمزگذاریشدهٔ GreenTunnel و فهرست مسدودسازی شما نادیده گرفته میشوند.
آیا DoH خصوصیتر از DoT است؟
هر دو جستوجو را به یک اندازه خوب رمزگذاری میکنند. تفاوت در این است که شناسایی و مسدود کردنشان چقدر آسان است. DoT از پورت اختصاصی استفاده میکند، در حالی که DoH روی پورت 443 با HTTPS درمیآمیزد.
آیا DNS رمزگذاریشده همهٔ سایتها را باز میکند؟
نه. فقط مسدودسازی مبتنی بر DNS را رفع میکند. سایتهایی که با فیلتر نام مسدود شدهاند به چیزی بیشتر نیاز دارند و سایتهایی که با آدرس IP مسدود شدهاند به مسیری کاملاً متفاوت.
منابع
- وبلاگ Android Developers، DNS over TLS support in Android P Developer Preview (آوریل ۲۰۱۸).
- وبلاگ امنیتی Google، DNS-over-HTTP/3 in Android (ژوئیهٔ ۲۰۲۲).
- Google Public DNS، Get started (راهاندازی Private DNS در Android و نکتهٔ VPN در Android 9)، خواندهشده در نوامبر ۲۰۲۶.
- IETF، RFC 7858: DNS over TLS.
- IETF، RFC 8484: DNS Queries over HTTPS.