ลดความยุ่งยากในการใช้คลาวด์ พูดคุยกับเจ้าหน้าที่

Home ทำความรู้จัก DNS Record: A, AAAA, CNAME, MX, TXT และ NS

ทำความรู้จัก DNS Record: A, AAAA, CNAME, MX, TXT และ NS

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 ใด ใช้ชี้โดเมนไปยังเว็บเซิร์ฟเวอร์

NameTypeValue
@A203.0.113.10
wwwA203.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 ที่ให้ชี้มาที่ชื่อของเขา

NameTypeValue
wwwCNAMEexample.com.
shopCNAMEshops.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 ตัวเลขน้อยกว่าจะถูกลองก่อน

NameTypePriorityValue
@MX10mail.example.com.
mailA203.0.113.20
  • ค่าของ MX ต้องเป็นชื่อที่มี A หรือ AAAA Record ห้ามใส่ IP ตรง ๆ และห้ามเป็น CNAME
  • ถ้าย้ายอีเมลไป Microsoft 365 หรือ Google Workspace ให้ลบ MX เดิมทั้งหมดแล้วใส่เฉพาะค่าที่ผู้ให้บริการใหม่กำหนด มิฉะนั้นอีเมลบางส่วนจะไปตกที่เซิร์ฟเวอร์เก่า
  • การย้าย MX ไม่กระทบเว็บไซต์ และการย้าย A Record ของเว็บไม่กระทบอีเมล ตราบใดที่ MX ไม่ได้ชี้ไปยังชื่อที่คุณเปลี่ยน IP

TXT Record: เก็บข้อความสำหรับยืนยันและนโยบาย

TXT เก็บข้อความอิสระ ใช้งานจริงในหลายเรื่อง

  • SPF: ระบุว่าเซิร์ฟเวอร์ใดส่งอีเมลในนามโดเมนนี้ได้ เช่น v=spf1 mx include:spf.protection.outlook.com -all ต้องมี SPF ได้เพียง Record เดียวต่อชื่อ
  • DKIM: กุญแจสาธารณะสำหรับตรวจลายเซ็นอีเมล อยู่ที่ชื่อแบบ selector._domainkey
  • DMARC: นโยบายการจัดการอีเมลปลอม อยู่ที่ชื่อ _dmarc
  • ยืนยันความเป็นเจ้าของ: เช่น google-site-verification=... หรือ MS=ms12345678

ชื่อเดียวกันมี TXT ได้หลาย Record เช่น SPF กับรหัสยืนยันของ Google อยู่ที่ @ พร้อมกันได้ รายละเอียดการตั้ง SPF, DKIM และ DMARC ดูที่ ตั้งค่า SPF, DKIM และ DMARC เพื่อลดโอกาสอีเมลเข้า Spam

NS Record: บอกว่าใครเป็นผู้ดูแล DNS ของโดเมน

NS (Name Server) Record บอกว่าเซิร์ฟเวอร์ DNS ใดเป็นผู้ให้คำตอบของโดเมนนี้ ค่าที่มีผลจริงคือค่าที่ตั้งไว้ที่ผู้ให้บริการจดโดเมน (Registrar) ไม่ใช่ค่าในหน้าจัดการ DNS

example.com.   NS   ns1.provider.net.
example.com.   NS   ns2.provider.net.

นี่คือสาเหตุที่พบบ่อยที่สุดของปัญหา แก้ DNS แล้วไม่มีผล ถ้าคุณแก้ A Record ใน Plesk แต่ Name Server ของโดเมนชี้ไปที่ Cloudflare ค่าที่แก้จะไม่ถูกใช้เลย ให้ตรวจ NS ก่อนแก้ Record ใด ๆ เสมอ ข้อมูลการย้าย DNS ไป Cloudflare ดูได้ที่ ทำ DNS ใช้เองด้วย Cloudflare ฟรีและปลอดภัยมากขึ้น

Record อื่นที่ควรรู้จัก

  • SOA: ข้อมูลหลักของ Zone เช่น Serial และค่าเวลาต่าง ๆ ระบบสร้างให้อัตโนมัติ ไม่ต้องแก้
  • CAA: ระบุว่าผู้ออกใบรับรอง SSL รายใดออกใบรับรองให้โดเมนนี้ได้ หากตั้งไว้แล้วไม่รวม Let's Encrypt จะออก SSL ฟรีไม่ได้
  • SRV: ระบุที่อยู่และ Port ของบริการเฉพาะ เช่น Autodiscover หรือ SIP
  • PTR: แปลง IP กลับเป็นชื่อ (Reverse DNS) ตั้งที่เจ้าของ IP ไม่ใช่ที่หน้าจัดการ DNS ของโดเมน มีผลต่อการส่งอีเมลจากเซิร์ฟเวอร์ของคุณเอง

ตรวจสอบผลลัพธ์

ตรวจค่าที่ DNS ตอบจริงด้วยคำสั่งต่อไปนี้ ใช้ได้บน Windows, macOS และ Linux

nslookup -type=ns example.com
nslookup -type=a example.com
nslookup -type=mx example.com
nslookup -type=txt example.com

หรือบน macOS และ Linux ใช้ dig

dig +short NS example.com
dig +short A www.example.com
dig +short MX example.com
dig +short TXT _dmarc.example.com

ผลที่ได้ต้องตรงกับค่าที่คุณตั้งไว้ วิธีอ่านผลและตรวจกับ DNS Server หลายตัวดูที่ ตรวจสอบ DNS ด้วย nslookup และ dig

ปัญหาที่พบบ่อย

แก้ Record แล้วผ่านไปหลายชั่วโมงยังได้ค่าเดิม

ตรวจก่อนว่าแก้ที่ผู้ให้บริการที่ NS ชี้ไปจริงหรือไม่ ถ้าถูกที่แล้ว ค่าเดิมอาจยังถูกจำไว้ตาม TTL ของ Record เดิม ให้รอตามเวลานั้น ครั้งต่อไปก่อนย้ายเซิร์ฟเวอร์ ให้ลด TTL เหลือ 300 วินาทีล่วงหน้าอย่างน้อยหนึ่งช่วง TTL เดิม

เพิ่ม CNAME ไม่ได้ ขึ้นว่ามี Record อื่นอยู่แล้ว

ชื่อนั้นมี A, TXT หรือ MX อยู่ก่อน ให้ลบ Record เดิมของชื่อนั้นก่อน หรือใช้ A Record แทน

เว็บเปิดได้ แต่อีเมลเข้าไม่ได้หลังย้ายเซิร์ฟเวอร์

MX มักชี้ไปที่ชื่อ mail.example.com ซึ่งยังเป็น A Record ของเซิร์ฟเวอร์เก่า ให้แก้ A Record ของ mail ด้วย หรือชี้ MX ไปยังเมลเซิร์ฟเวอร์ใหม่ตามที่ผู้ให้บริการกำหนด

หากไม่แน่ใจว่าต้องตั้ง Record ใด ติดต่อทีมงาน THAI DATA CLOUD ได้ที่ https://thaidata.cloud/contact/ พร้อมแจ้งชื่อโดเมนและบริการที่ต้องการเชื่อมต่อ

ผู้ให้บริการคลาวด์ไทย
เพื่อธุรกิจของคนไทย

"มุ่งมั่น" และ "มั่นคง"
พร้อมรับมือทุกการเติบโต
Trust Cloud
คลาว์ที่ปลอดภัย
คือรากฐานที่มั่นคง
cloud security