Private DNS vs แอป DoH
Private DNS ของ Android เข้ารหัสการค้นหาด้วย DNS over TLS โดยไม่ต้องใช้แอป เมื่อไหร่แอป DoH ดีกว่า ทั้งสองชนกันอย่างไร และอะไรที่แก้ไม่ได้ทั้งคู่
ถ้าคุณเคยค้นหา "DNS เข้ารหัสบน Android" คุณน่าจะเจอคำตอบสองแบบ แบบแรกบอกว่าไม่ต้องใช้แอป แค่เปิด Private DNS แบบที่สองบอกให้ติดตั้งแอปที่ทำ DNS over HTTPS ทั้งสองแบบสมเหตุสมผล มันแก้ปัญหาเดียวกันด้วยวิธีต่างกัน และล้มเหลวในจุดต่างกัน คู่มือนี้อธิบายว่าแต่ละแบบทำงานอย่างไร ติดขัดตรงไหน และควรเลือกอย่างไร เราเป็นผู้สร้าง GreenTunnel ซึ่งมีไคลเอนต์ DoH อยู่ในตัว โปรดอ่านโดยคำนึงถึงข้อนี้
Private DNS คืออะไรกันแน่
Google เพิ่ม Private DNS ใน Android 9 ปกติอยู่ที่ Settings → Network & internet → Private DNS (การตั้งค่า → เครือข่ายและอินเทอร์เน็ต → DNS ส่วนตัว) แต่เส้นทางจริงต่างกันไปตามผู้ผลิตมือถือ มีสามตัวเลือก:
- Off (ปิด): การค้นหาส่งเป็นข้อความธรรมดาไปยังเซิร์ฟเวอร์ DNS ที่เครือข่ายปัจจุบันกำหนดให้
- Automatic (อัตโนมัติ): ค่าเริ่มต้น Android ลอง DNS over TLS กับเซิร์ฟเวอร์ DNS ของเครือข่ายเอง และใช้ถ้าเซิร์ฟเวอร์นั้นรองรับ ถ้าไม่รองรับ การค้นหาจะยังเป็นข้อความธรรมดา โหมดนี้มักเรียกว่าโหมด opportunistic และบนเครือข่ายบ้านและมือถือส่วนใหญ่ หมายถึงไม่มีการเข้ารหัสเลย
- Private DNS provider hostname (ชื่อโฮสต์ของผู้ให้บริการ DNS ส่วนตัว): คุณพิมพ์ชื่อโฮสต์ของผู้ให้บริการ เช่น
dns.googleสำหรับ Google Public DNS จากนั้น Android จะใช้เซิร์ฟเวอร์นั้นเท่านั้น ถ้าติดต่อไม่ได้ ก็จะไม่ถอยกลับไปใช้ DNS ธรรมดาอย่างเงียบ ๆ ประกาศของ Google ระบุว่า Android จะทำเครื่องหมายว่าเครือข่ายนั้นไม่มีอินเทอร์เน็ตแทน
DNS over TLS เป็นมาตรฐานใน RFC 7858 และใช้พอร์ตของตัวเองคือ 853 พอร์ตเฉพาะนี้เป็นทั้งจุดแข็งและจุดอ่อน คือสะอาดและเบา แต่ก็ทำให้เครือข่ายจดจำและบล็อกได้ง่าย
แล้ว DNS over HTTPS ใน Android ล่ะ?
มีรายละเอียดหนึ่งที่คู่มือหลายแห่งมองข้าม ในเดือนกรกฎาคม 2022 Google ประกาศว่า ผ่านการอัปเดตระบบของ Google Play อุปกรณ์ Android 11 ขึ้นไปจะใช้ DNS over HTTP/3 แทน DNS over TLS กับเซิร์ฟเวอร์ DNS ที่รู้จักกันดีซึ่งรองรับ โดยตอนเปิดตัวครอบคลุม Google และ Cloudflare โพสต์ของ Google เน้นว่าบริการ DNS ที่คุณใช้ไม่ได้เปลี่ยน เปลี่ยนแค่วิธีรับส่ง คุณยังพิมพ์ชื่อโฮสต์ในช่อง Private DNS ช่องเดิม ไม่มีช่องให้ใส่ที่อยู่ DoH ตามต้องการ และสำหรับผู้ให้บริการรายอื่น Private DNS ยังเป็น DNS over TLS
แอป DoH ทำอะไรต่างออกไป
แอป DoH หรือแอป VPN ที่มีไคลเอนต์ DoH จะรับหน้าที่ DNS ของทั้งอุปกรณ์ผ่านช่อง VPN ของ Android การค้นหาแต่ละครั้งเดินทางอยู่ภายใน HTTPS ไปยังเซิร์ฟเวอร์ DoH เช่น https://cloudflare-dns.com/dns-query ตามที่กำหนดใน RFC 8484
- ใช้พอร์ต 443 สำหรับเครือข่าย มันดูคล้ายการเชื่อมต่อ HTTPS ทั่วไป เครือข่ายที่บล็อกพอร์ต 853 เพื่อหยุด DNS over TLS มักปล่อยมันไว้
- คุณเลือกเซิร์ฟเวอร์และโปรโตคอลได้ แอปมีผู้ให้บริการ DoH และ DoT ให้เลือกคู่กันและสลับไปมาได้
- เลี่ยงเซิร์ฟเวอร์ DNS ของเครือข่ายได้ทั้งหมด ไคลเอนต์ที่ดีจะเชื่อมต่อไปยังที่อยู่ IP บูตสแตรปที่กำหนดตายตัวของเซิร์ฟเวอร์ 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 สาธารณะ เครือข่ายของโรงแรมและคาเฟ่ที่มีหน้าลงชื่อเข้าใช้อาจทำงานผิดปกติกับชื่อโฮสต์ที่ตั้งไว้ จนกว่าคุณจะลงชื่อเข้าใช้เสร็จ การสลับไปเป็น Automatic ชั่วครู่มักแก้ได้
- Automatic มักไม่ได้เข้ารหัส เซิร์ฟเวอร์ DNS ของ ISP ส่วนใหญ่ไม่มี DNS over TLS โหมด Automatic จึงยังใช้ DNS ธรรมดาอยู่อย่างเงียบ ๆ
จุดที่แอป DoH ติดขัด
- ต้องทำงานอยู่ตลอด ถ้า Android หยุดแอปเพื่อประหยัดแบตเตอรี่ การป้องกัน DNS ก็หยุดด้วย ดู การทำให้ VPN ทำงานต่อเนื่องบน Android
- บล็อก VPN ตัวอื่น คุณใช้มันคู่กับ VPN ของที่ทำงานบนมือถือเครื่องเดียวกันไม่ได้
- เซิร์ฟเวอร์ของมันอาจถูกบล็อกด้วยที่อยู่ IP พอร์ต 443 ไม่ช่วยถ้าเครือข่ายบล็อกที่อยู่ของเซิร์ฟเวอร์ DoH ไคลเอนต์ที่สลับไปผู้ให้บริการอื่นได้จะรับมือเรื่องนี้ได้ดีกว่า
การชนกัน: 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 เป็น Off หรือ Automatic ระหว่างใช้งาน นี่เป็นหนึ่งในจุดแรกที่ต้องตรวจใน เว็บไซต์ยังถูกบล็อก?
GreenTunnel จัดการ DNS อย่างไร
GreenTunnel เป็น VPN ในเครื่องที่มีไคลเอนต์ DNS เข้ารหัสในตัว ที่ Settings → DNS คุณเลือกผู้ให้บริการได้หนึ่งในสามราย หรือ Automatic:
- Cloudflare, DoH,
https://cloudflare-dns.com/dns-query - Google, DoH,
https://dns.google/dns-query - Quad9, DoT,
dns.quad9.net:853
Automatic จะลอง Cloudflare ก่อน แล้ว Google แล้ว Quad9 และใช้รายที่ตอบต่อไป ผู้ให้บริการแต่ละรายเชื่อมต่อผ่าน IP บูตสแตรปที่มีในตัว จึงไม่เคยถาม DNS ของ ISP เลย ไม่รองรับ DoQ คำอธิบายฉบับเต็มอยู่ใน อธิบาย DoH และ DoT
ความต่างจากแอปที่ทำแค่ DNS คือสิ่งที่เกิดขึ้นหลังการค้นหา GreenTunnel ยังปรับรูปแพ็กเก็ตแรกของการเชื่อมต่อ HTTPS เพื่อผ่านการกรองชื่อแบบง่าย แสดงการเชื่อมต่อรายแอปใน Requester และทดสอบเว็บไซต์ด้วย Inspect URL ได้ เราไม่เคยเก็บโดเมนที่คุณค้นหา
ข้อจำกัดตามจริงของ DNS เข้ารหัส
DNS เข้ารหัส ไม่ว่าจะได้มาด้วยวิธีไหน แก้การบล็อกได้แบบเดียว คือเครือข่ายที่ปลอมหรือทิ้งคำตอบ DNS มันไม่ได้หยุดเครือข่ายจากการอ่านชื่อเว็บไซต์ใน HTTPS handshake ซึ่งต้องใช้การปรับรูปแพ็กเก็ตหรือ ECH มันผ่านการบล็อก IP ไม่ได้ ไม่ได้ซ่อนที่อยู่ IP ของคุณ และ ISP ยังเห็นว่าคุณเชื่อมต่อไปยังที่อยู่ใด ผู้ให้บริการ DNS ที่คุณเลือกจะเห็นการค้นหาของคุณแทน ISP จึงควรเลือกรายที่คุณเชื่อถือนโยบาย GreenTunnel ก็ไม่ใช่เครื่องมือปกปิดตัวตนเช่นกัน
ควรใช้แบบไหน?
- แค่อยากให้การค้นหาถูกเข้ารหัสบนเครือข่ายที่ทำงานปกติ? Private DNS กับชื่อโฮสต์ของผู้ให้บริการนั้นง่ายและไม่ต้องใช้แอป
- เครือข่ายของคุณบล็อกพอร์ต 853 ปลอม DNS หรือกรองชื่อเว็บไซต์? แอป DoH เหมาะกว่า โดยเฉพาะตัวที่รับมือการกรองชื่อได้ด้วย ตั้ง Private DNS เป็น Off หรือ Automatic
- ใช้ VPN ของที่ทำงานอยู่แล้ว? ใช้ Private DNS ต่อไป เพราะรันแอป VPN ได้ทีละตัว
GreenTunnel ใช้ฟรีบน Android และ iPhone โดยมี Premium แบบไม่บังคับ ดูวิธีทำงานได้ที่หน้าแรก
คำถามที่พบบ่อย
Private DNS ของ Android ใช้ DoH หรือ DoT?
DNS over TLS บนพอร์ต 853 ตั้งแต่การอัปเดตระบบของ Google Play ในปี 2022 Android 11 ขึ้นไปใช้ DNS over HTTP/3 แทนสำหรับผู้ให้บริการที่รู้จักกันดีบางรายที่รองรับ เริ่มจาก Google และ Cloudflare คุณใส่ที่อยู่ DoH เองไม่ได้
ควรเปิด Private DNS ไว้ระหว่างใช้ GreenTunnel ไหม?
ตั้งเป็น Off หรือ Automatic ชื่อโฮสต์ของผู้ให้บริการจะทำให้ Android ส่งการค้นหาไปยังผู้ให้บริการนั้นโดยตรง DNS เข้ารหัสของ GreenTunnel และรายการบล็อกของคุณจึงถูกข้ามไป
DoH เป็นส่วนตัวกว่า DoT ไหม?
ทั้งคู่เข้ารหัสการค้นหาได้ดีพอกัน ความต่างอยู่ที่การถูกตรวจจับและบล็อกได้ง่ายแค่ไหน DoT ใช้พอร์ตเฉพาะ ขณะที่ DoH กลืนไปกับ HTTPS บนพอร์ต 443
DNS เข้ารหัสจะปลดบล็อกทุกเว็บไซต์ไหม?
ไม่ มันแก้ได้เฉพาะการบล็อกด้วย DNS เว็บไซต์ที่ถูกบล็อกด้วยการกรองชื่อต้องใช้มากกว่านั้น และเว็บไซต์ที่ถูกบล็อกด้วยที่อยู่ IP ต้องใช้เส้นทางอื่นโดยสิ้นเชิง
แหล่งข้อมูล
- Android Developers Blog, DNS over TLS support in Android P Developer Preview (เมษายน 2018)
- Google Security Blog, DNS-over-HTTP/3 in Android (กรกฎาคม 2022)
- Google Public DNS, Get started (การตั้งค่า Private DNS บน Android และหมายเหตุเรื่อง VPN บน Android 9) อ่านเมื่อพฤศจิกายน 2026
- IETF, RFC 7858: DNS over TLS
- IETF, RFC 8484: DNS Queries over HTTPS