
หากคุณต้องการรัน Name Server ของตัวเองภายใต้โดเมนที่คุณจดไว้ เช่น ns1.yourdomain.com คุณจะพบปัญหา Chicken-and-Egg ที่คลาสสิก นั่นคือในการ Resolve yourdomain.com ต้องรู้ IP ของ ns1.yourdomain.com ก่อน แต่ ns1.yourdomain.com อยู่ภายใต้โดเมนเดียวกัน ซึ่งยังไม่สามารถ Resolve ได้ Glue Record คือวิธีแก้ปัญหานี้
Glue Record คืออะไร
Glue Record คือ A (หรือ AAAA) Record ที่บันทึกไว้ที่ Registrar หรือ Parent Zone โดยตรง แทนที่จะเก็บไว้ใน Zone file ของโดเมนนั้นเอง เพื่อให้ Resolver สามารถทราบ IP address ของ Name Server ได้ก่อนที่จะ Resolve โดเมนนั้นสำเร็จ ทำให้ Loop ถูก "break" ออกไป
Glue Record บางครั้งเรียกว่า "Child Name Server" หรือ "In-bailiwick NS" เพราะ Name Server subdomain อยู่ภายใน (in the bailiwick) ของโดเมนเดียวกัน
ทำไมถึงต้องใช้ Glue Record
สมมติคุณต้องการให้ yourdomain.com ใช้ Name Server ที่ชื่อ ns1.yourdomain.com และ ns2.yourdomain.com เพื่อให้ Branding ดูเป็นมืออาชีพหรือเพื่อควบคุม DNS เองบน VPS ของตัวเอง:
- Resolver ถาม Registry ว่า Name Server ของ
yourdomain.comคืออะไร - Registry ตอบว่า
ns1.yourdomain.comและns2.yourdomain.com - Resolver ต้องรู้ IP ของ
ns1.yourdomain.com— แต่มันอยู่ภายใต้yourdomain.comซึ่ง Resolve ไม่ได้! - ติด Loop — ไม่สามารถ Resolve ได้เลย
Glue Record แก้ปัญหานี้โดยให้ Registry เก็บ IP ของ ns1 และ ns2 ไว้ในฐานข้อมูลของตัวเองโดยตรง เมื่อ Resolver ถามถึง Name Server ของโดเมน Registry จะตอบทั้ง hostname และ IP address กลับมาพร้อมกัน
วิธีตั้งค่า Glue Record
ขั้นตอนที่ 1 — ตั้งค่า Name Server บนเซิร์ฟเวอร์
ก่อนอื่นต้องมี DNS Server software ติดตั้งบน VPS ของคุณ เช่น BIND, PowerDNS หรือ Knot DNS และกำหนด Zone file สำหรับโดเมนที่ต้องการ
ขั้นตอนที่ 2 — จดทะเบียน Child Name Server ที่ Registrar
Login ไปยังระบบจัดการโดเมนของ Registrar (เช่น AsiaGB) แล้วหาส่วน "Child Name Server" หรือ "Host Records" ระบุ:
- Hostname:
ns1(ไม่ต้องใส่.yourdomain.com) - IP Address: IP ของเซิร์ฟเวอร์ เช่น
203.0.113.10
ทำซ้ำสำหรับ ns2 ด้วย IP ที่แตกต่าง (แนะนำให้มีอย่างน้อย 2 Name Server เพื่อ Redundancy)
ขั้นตอนที่ 3 — เปลี่ยน NS ของโดเมนให้ชี้ไป ns1.yourdomain.com
หลังจาก Glue Record ถูกบันทึกแล้ว ให้เปลี่ยน Nameserver ของโดเมนไปยัง ns1.yourdomain.com และ ns2.yourdomain.com รอ DNS Propagation 24-48 ชั่วโมง
ข้อควรทราบ: Glue Record จำเป็นเฉพาะเมื่อ Name Server hostname เป็น subdomain ของโดเมนที่จดอยู่นั้นเอง ถ้าคุณใช้ Name Server จากผู้ให้บริการอื่น เช่น ns1.someotherprovider.com ไม่จำเป็นต้องใช้ Glue Record เพราะ someotherprovider.com resolve ได้โดยอิสระ
กรณีใช้งาน Glue Record จริง
- Web Hosting Provider — ผู้ให้บริการ Hosting อย่าง AsiaGB ใช้ Glue Record เพื่อให้ลูกค้าตั้ง NS เป็น ns1.asiagb.com และ ns2.asiagb.com
- White-label DNS — บริษัทที่รีเซลล์บริการ Hosting และต้องการ branded nameservers เช่น ns1.yourbrand.com
- Self-hosted DNS Server — นักพัฒนาหรือ SysAdmin ที่รัน BIND บน VPS ของตัวเอง
- Anycast DNS — ผู้ให้บริการ DNS ขนาดใหญ่ที่มีหลาย node ทั่วโลก
การตรวจสอบ Glue Record
ใช้คำสั่งนี้ตรวจสอบว่า Glue Record ถูกบันทึกถูกต้องแล้ว:
dig +additional NS yourdomain.com @a.iana-servers.net
ผลลัพธ์ใน Additional Section ควรแสดง IP ของ ns1 และ ns2 ควบคู่กับ NS Record
Glue Record กับ DNSSEC — สิ่งที่ต้องรู้
หากโดเมนของคุณเปิดใช้งาน DNSSEC (Domain Name System Security Extensions) การตั้ง Glue Record มีรายละเอียดเพิ่มเติมที่ต้องคำนึงถึง เนื่องจาก DNSSEC ใช้กระบวนการ Chain of Trust ที่เริ่มจาก Root Zone ลงมาถึงโดเมนของคุณ
เมื่อใช้ Custom Nameserver แบบ in-bailiwick พร้อม DNSSEC สิ่งที่ต้องดำเนินการเพิ่มได้แก่:
- DS Record (Delegation Signer) — ต้องส่ง DS Record ของ DNSSEC key ไปยัง Registrar เพื่อให้ Parent Zone ลงนาม ซึ่งจะทำให้ Chain of Trust สมบูรณ์
- DNSKEY ใน Zone file — Zone file บน Name Server ต้องมี DNSKEY record ที่ตรงกับ DS Record ที่ Registrar บันทึกไว้
- Re-sign ทุกครั้งที่ Key Rollover — เมื่อทำ Key Rollover ต้องอัปเดต DS Record ที่ Registrar ก่อนที่ Key เก่าจะหมดอายุ ไม่เช่นนั้น Domain จะ Resolve ล้มเหลวสำหรับผู้ใช้ที่เปิด DNSSEC Validation
หากไม่มีความจำเป็นด้านความปลอดภัยสูง การใช้ Nameserver ของผู้ให้บริการ (เช่น AsiaGB) จะจัดการ DNSSEC ให้โดยอัตโนมัติ ไม่ต้องดูแลเอง
ข้อผิดพลาดที่พบบ่อยเมื่อตั้ง Glue Record
แม้ว่า Glue Record จะเป็นแนวคิดที่ไม่ซับซ้อน แต่ในทางปฏิบัติมักพบข้อผิดพลาดที่ทำให้โดเมนใช้งานไม่ได้ชั่วคราวหรือถาวร ดังนี้:
| ข้อผิดพลาด | ผลที่เกิดขึ้น | วิธีแก้ไข |
|---|---|---|
| ลืมเพิ่ม A record ใน Zone file | Resolver ได้ IP จาก Glue แต่เชื่อม NS ไม่ได้ | เพิ่ม A record ของ ns1/ns2 ใน Zone file ของโดเมนด้วย |
| IP ใน Glue ไม่ตรงกับ DNS Server จริง | Timeout ทุก Query | อัปเดต Glue Record ที่ Registrar ให้ตรงกับ IP ใหม่ทุกครั้งที่ย้ายเซิร์ฟเวอร์ |
| มี NS เดียว (ไม่มี ns2) | เซิร์ฟเวอร์ล่มแล้วโดเมนล้มตาม | ตั้งอย่างน้อย 2 NS บน IP คนละ Server หรือคนละ Network |
| เปลี่ยน NS ก่อนที่ Glue จะ Propagate | โดเมน Resolve ล้มเหลว 24-48 ชั่วโมง | รอให้ Glue Record เผยแพร่เสร็จก่อน (ตรวจด้วย dig) แล้วค่อยเปลี่ยน NS |
Glue Record กับ Anycast DNS — สถาปัตยกรรมขั้นสูง
ผู้ให้บริการ DNS ขนาดใหญ่มักใช้เทคนิค Anycast ร่วมกับ Glue Record เพื่อให้ Name Server เดียวกันรับสัญญาณจากหลาย Node ทั่วโลก โดยที่ Resolver มองเห็น IP เดียวกัน แต่ข้อมูลถูกเส้นทางไปยัง Node ที่ใกล้ที่สุดโดยอัตโนมัติผ่าน BGP
ตัวอย่างสถาปัตยกรรม Anycast DNS ที่เรียบง่าย:
- Node กรุงเทพฯ, Node สิงคโปร์, Node โตเกียว — ทุก Node ใช้ IP เดียวกัน เช่น
192.0.2.53 - Glue Record ที่ Registrar บันทึก IP
192.0.2.53สำหรับns1.yourdomain.com - ผู้ใช้ในไทย Query ไปถึง Node กรุงเทพฯ — Latency ต่ำ
- ผู้ใช้ในญี่ปุ่น Query ไปถึง Node โตเกียว — Latency ต่ำเช่นกัน
แนวทางนี้ใช้กับโปรเจกต์ที่ต้องการ DNS Latency ต่ำกว่า 20ms ทั่วโลก หากไม่ถึงขนาดนั้น การใช้ Glue Record ธรรมดาบน VPS 2 ตัวใน 2 Datacenter ก็เพียงพอสำหรับเว็บไซต์ทั่วไป
TTL กับการเปลี่ยน Glue Record — วิธีทำให้ Propagate เร็วขึ้น
TTL (Time To Live) คือค่าที่บอก Resolver ว่าควรแคช DNS Record ไว้นานแค่ไหนก่อนจะถาม Registry ใหม่ เมื่อต้องการเปลี่ยน IP ใน Glue Record (เช่น ย้ายเซิร์ฟเวอร์) TTL ส่งผลโดยตรงต่อระยะเวลาที่โดเมนจะใช้ IP เก่า
ขั้นตอนที่แนะนำเมื่อต้องเปลี่ยน Glue Record IP:
- ล่วงหน้า 48 ชั่วโมง — ลด TTL ของ Glue Record ลงเหลือ 300 วินาที (5 นาที) เพื่อให้ Resolver ทั่วโลก Flush Cache เร็วขึ้นหลังเปลี่ยน IP จริง
- เปลี่ยน IP ที่ Registrar — อัปเดต Glue Record ให้ชี้ไป IP ใหม่ และเปิดให้บริการ DNS Server บน IP ใหม่พร้อมกัน
- รักษา IP เก่าไว้อีก 1 รอบ TTL เดิม — เพื่อให้ Resolver ที่ยังแคช IP เก่าอยู่สามารถเชื่อมต่อได้จนกว่าจะ Flush
- หลัง Propagate สมบูรณ์ — ปิด IP เก่าและเพิ่ม TTL กลับไปที่ 3600 วินาทีหรือสูงกว่าเพื่อลดภาระ Query
สำคัญ: TTL ของ Glue Record ถูกควบคุมโดย Registry ไม่ใช่ Zone file ของคุณ ค่า Default มักอยู่ที่ 86400 วินาที (24 ชั่วโมง) ถึง 172800 วินาที (48 ชั่วโมง) ตรวจสอบกับ Registrar ว่าค่า TTL ที่ใช้คือเท่าไร และสามารถขอเปลี่ยนได้ไหมก่อนวางแผนย้ายเซิร์ฟเวอร์
White-label DNS ด้วย Glue Record — สร้าง Branded Nameserver ของคุณเอง
ถ้าคุณเป็น Reseller หรือให้บริการ Hosting แก่ลูกค้า การมี Nameserver ที่ใช้ชื่อแบรนด์ของคุณเอง เช่น ns1.yourbrand.com แทน ns1.hostingprovider.com ช่วยสร้างความน่าเชื่อถือและความเป็นมืออาชีพได้อย่างมาก ขั้นตอนหลักมีดังนี้:
- เตรียม VPS หรือ Server — ติดตั้ง BIND9 หรือ PowerDNS พร้อม Zone file สำหรับโดเมนที่ต้องการให้บริการ
- จดทะเบียน Child Nameserver — ไปที่ Registrar ของ
yourbrand.comแล้วสร้าง Child NS:ns1→ IP ของเซิร์ฟเวอร์ A และns2→ IP ของเซิร์ฟเวอร์ B - เปลี่ยน NS ของ yourbrand.com — ชี้ไป
ns1.yourbrand.comและns2.yourbrand.comที่คุณเพิ่งสร้าง - เพิ่ม Zone file ของลูกค้า — เพิ่มโดเมนของลูกค้าเข้าใน DNS Server และให้ลูกค้าเปลี่ยน NS ไปที่
ns1.yourbrand.com
เมื่อตั้งค่าเสร็จสมบูรณ์ ลูกค้าจะเห็นเพียงชื่อแบรนด์ของคุณบน WHOIS และ DNS Lookup ทุกครั้ง ซึ่งสร้างภาพลักษณ์ที่เป็นมืออาชีพให้กับธุรกิจของคุณโดยไม่จำเป็นต้องมีโครงสร้างพื้นฐาน DNS ขนาดใหญ่แต่อย่างใด
จดโดเมนพร้อมรองรับ Custom Nameserver
AsiaGB รองรับการตั้งค่า Child Nameserver (Glue Record) สำหรับโดเมนทุกตัวที่จดผ่านเรา จดโดเมน .com เพียง 500 บาท/ปี
จดโดเมนที่ AsiaGB