คำตอบสั้น ๆ: เข้าใจหน้าที่ของ DNS Record แต่ละชนิด ได้แก่ A, AAAA, CNAME, MX, TXT และ NS พร้อมตัวอย่างการตั้งค่า ข้อห้ามที่พบบ่อย และวิธีตรวจค่าจริง
คู่มือนี้อธิบาย Record ทีละขั้นตอน พร้อมคำสั่งที่ใช้ได้จริงและปัญหาที่พบบ่อย
DNS (Domain Name System) ทำหน้าที่แปลงชื่อโดเมนที่คนจำได้ เช่น example.com ให้เป็นข้อมูลที่เครื่องคอมพิวเตอร์ใช้งานได้ เช่น IP Address ของเว็บเซิร์ฟเวอร์ หรือที่อยู่ของเมลเซิร์ฟเวอร์ ข้อมูลเหล่านี้เก็บเป็นรายการเรียกว่า DNS Record แต่ละชนิดมีหน้าที่ต่างกัน
เมื่อต้องย้ายเว็บ เปิดใช้อีเมลใหม่ หรือยืนยันโดเมนกับบริการอย่าง Google หรือ Microsoft คุณจะต้องเพิ่มหรือแก้ DNS Record เสมอ บทความนี้อธิบาย Record ที่พบบ่อยที่สุด คือ A, AAAA, CNAME, MX, TXT และ NS พร้อมตัวอย่าง ข้อควรระวัง และวิธีตรวจสอบ
สิ่งที่ต้องเตรียม
- รู้ว่า DNS ของโดเมนคุณจัดการอยู่ที่ใด เช่น Control Panel ของ Hosting (Plesk หรือ DirectAdmin), Cloudflare หรือผู้ให้บริการจดโดเมน ดูได้จาก NS Record ตามหัวข้อด้านล่าง
- สิทธิ์เข้าหน้าจัดการ DNS ของผู้ให้บริการนั้น
- เครื่องมือ
nslookup(มีใน Windows, macOS และ Linux) หรือdigสำหรับตรวจสอบ
ส่วนประกอบของ DNS Record
ทุก Record มีส่วนประกอบหลักเหมือนกัน
- Name / Host: ชื่อที่ Record นี้ใช้ ใส่
@หรือเว้นว่าง (แล้วแต่ผู้ให้บริการ) สำหรับโดเมนหลัก หรือใส่เฉพาะส่วนหน้า เช่นwwwสำหรับwww.example.com - Type: ชนิดของ Record เช่น A หรือ MX
- Value / Target / Points to: ค่าของ Record เช่น IP หรือชื่อเซิร์ฟเวอร์
- TTL (Time To Live): จำนวนวินาทีที่ DNS Resolver ทั่วโลกจะจำค่านี้ไว้ก่อนถามใหม่ เช่น 3600 คือ 1 ชั่วโมง
หมายเหตุ: ผู้ให้บริการ DNS บางรายต่อชื่อโดเมนให้อัตโนมัติ หากคุณพิมพ์
www.example.comในช่อง Name อาจได้ผลเป็นwww.example.com.example.comให้ดูตัวอย่างในหน้าจอของผู้ให้บริการก่อนเสมอ
A Record: ชี้ชื่อไปยัง IPv4
A Record เป็น Record พื้นฐานที่สุด ใช้บอกว่าชื่อนี้อยู่ที่ IPv4 ใด ใช้ชี้โดเมนไปยังเว็บเซิร์ฟเวอร์
| Name | Type | Value |
|---|---|---|
| @ | A | 203.0.113.10 |
| www | A | 203.0.113.10 |
ชื่อเดียวกันมี A Record ได้หลายค่า ซึ่งจะถูกตอบกลับสลับกัน แต่ถ้าไม่ได้ตั้งใจทำ Load Balancing ให้มีเพียงค่าเดียว มิฉะนั้นผู้เข้าชมบางส่วนจะไปที่เซิร์ฟเวอร์เก่า ขั้นตอนการชี้โดเมนแบบละเอียดดูที่ ชี้โดเมนไปยังเซิร์ฟเวอร์ด้วย A Record หรือเปลี่ยน Name Server
AAAA Record: ชี้ชื่อไปยัง IPv6
ทำหน้าที่เหมือน A Record แต่สำหรับ IPv6 เช่น 2001:db8::10 ให้เพิ่มเฉพาะเมื่อเซิร์ฟเวอร์ของคุณมี IPv6 และเว็บตอบรับผ่าน IPv6 ได้จริง หากใส่ AAAA ที่ไม่ถูกต้อง ผู้ใช้ที่มี IPv6 จะเปิดเว็บไม่ได้ ในขณะที่ผู้ใช้ IPv4 ยังเปิดได้ปกติ ทำให้หาสาเหตุยาก
CNAME Record: ตั้งชื่อหนึ่งให้เป็นชื่อแฝงของอีกชื่อ
CNAME บอกว่าชื่อนี้ให้ไปดูค่าของอีกชื่อหนึ่งแทน เหมาะกับบริการที่ IP อาจเปลี่ยน เช่น CDN หรือบริการ SaaS ที่ให้ชี้มาที่ชื่อของเขา
| Name | Type | Value |
|---|---|---|
| www | CNAME | example.com. |
| shop | CNAME | shops.myshopify.com. |
กฎสำคัญของ CNAME
- ชื่อที่เป็น CNAME ต้องไม่มี Record ชนิดอื่นอยู่ร่วมด้วย เช่น จะมีทั้ง CNAME และ MX หรือ TXT ที่ชื่อ
wwwพร้อมกันไม่ได้ - จึงใช้ CNAME ที่โดเมนหลัก (
@) ไม่ได้ตามมาตรฐาน เพราะโดเมนหลักต้องมี NS และ SOA อยู่แล้ว ผู้ให้บริการบางรายมีทางเลือกเฉพาะ เช่น CNAME Flattening ของ Cloudflare หรือ ALIAS/ANAME - ค่าของ CNAME ต้องเป็นชื่อ ห้ามใส่ IP
- MX และ NS ห้ามชี้ไปยังชื่อที่เป็น CNAME
MX Record: บอกว่าอีเมลของโดเมนนี้ส่งไปที่ใด
เมื่อมีคนส่งอีเมลมาที่ @example.com เมลเซิร์ฟเวอร์ของผู้ส่งจะดู MX Record เพื่อหาว่าต้องส่งไปที่ใด MX มีค่า Priority ตัวเลขน้อยกว่าจะถูกลองก่อน
| Name | Type | Priority | Value |
|---|---|---|---|
| @ | MX | 10 | mail.example.com. |
| A | 203.0.113.20 |
- ค่าของ MX ต้องเป็นชื่อที่มี A หรือ AAAA Record ห้ามใส่ IP ตรง ๆ และห้ามเป็น CNAME
- ถ้าย้ายอีเมลไป Microsoft 365 หรือ Google Workspace ให้ลบ MX เดิมทั้งหมดแล้วใส่เฉพาะค่าที่ผู้ให้บริการใหม่กำหนด มิฉะนั้นอีเมลบางส่วนจะไปตกที่เซิร์ฟเวอร์เก่า
- การย้าย MX ไม่กระทบเว็บไซต์ และการย้าย A Record ของเว็บไม่กระทบอีเมล ตราบใดที่ MX ไม่ได้ชี้ไปยังชื่อที่คุณเปลี่ยน IP