Android Private DNS বনাম DoH অ্যাপ
Android-এর Private DNS অ্যাপ ছাড়াই DNS over TLS দিয়ে লুকআপ এনক্রিপ্ট করে। কখন DoH অ্যাপ ভালো, দুটোর সংঘাত কোথায়, আর কোনোটিই কী ঠিক করতে পারে না।
আপনি যদি "Android-এ এনক্রিপ্টেড DNS" সার্চ করে থাকেন, সম্ভবত দুটি উত্তর পেয়েছেন। একটি বলে: অ্যাপ লাগবে না, শুধু Private DNS চালু করুন। অন্যটি বলে: DNS over HTTPS করে এমন একটি অ্যাপ ইনস্টল করুন। দুটোই যুক্তিসঙ্গত। এগুলো একই সমস্যা ভিন্ন উপায়ে সমাধান করে এবং ভিন্ন জায়গায় ব্যর্থ হয়। এই গাইড ব্যাখ্যা করে প্রতিটি কীভাবে কাজ করে, কোথায় সমস্যায় পড়ে, আর কীভাবে বাছবেন। আমরা GreenTunnel বানাই, যাতে একটি DoH ক্লায়েন্ট আছে, তাই এটি মাথায় রেখে পড়ুন।
Private DNS আসলে কী
Google Android 9-এ Private DNS যোগ করে। এটি সাধারণত পাওয়া যায় Settings → Network & internet → Private DNS-এ, যদিও ঠিক পথটি ফোন নির্মাতা অনুযায়ী আলাদা। এর তিনটি অপশন আছে:
- Off: লুকআপ সাধারণ টেক্সটে যায় বর্তমান নেটওয়ার্ক যে DNS সার্ভার দেয় সেখানে।
- Automatic: ডিফল্ট। Android নেটওয়ার্কের নিজস্ব DNS সার্ভারের সঙ্গে DNS over TLS চেষ্টা করে, আর সেই সার্ভার সাপোর্ট করলে তা ব্যবহার করে। না করলে লুকআপ সাধারণ টেক্সটেই থাকে। একে প্রায়ই opportunistic মোড বলা হয়, আর বেশিরভাগ বাড়ির ও মোবাইল নেটওয়ার্কে এর মানে কোনো এনক্রিপশনই নেই।
- Private DNS provider hostname: আপনি একটি প্রোভাইডারের হোস্টনেম লেখেন, যেমন Google Public DNS-এর জন্য
dns.google। তখন Android সেই সার্ভারেই জোর দেয়। এতে পৌঁছাতে না পারলে এটি চুপচাপ সাধারণ DNS-এ ফিরে যায় না। Google-এর ঘোষণা অনুযায়ী Android বরং নেটওয়ার্কটিকে ইন্টারনেট সংযোগহীন হিসেবে চিহ্নিত করে।
DNS over TLS RFC 7858-এ মানসম্মত করা, এবং নিজস্ব পোর্ট 853 ব্যবহার করে। এই নির্দিষ্ট পোর্টই এর শক্তি ও দুর্বলতা: এটি পরিচ্ছন্ন ও হালকা, কিন্তু কোনো নেটওয়ার্কের পক্ষে চেনা ও ব্লক করাও সহজ।
Android-এ DNS over HTTPS-এর কী হলো?
এখানে একটি সূক্ষ্ম বিষয় আছে যা অনেক গাইড বাদ দেয়। জুলাই ২০২২-এ 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 অ্যাপ, অথবা DoH ক্লায়েন্টসহ একটি VPN অ্যাপ, Android-এর VPN স্লটের মাধ্যমে পুরো ডিভাইসের DNS নিজের হাতে নেয়। প্রতিটি লুকআপ HTTPS-এর ভেতরে যায় একটি DoH সার্ভারে, যেমন https://cloudflare-dns.com/dns-query, যা RFC 8484-এ সংজ্ঞায়িত।
- এটি পোর্ট 443 ব্যবহার করে। নেটওয়ার্কের কাছে এটি অন্য যেকোনো HTTPS সংযোগের মতোই দেখায়। যে নেটওয়ার্ক DNS over TLS থামাতে পোর্ট 853 ব্লক করে সে সাধারণত এটি ছেড়ে দেয়।
- সার্ভার ও প্রোটোকল আপনি বেছে নেন। অ্যাপগুলো DoH ও DoT প্রোভাইডার পাশাপাশি দিতে পারে এবং এদের মধ্যে বদলাতে পারে।
- এটি নেটওয়ার্কের রিজলভার পুরোপুরি এড়াতে পারে। একটি ভালো ক্লায়েন্ট DoH সার্ভারের নির্দিষ্ট bootstrap IP অ্যাড্রেসে সংযোগ করে, তাই DNS সার্ভার খুঁজে পাওয়াও নেটওয়ার্কের DNS-এর ওপর নির্ভর করে না।
- এটি VPN স্লট দখল করে। Android একবারে একটি VPN চালাতে দেয়। একটি DoH অ্যাপ অন্য VPN অ্যাপের সঙ্গে চলতে পারে না।
পাশাপাশি তুলনা
| Private DNS (হোস্টনেম) | DoH অ্যাপ | |
|---|---|---|
| বাড়তি অ্যাপ লাগে | না | হ্যাঁ |
| প্রোটোকল | DNS over TLS, অথবা Android 11+-এ কিছু পরিচিত প্রোভাইডারের জন্য DNS over HTTP/3 | DNS over HTTPS (কিছু অ্যাপ DoT-ও দেয়) |
| পোর্ট | DoT-এর জন্য 853 | 443 |
| সার্ভার ব্লক থাকলে | সেটিং না বদলানো পর্যন্ত নেটওয়ার্ক ইন্টারনেট নেই দেখায় | অ্যাপের ওপর নির্ভর করে। কিছু অন্য প্রোভাইডারে চলে যায় |
| VPN স্লট ব্যবহার করে | না | হ্যাঁ |
| অন্য VPN অ্যাপের সঙ্গে চলে | হ্যাঁ, নিচে বর্ণিত সংঘাতসহ | না, একবারে একটিই VPN |
| HTTPS-এ নাম ফিল্টারিংয়ের বিরুদ্ধে সাহায্য করে | না | শুধু যদি অ্যাপটি সেটাও করে |
Private DNS কোথায় সমস্যায় পড়ে
- যে নেটওয়ার্ক পোর্ট 853 ব্লক করে। কিছু অফিস, স্কুল ও পাবলিক Wi-Fi এটি ব্লক করে। হোস্টনেম মোডে তখন নেটওয়ার্কটিকে নষ্ট মনে হয়। এটি কীভাবে দেখা দেয় তা জানতে সাইট মোবাইল ডেটায় খোলে, Wi-Fi-তে নয়? দেখুন।
- নেটওয়ার্ক অনুযায়ী অদ্ভুত আচরণ। সেটিংটি সব জায়গার জন্য এক, কিন্তু নেটওয়ার্কগুলো এক নয়। মোবাইল ডেটায় কাজ করা হোস্টনেম একটি নির্দিষ্ট Wi-Fi-তে ব্যর্থ হতে পারে।
- পাবলিক Wi-Fi-এর লগইন পেজ। সাইন-ইন পেজসহ হোটেল ও ক্যাফের নেটওয়ার্কে সাইন-ইন শেষ না হওয়া পর্যন্ত নির্দিষ্ট হোস্টনেম গোলমাল করতে পারে। কিছুক্ষণের জন্য Automatic-এ বদলালে সাধারণত ঠিক হয়ে যায়।
- Automatic প্রায়ই এনক্রিপ্টেড নয়। বেশিরভাগ ISP-র নিজস্ব DNS সার্ভার DNS over TLS দেয় না, তাই Automatic চুপচাপ সাধারণ DNS-এই থাকে।
DoH অ্যাপ কোথায় সমস্যায় পড়ে
- এটিকে চলতে থাকতে হয়। ব্যাটারি বাঁচাতে Android অ্যাপটি বন্ধ করে দিলে DNS সুরক্ষাও বন্ধ হয়। দেখুন Android-এ VPN চালু রাখা।
- এটি অন্য VPN আটকায়। একই ফোনে এটিকে কাজের VPN-এর সঙ্গে মেলানো যায় না।
- এর সার্ভার IP অ্যাড্রেস দিয়ে ব্লক হতে পারে। নেটওয়ার্ক DoH সার্ভারের ঠিকানা ব্লক করলে পোর্ট 443 কাজে আসে না। যে ক্লায়েন্ট অন্য প্রোভাইডারে ফিরে যেতে পারে সেগুলো এটি ভালো সামলায়।
সংঘাত: Private DNS আর একটি VPN অ্যাপ
Android 10 থেকে, একটি VPN অ্যাপ চলার সময়ও Private DNS হোস্টনেম প্রযোজ্য থাকে। Google-এর নিজস্ব Public DNS নির্দেশনা উল্লেখ করে যে Android 9-এ একটি VPN Private DNS-কে ছাপিয়ে যেত, এবং এটি Android 10-এ ঠিক করা হয়েছে। বাস্তবে এর মানে, আপনি একটি হোস্টনেম সেট করে তারপর নিজস্ব DNS-সহ একটি VPN অ্যাপ চালু করলে Android লুকআপগুলো আপনার Private DNS প্রোভাইডারে পাঠায়। VPN-এর এনক্রিপ্টেড DNS আর এর ব্লক তালিকা সেই নামগুলো কখনো দেখে না। বর্তমান নেটওয়ার্কে সেই প্রোভাইডার ব্লক থাকলে প্রতিটি সাইট ব্যর্থ হয়।
GreenTunnel ব্যবহারের সময় Private DNS Off বা Automatic করুন। এটি সাইট এখনো ব্লক?-এর প্রথম যাচাইগুলোর একটি।
GreenTunnel DNS কীভাবে সামলায়
GreenTunnel হলো একটি বিল্ট-ইন এনক্রিপ্টেড DNS ক্লায়েন্টসহ লোকাল VPN। সেটিংস → 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 চেষ্টা করে, আর যেটি উত্তর দিয়েছে সেটিই ব্যবহার করতে থাকে। প্রতিটি প্রোভাইডারে পৌঁছানো হয় বিল্ট-ইন bootstrap IP দিয়ে, তাই আপনার ISP-র DNS-কে কখনো জিজ্ঞাসা করা হয় না। DoQ সাপোর্ট করা হয় না। পূর্ণ বিবরণ আছে DoH ও DoT-এর ব্যাখ্যা-য়।
শুধু-DNS অ্যাপের সঙ্গে পার্থক্য হলো লুকআপের পরে কী ঘটে। GreenTunnel সাধারণ নাম ফিল্টারিং পার হতে HTTPS সংযোগের প্রথম প্যাকেটের রূপও বদলায়, Requester-এ অ্যাপভিত্তিক সংযোগ দেখায়, আর URL পরীক্ষা দিয়ে একটি সাইট পরীক্ষা করতে পারে। আপনি যে ডোমেইনগুলো লুকআপ করেন সেগুলো আমরা কখনো সংগ্রহ করি না।
এনক্রিপ্টেড DNS-এর সৎ সীমাবদ্ধতা
এনক্রিপ্টেড DNS, যেভাবেই পান, এক ধরনের ব্লক ঠিক করে: যে নেটওয়ার্ক DNS উত্তর নকল করে বা ফেলে দেয়। এটি কোনো নেটওয়ার্ককে HTTPS হ্যান্ডশেকে সাইটের নাম পড়া থেকে থামায় না, যার জন্য প্যাকেট রূপান্তর বা ECH লাগে। এটি IP ব্লকিং পার হয় না। এটি আপনার IP অ্যাড্রেস লুকায় না, আর আপনার ISP তখনো দেখতে পারে আপনি কোন ঠিকানায় সংযোগ করছেন। আপনার ISP-র বদলে আপনার বেছে নেওয়া DNS প্রোভাইডার আপনার লুকআপ দেখে, তাই এমন একটি বাছুন যার নীতিতে আপনি ভরসা করেন। GreenTunnel-ও অ্যানোনিমিটি টুল নয়।
কোনটি ব্যবহার করবেন?
- ঠিকঠাক চলা নেটওয়ার্কে শুধু লুকআপ এনক্রিপ্ট করতে চান? প্রোভাইডার হোস্টনেমসহ Private DNS সহজ এবং কোনো অ্যাপ লাগে না।
- আপনার নেটওয়ার্ক পোর্ট 853 ব্লক করে, DNS নকল করে, বা সাইটের নাম ফিল্টার করে? একটি DoH অ্যাপ, বিশেষ করে যেটি নাম ফিল্টারিংও সামলায়, বেশি উপযুক্ত। Private DNS Off বা Automatic করুন।
- আপনি কি আগে থেকেই কাজের VPN ব্যবহার করেন? Private DNS-এই থাকুন, কারণ মাত্র একটি VPN অ্যাপ চলতে পারে।
GreenTunnel Android ও iPhone-এ ফ্রি, ঐচ্ছিক Premium আছে। এটি কীভাবে কাজ করে দেখুন হোম পেজে।
সাধারণ জিজ্ঞাসা
Android Private DNS কি DoH নাকি DoT ব্যবহার করে?
পোর্ট 853-এ DNS over TLS। ২০২২ সালের একটি Google Play সিস্টেম আপডেটের পর থেকে Android 11 ও পরের ভার্সন কিছু সাপোর্ট করা পরিচিত প্রোভাইডারের জন্য এর বদলে DNS over HTTP/3 ব্যবহার করে, শুরুতে Google ও Cloudflare। আপনি নিজের পছন্দের DoH ঠিকানা লিখতে পারবেন না।
GreenTunnel ব্যবহারের সময় কি Private DNS চালু রাখব?
এটি Off বা Automatic করুন। প্রোভাইডার হোস্টনেম থাকলে Android সরাসরি সেই প্রোভাইডারে লুকআপ পাঠায়, ফলে GreenTunnel-এর এনক্রিপ্টেড DNS আর আপনার ব্লক তালিকা বাদ পড়ে যায়।
DoH কি DoT-এর চেয়ে বেশি প্রাইভেট?
দুটোই লুকআপ সমান ভালোভাবে এনক্রিপ্ট করে। পার্থক্য হলো চিহ্নিত করা ও ব্লক করা কতটা সহজ। DoT একটি নির্দিষ্ট পোর্ট ব্যবহার করে, আর DoH পোর্ট 443-এ HTTPS-এর সঙ্গে মিশে যায়।
এনক্রিপ্টেড DNS কি সব সাইট আনব্লক করবে?
না। এটি শুধু DNS-ভিত্তিক ব্লকিং ঠিক করে। নাম ফিল্টারিং দিয়ে ব্লক করা সাইটের জন্য আরও কিছু লাগে, আর IP অ্যাড্রেস দিয়ে ব্লক করা সাইটের জন্য সম্পূর্ণ ভিন্ন পথ লাগে।
সূত্র
- Android Developers Blog, DNS over TLS support in Android P Developer Preview (এপ্রিল ২০১৮)।
- Google Security Blog, DNS-over-HTTP/3 in Android (জুলাই ২০২২)।
- Google Public DNS, Get started (Android Private DNS সেটআপ ও Android 9-এর VPN নোট), নভেম্বর ২০২৬-এ পড়া।
- IETF, RFC 7858: DNS over TLS।
- IETF, RFC 8484: DNS Queries over HTTPS।