DNS over HTTPS (DoH) เป็นมาตรฐานความปลอดภัยและความเป็นส่วนตัวใหม่ที่ยอดเยี่ยมสำหรับการเข้ารหัสคำขอ DNS และเบราว์เซอร์ส่วนใหญ่อาจจะเปิดใช้งานโดยค่าเริ่มต้นในอนาคต แต่ในขณะนี้ มีแต่ Firefox ที่ทำให้เปิดใช้งานได้ง่าย เบราว์เซอร์อื่นๆ หากรองรับ ก็ยังถือเป็นฟีเจอร์ทดลองอยู่ส่วนใหญ่ จึงต้องทำขั้นตอนเพิ่มเติม
ทำไมต้องเปิดใช้งาน DNS over HTTPS?
เมื่อคุณเยี่ยมชมเว็บไซต์ คอมพิวเตอร์ต้องหาที่อยู่เซิร์ฟเวอร์ของเว็บนั้นก่อน จึงส่งคำขอไปยังเซิร์ฟเวอร์ DNS ขอ IP address ที่เชื่อมต่อกับชื่อที่คุณพิมพ์ จนกระทั่งไม่กี่ปีที่แล้ว คำขอนั้นส่งได้เฉพาะ plaintext (ข้อมูลไม่เข้ารหัส) หมายความว่าบุคคลที่สามอ่านได้และรู้ว่าคุณพยายามไปไหน แม้การเชื่อมต่อกับเซิร์ฟเวอร์จะเข้ารหัสด้วย HTTPS
DNS over HTTPS ใช้โปรโตคอล HTTPS เข้ารหัสคำขอ DNS ให้อ่านไม่ได้ ซึ่งเป็นเรื่องจริงที่ทำให้การเล่นเว็บปลอดภัยและเป็นส่วนตัวมากขึ้น มันไม่ค่อยได้รับความนิยมจากบริการที่ต้องการบล็อกトラフィคเว็บด้วย DNS filtering แต่นั่นเป็น debat อื่น
เปิดใช้งาน DNS over HTTPS ใน Firefox
เบราว์เซอร์แรกที่รองรับ DNS over HTTPS Firefox ก็เป็นตัวที่ตั้งค่าได้ง่ายที่สุด:
1. ไปที่ "Options" หรือพิมพ์ about:preferences ในแถบที่อยู่

2. ด้วยแท็บ General ที่เลือก ให้เลื่อนลงจนเห็น "Network Settings" เลือก "Settings …"

3. ในเมนูป๊อปอัป ให้เลื่อนลงอีกจนเห็น "Enable DNS over HTTPS"

4. เลือก Cloudflare (ผู้ให้บริการค่าเริ่มต้นของ Firefox) หรือ Custom ซึ่งให้คุณใช้ผู้ให้บริการอื่นอย่าง Quad9 หรือ Google Public DNS
แค่นี้! คำขอ DNS ของคุณผ่าน Firefox ควรเข้ารหัสแล้ว
ยังไม่มีการตั้งค่าใน Firefox mobile แตคุณยังเปิดใช้งานได้ (บน Android อย่างน้อย) ด้วยขั้นตอน:

1. ใส่ about:config ในแถบที่อยู่
2. ค้นหา "network.trr.mode" และใช้ปุ่มลูกศรขึ้นเพื่อตั้งค่าเป็น 2
ตอนนี้คุณมี DNS over HTTPS ใน Firefox Android แล้ว!
เปิดใช้งาน DNS over HTTPS ใน Chrome/เบราว์เซอร์ Chromium-based
Chrome มี DNS over HTTPS แต่แสดงเป็น "flag" ซึ่งเป็นฟีเจอร์ทดลองที่ยังไม่พร้อมเปิดให้สาธารณะ การเล่นกับฟีเจอร์เหล่านี้อาจทำให้ Chrome ไม่เสถียร แต่ flag DoH ไม่ควรมีผลเสีย แต่เป็นฟีเจอร์ทดลอง อาจไม่ทำงานได้เสมอไป จึงไม่ควรพึ่งพาเบราว์เซอร์ Chromium-based ให้ใช้ DoH ตลอดจนถึง stable build
หากสนใจ flag อื่นๆ สามารถเข้าถึงได้โดยพิมพ์ chrome://flags ในแถบที่อยู่
ขั้นตอนทั่วไปเหมือนกันทั้ง Chrome และเบราว์เซอร์ทุกตัวที่สร้างจากโค้ดเบส Chromium สิ่งเดียวที่อาจต้องเปลี่ยนคือชื่อเบราว์เซอร์ต้นทาง (ดูรายการด้านล่าง) แต่ผมพบว่า flag ของ Chrome ทำงานบนเบราว์เซอร์ Chromium เกือบทุกตัว

1. สำหรับ Chrome ใส่ chrome://flags/#dns-over-https
2. หาตัวเลือก "Secure DNS lookups" และใช้เมนูขวาเปลี่ยนสถานะเป็น Enabled
3. รีสตาร์ท Google Chrome เพื่อใช้การตั้งค่า
ทำงานได้ทั้ง desktop และ mobile versions ของ Chrome
เปิดใช้งาน DNS over HTTPS ใน Edge (Chromium)

Edge รุ่น EdgeHTML ไม่รองรับ DNS over HTTPS แตเวอร์ชัน Chromium รองรับ ตั้งแต่พฤศจิกายน 2019 คุณดาวน์โหลดและใช้ beta ได้ และควรเปิดให้สาธารณะวันที่ 15 มกราคม 2020
เมื่อนั้นคุณจะเปิด DoH ได้ด้วย edge://flags/#dns-over-https
เปิดใช้งาน DNS over HTTPS ใน Brave (Chromium)

Brave เป็นเบราว์เซอร์ความเป็นส่วนตัว/บล็อกโฆษณา/คริปโต ที่ดี และเหมือน Chrome เกือบทั้งหมดในการเปิด DNS over HTTPS
แค่ใส่ brave://flags/#dns-over-https ในแถบที่อยู่
สำหรับ mobile ตอนนี้ chrome://flags/#dns-over-https ทำงานได้อย่างเดียว
เปิดใช้งาน DNS over HTTPS ใน Opera (Chromium)

Opera ย้ายมายังโค้ดซอร์ส Chromium ในปี 2013 จึงทำตามสูตรเดียวกับเบราว์เซอร์ Chromium อื่นๆ
แค่ใส่ opera://flags/#dns-over-https ในแถบที่อยู่เพื่อหาการตั้งค่าที่เกี่ยวข้อง
ขณะนี้ดูไม่ได้ทำงานบน Opera mobile
เปิดใช้งาน DNS over HTTPS ใน Vivaldi (Chromium)

เบราว์เซอร์ผลิตภาพที่ปรับแต่งได้สูงนี้ลอยอยู่บนเว็บมาแล้ว และด้วยโค้ดเบส Chromium ทำให้ตั้งค่า DoH ได้ง่าย
แค่ใส่ vivaldi://flags/#dns-over-https ในแถบที่อยู่
Vivaldi mobile beta ไม่มีตัวเลือก DoH อยู่
เบราว์เซอร์ Chromium-based อื่นๆ
หากคุณใช้เบราว์เซอร์ Chromium-based ประเภทอื่น ให้ทำตามแพทเทิร์นด้านบน ใช้ได้เกือบคุ้มครองทุกตัว
คุณอาจสังเกตว่าเบราว์เซอร์ Chromium ไม่ให้เลือก DNS provider เอง ตอนนี้ flag enabled จะ default ไป Cloudflare แตถ้าอยากเปลี่ยนด้วยตนเอง ทำตามด้านล่าง

1. คลิกขวา shortcut Chrome/Chromium (บนเดสก์ท็อปส่วนใหญ่)
2. ในกล่อง "target" ไปจนจบสตริงที่ลงท้าย "Chrome.exe" เว้นวรรคหลังเครื่องหมายคำพูด และวาง --enable-features="dns-over-https<DoHTrial" --force-fieldtrials="DoHTrial/Group1" --force-fieldtrial-params="DoHTrial.Group1:server/https%3A%2F%2F1.1.1.1%2Fdns-query/method/POST
3. IP "1.1.1.1" นั้นเป็นบริการของ Cloudflare แทนที่ด้วยที่อยู่จากผู้ให้บริการที่คุณชอบ
4. กด "Apply" และรีสตาร์ทเบราว์เซอร์
ในเวอร์ชันอนาคต Chrome และเบราว์เซอร์ Chromium-based วางแผนรองรับ DNS provider หลายราย
เบราว์เซอร์ที่ยังไม่รองรับ DNS over HTTPS
- Safari
- Internet Explorer
ทดสอบ DNS over HTTPS
เมื่อตั้งค่า DNS เรียบร้อยแล้ว คุณสามารถตรวจสอบได้ว่าใช้งานได้หรือไม่!
ตัวเลือกแรก เยี่ยมชม 1.1.1.1/help เพื่อใช้บริการทดสอบของ Cloudflare ส่วน DNS over HTTPS ควรบอก "Yes"

ทางเลือกอื่น ตรวจสอบด้วย DNSLeakTest ซึ่งควรแสดงที่อยู่อื่นที่ไม่ใช่ของคุณและ ISP

ถ้าไม่ทำงาน ต้องทำไง?
หากคุณเปิด DoH ในเบราว์เซอร์และไม่ผ่านการทดสอบ ลอง Google และ troubleshoot แตเพราะเป็นเทคโนโลยีใหม่และยังไม่ rolled out อย่างสมบูรณ์ในหลายเบราว์เซอร์ คุณอาจไม่หาคำตอบมาก จนกว่าเบราว์เซอร์ที่คุณชอบจะปล่อย stable build ที่รองรับ (ซึ่งน่าจะเร็วๆ นี้) ตัวเลือกที่ไร้บั๊กที่สุดสำหรับการเชื่อมต่อ DoH คือ Firefox