สารบัญ
1. DNS Propagation คืออะไร
DNS Propagation คือกระบวนการที่การเปลี่ยนแปลงข้อมูล DNS ของโดเมน (เช่น เปลี่ยน nameserver, แก้ไข A record, เพิ่ม CNAME) กระจายออกไปยัง DNS server ทั่วโลกให้ครบ ทำให้ผู้ใช้จากทุกมุมโลกเห็นข้อมูลใหม่พร้อมกัน
เมื่อคุณเปลี่ยน nameserver ของโดเมนหรือแก้ไข DNS record ใดๆ การเปลี่ยนแปลงนั้น ไม่ได้มีผลทันที ทั่วโลก แต่ต้องรอให้ DNS resolver (cache server ของ ISP และบริษัทต่างๆ) ล้าง cache เก่าและดึงข้อมูลใหม่เข้ามา กระบวนการนี้เองคือ DNS Propagation
2. DNS ทำงานอย่างไร ก่อนเข้าใจ Propagation
เพื่อเข้าใจ DNS Propagation ต้องรู้ก่อนว่า DNS ทำงานอย่างไร:
- Recursive Resolver — DNS server ของ ISP หรือ Google (8.8.8.8) ที่เครื่องคุณถามก่อน
- Root Name Server — เซิร์ฟเวอร์ระดับสูงสุดที่รู้ว่า TLD แต่ละตัว (.com, .th, .net) ใช้ nameserver ไหน
- TLD Name Server — รู้ว่าโดเมนแต่ละชื่อใน TLD นั้นชี้ไป authoritative nameserver ไหน
- Authoritative Name Server — nameserver ของ registrar หรือ DNS hosting ที่เก็บ record จริง
เมื่อคุณพิมพ์ URL Recursive Resolver จะถามเป็นลำดับจากบนลงล่าง และ cache ผลไว้ตามเวลา TTL ของแต่ละ record
3. ทำไม DNS Propagation ถึงต้องรอนาน
มีหลายปัจจัยที่ทำให้ DNS Propagation ช้า:
3.1 Cache ของ Recursive Resolver
DNS resolver ทั่วโลกมีหลายพันแห่ง แต่ละแห่ง cache ข้อมูล DNS ตาม TTL ของ record เดิม ถ้า TTL เดิมตั้งไว้ 86,400 วินาที (1 วัน) resolver ที่เพิ่ง cache ไปจะรอถึง 24 ชั่วโมงก่อนจะดึงข้อมูลใหม่
3.2 จำนวน DNS Server ทั่วโลก
มี DNS resolver อยู่หลายแสนแห่ง ไม่มีกลไกกลางที่จะ "push" ข้อมูลออกไปพร้อมกัน แต่ละแห่งจะดึงข้อมูลใหม่เองเมื่อ cache หมดอายุ
3.3 ชั้น Cache ซ้อนกัน
นอกจาก DNS cache ของ ISP ยังมี cache ระดับอื่น เช่น OS cache และ browser cache ที่อาจจำ IP เก่าไว้ด้วย
4. TTL คืออะไร และมีผลต่อ Propagation อย่างไร
TTL (Time to Live) คือค่าเวลาหน่วยวินาทีที่บอก DNS resolver ว่าให้จำ cache ไว้นานแค่ไหนก่อนที่จะถามข้อมูลใหม่จาก authoritative server
| ค่า TTL | เวลา | เหมาะกับ |
|---|---|---|
| 300 | 5 นาที | ก่อนย้าย/เปลี่ยน server, กรณีฉุกเฉิน |
| 3600 | 1 ชั่วโมง | เว็บที่มีการเปลี่ยนแปลงบ่อย |
| 14400 | 4 ชั่วโมง | เว็บทั่วไปที่เปลี่ยน DNS เป็นครั้งคราว |
| 86400 | 24 ชั่วโมง | เว็บที่ DNS มั่นคงไม่มีการเปลี่ยนแปลง |
กลยุทธ์ที่ดี: ลด TTL ล่วงหน้า 24-48 ชั่วโมงก่อนย้าย hosting จากนั้นเมื่อเปลี่ยน DNS จริง propagation จะเร็วขึ้นมาก เพราะ cache ใหม่ที่ resolver ดึงมาจะมี TTL สั้น
5. ใช้เวลานานแค่ไหน — ตารางเปรียบเทียบ
ระยะเวลา DNS Propagation จริงขึ้นอยู่กับหลายปัจจัย:
| ประเภทการเปลี่ยน | ระยะเวลาเฉลี่ย | สูงสุด |
|---|---|---|
| เปลี่ยน A Record (TTL ต่ำ 300s) | 5–15 นาที | 1 ชั่วโมง |
| เปลี่ยน A Record (TTL สูง 86400s) | 4–12 ชั่วโมง | 24 ชั่วโมง |
| เปลี่ยน Nameserver | 2–24 ชั่วโมง | 72 ชั่วโมง |
| เพิ่ม/แก้ CNAME, MX, TXT | ตาม TTL ของ record | 24 ชั่วโมง |
6. วิธีตรวจสอบสถานะ DNS Propagation
มีหลายวิธีในการตรวจสอบว่า DNS เปลี่ยนแปลงไปแล้วหรือยัง:
6.1 เครื่องมือออนไลน์
- whatsmydns.net — แสดงผล DNS จาก resolver หลายสิบแห่งทั่วโลกพร้อมกัน เห็นได้ชัดว่าที่ไหนอัพเดตแล้ว
- dnschecker.org — ตรวจสอบ A, MX, CNAME, TXT, NS record จาก 20+ ประเทศ
- mxtoolbox.com — เน้น email records แต่ตรวจสอบ DNS ทั่วไปได้ด้วย
6.2 คำสั่ง Terminal (nslookup / dig)
สำหรับผู้ใช้เชิงเทคนิค สามารถใช้คำสั่งในเครื่องได้:
# ตรวจสอบ A Record ของโดเมน
nslookup example.com 8.8.8.8
# ใช้ dig (ละเอียดกว่า)
dig example.com @8.8.8.8
# ตรวจสอบ NS record
dig NS example.com @8.8.8.8
# ตรวจสอบ MX record
dig MX example.com @1.1.1.1
6.3 ล้าง DNS Cache บนเครื่อง
ถ้าเครื่องคุณยังเห็นข้อมูลเก่า ลองล้าง DNS cache ก่อน:
- Windows:
ipconfig /flushdnsใน Command Prompt - macOS:
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder - Linux:
sudo systemd-resolve --flush-caches - Chrome: ไปที่
chrome://net-internals/#dnsแล้วกด "Clear host cache"
7. เทคนิคเร่ง DNS Propagation
แม้ไม่สามารถบังคับ resolver ของคนอื่นได้ แต่มีวิธีลด Propagation Time ได้อย่างมีประสิทธิภาพ:
วิธีที่ 1: ลด TTL ล่วงหน้า
นี่คือวิธีที่สำคัญที่สุด ทำก่อนการเปลี่ยนแปลงอย่างน้อย 24-48 ชั่วโมง:
- เข้า DNS management ของ registrar
- ลด TTL ของ A record หรือ NS record ที่จะเปลี่ยนเหลือ 300 วินาที (5 นาที)
- รอ 24-48 ชั่วโมงให้ cache เก่าหมดอายุ
- จากนั้นค่อยเปลี่ยน record ที่ต้องการ
- หลังเปลี่ยนเสร็จสามารถเพิ่ม TTL กลับได้
วิธีที่ 2: ใช้ DNS Propagation Checker
ตรวจ propagation ด้วย whatsmydns.net เพื่อรู้ว่าพื้นที่ไหนยังไม่อัพเดต ช่วยวินิจฉัยว่าปัญหาอยู่ที่ไหน
วิธีที่ 3: ใช้ DNS ที่ propagate เร็ว
DNS provider บางเจ้ามี Anycast network ที่กระจายการอัพเดตได้เร็วกว่า เช่น Cloudflare DNS หรือ AWS Route 53
วิธีที่ 4: แจ้ง User ล่วงหน้า
ถ้า propagation อาจใช้เวลานาน ควรแจ้ง user ล่วงหน้าถึง maintenance window และให้ทางเลือกสำรอง
8. ปัญหาที่พบบ่อยระหว่าง DNS Propagation
8.1 เว็บขึ้นบนเครื่องตัวเองแต่ไม่ขึ้นบนมือถือ
สาเหตุ: เครื่อง desktop ใช้ DNS ที่อัพเดตแล้ว (เช่น 8.8.8.8) ส่วนมือถือใช้ DNS ของ mobile data ที่ยังไม่อัพเดต แก้โดยเปลี่ยน DNS บนมือถือชั่วคราว
8.2 Email หายระหว่าง Propagation
เมื่อเปลี่ยน MX record email อาจส่งไปยัง mail server เก่าหรือใหม่สลับกัน วิธีป้องกัน: ลด MX record TTL ล่วงหน้า และตั้งค่า email forwarding ชั่วคราว
8.3 SSL Certificate Error หลังย้าย
ถ้าย้าย hosting และ SSL certificate ยังไม่ถูก issue บน server ใหม่ browser จะเตือน "Not Secure" ระหว่างที่ propagation ยังไม่เสร็จ แก้โดยติดตั้ง SSL บน server ใหม่ก่อนเปลี่ยน DNS
8.4 Propagation เสร็จแล้วแต่ยังเห็นเว็บเก่า
อาจเป็น browser cache ไม่ใช่ DNS cache ลอง Hard Refresh (Ctrl+Shift+R / Cmd+Shift+R) หรือเปิด Incognito mode
9. คำถามที่พบบ่อย (FAQ)
สรุป: DNS Propagation
DNS Propagation คือกระบวนการกระจายข้อมูล DNS ที่เปลี่ยนแปลงออกไปยัง resolver ทั่วโลก ซึ่งต้องใช้เวลาเพราะ resolver แต่ละแห่ง cache ข้อมูลตาม TTL ที่ตั้งไว้
- ระยะเวลา: ทั่วไป 1-24 ชั่วโมง สูงสุด 72 ชั่วโมง
- เร่งได้: ลด TTL ล่วงหน้า 24-48 ชั่วโมงก่อนเปลี่ยน
- ตรวจสอบได้: ใช้ whatsmydns.net หรือ dig/nslookup
- ล้าง cache: ipconfig /flushdns หรือล้าง browser cache
- วางแผน: เตรียม server ใหม่ให้พร้อมก่อนเปลี่ยน DNS เสมอ
หากต้องการโดเมนพร้อม DNS management ที่ใช้งานง่าย AsiaGB มีบริการจดโดเมนพร้อม DNS hosting ที่รองรับ TTL ยืดหยุ่นและ propagation รวดเร็ว