คู่มือสมบูรณ์การตั้งค่า DNS สำหรับเว็บเซิร์ฟเวอร์ – ทุกเรื่องที่ผู้ดูแลระบบควรรู้

โดย วุฒิชัย ศรีวิชัย · 29 สิงหาคม 2569

สรุปสั้น: DNS คือระบบนำทางของอินเทอร์เนต ที่แปลชื่อโดเมนให้เป็นที่อยู่ IP ของเซิร์ฟเวอร์ บทความนี้จะสอนคุณตั้งค่า DNS Record ต่างๆ อย่างถูกต้อง แก้ไขปัญหาทั่วไป และดูแลระบบ DNS ของเซิร์ฟเวอร์อย่างมืออาชีพ

DNS คืออะไร และเหตุใดจึงสำคัญต่อเว็บเซิร์ฟเวอร์

ทำไมเวบไซต์ของคุณสามารถเข้าถึงได้เมื่อพิมพ์ "example.com" ลงไปในเบราว์เซอร์ แทนที่จะต้องพิมพ์ IP address ยาวๆ เช่น "192.0.2.1"? คำตอบคือ DNS ทำงานเบื้องหลังอยู่ตลอดเวลา

DNS (Domain Name System) เป็นระบบจำไว้ชื่อสถานที่ของอินเทอร์เนต คิดเหมือนสมุดโทรศัพท์ขนาดมหึมาที่เก็บข้อมูลว่าชื่อโดเมนแต่ละชื่ออยู่ที่ IP address ไหน เมื่อผู้ใช้พิมพ์ชื่อโดเมนลงไป ระบบ DNS จะค้นหาว่า IP address นั้นอยู่ที่ไหน แล้วนำทางเบราว์เซอร์ไปยังเซิร์ฟเวอร์ที่ถูกต้อง

สำหรับผู้ดูแลระบบ (System Administrator) ความสำคัญของ DNS มีหลายด้าน:

  • ความเชื่อถือ: DNS ที่ตั้งค่าผิด จะทำให้ผู้เข้าชมเข้าถึงเว็บไซต์ของคุณไม่ได้
  • ความเร็ว: การตั้งค่า DNS ที่ดี ช่วยลดเวลารอ (latency) เมื่อค้นหาเซิร์ฟเวอร์
  • การอยู่รอด: DNS ที่ออกแบบดีช่วยให้สามารถเปลี่ยนเซิร์ฟเวอร์โดยไม่มีการหยุดชะงัก
  • ความปลอดภัย: การ์ดเกต DNS ที่เข้มแข็ง ป้องกันการโจมตี DNS Spoofing และ DDOS

DNS Record ประเภทต่างๆ ที่ผู้ดูแลเซิร์ฟเวอร์ต้องรู้

เมื่อคุณสร้างเซิร์ฟเวอร์ใหม่ หลายคนมักสับสนว่าต้องตั้งค่า DNS Record ประเภทไหนบ้าง ลองมาดูรายละเอียดของแต่ละประเภท:

A Record – การแมพชื่อโดเมนกับ IPv4

A Record เป็นพื้นฐานของ DNS ใช้ในการระบุว่าชื่อโดเมน (เช่น example.com) ชี้ไปยัง IP address เวอร์ชัน 4 (IPv4) ไหน

ตัวอย่างการตั้งค่า A Record:

  • Hostname: example.com
  • Record Type: A
  • IP Address: 203.0.113.42
  • TTL (Time To Live): 3600 (วินาที)

TTL คืออะไร? มันคือระยะเวลาที่ DNS server อื่นจะเก็บข้อมูลนี้ไว้ในแคชของมันก่อนค้นหาใหม่ TTL 3600 หมายความว่า ทุก 1 ชั่วโมง DNS ต่างๆ จะไปถามข้อมูล A Record ใหม่จากเซิร์ฟเวอร์หลักของคุณ หากคุณวางแผนจะเปลี่ยน IP address ของเซิร์ฟเวอร์ให้ลดค่า TTL ลงเหลือ 300 วินาที (5 นาที) ก่อนอย่างน้อย 24 ชั่วโมง

AAAA Record – สำหรับอนาคต IPv6

AAAA Record คล้ายกับ A Record แต่ใช้สำหรับ IPv6 address ซึ่งเป็นเวอร์ชันใหม่ของ IP address หากคุณต้องการให้เว็บไซต์สามารถเข้าถึงได้ทั้งผ่าน IPv4 และ IPv6 คุณต้องตั้งค่า AAAA Record ด้วย

ในปัจจุบัน IPv6 ยังไม่ได้รับการยอมรับอย่างกว้างขวาง แต่เป็นข้อดีที่จะรองรับมันไว้

MX Record – เส้นทางสำหรับอีเมล

ถ้า A Record คือการบอกว่าเว็บไซต์อยู่ที่ไหน แล้ว MX Record ก็คือการบอกว่าอีเมลต้องส่งไปยังเซิร์ฟเวอร์ไหน MX ย่อมาจาก "Mail Exchanger"

ตัวอย่างการตั้งค่า MX Record:

  • Domain: example.com
  • Record Type: MX
  • Priority (ความสำคัญ): 10
  • Mail Server: mail.example.com

Priority นี่สำคัญมากอย่างที่ไม่คิด หากคุณมีเซิร์ฟเวอร์อีเมลหลายเครื่อง ให้ตั้ง Priority ตัวเลขต่ำสำหรับเซิร์ฟเวอร์หลัก (เช่น 10) และตัวเลขสูงสำหรับตัวสำรอง (เช่น 20 หรือ 30) ระบบอีเมลจะลองส่งไปยังเซิร์ฟเวอร์ Priority ต่ำก่อน หากไม่ติด จึงจะลองเซิร์ฟเวอร์ Priority ที่สูงขึ้น

CNAME Record – ชื่อแฟลก (Canonical Name)

CNAME ใช้ในการสร้าง "ชื่อเล่น" สำหรับโดเมน ตัวอย่างเช่น หากเว็บไซต์หลักของคุณคือ example.com และคุณต้องการให้ www.example.com ชี้ไปยังเซิร์ฟเวอร์เดียวกัน คุณสามารถสร้าง CNAME ได้

  • Hostname: www.example.com
  • Record Type: CNAME
  • Target: example.com

สิ่งที่ต้องจำไว้: ห้ามใช้ CNAME ที่รากของโดเมน (apex domain) ต้องใช้ A Record แทน คุณสามารถใช้ CNAME ได้เฉพาะกับ subdomain เช่น www, blog, api เท่านั้น

TXT Record – ข้อมูลข่าวสาร

TXT Record เป็นแบบทั่วไปที่สุด ใช้เก็บข้อมูลข้อความต่างๆ มักใช้เพื่อ:

  • SPF (Sender Policy Framework): ช่วยให้ผู้รับอีเมลรู้ว่าใครมีสิทธิ์ส่งอีเมลจากโดเมนของคุณ
  • DKIM (DomainKeys Identified Mail): ลายเซ็นดิจิทัลสำหรับอีเมล
  • DMARC (Domain-based Message Authentication): นโยบายการรับรองความถูกต้องของอีเมล
  • Domain Verification: บางบริการ (เช่น Google) จะขอให้คุณเพิ่ม TXT Record เพื่อยืนยันว่าคุณเป็นเจ้าของโดเมน

NS Record – DNS Nameserver

NS Record บอกว่า DNS server ไหนดูแลโดเมนนี้ โดยปกติการลงทะเบียนโดเมนจะตั้งค่า NS Record ให้อัตโนมัติ หากคุณต้องการเปลี่ยนไปใช้ DNS server อื่น (เช่น CloudFlare หรือ Route53) คุณต้องแก้ไข NS Record ในหน่วยลงทะเบียนโดเมน

ขั้นตอนการตั้งค่า DNS สำหรับเซิร์ฟเวอร์ใหม่

ตอนนี้มาดูกระบวนการจริงๆ ของการตั้งค่า DNS สำหรับเซิร์ฟเวอร์ใหม่กันเลยดีกว่า

ขั้นตอนที่ 1: รวบรวมข้อมูล IP Address

ขั้นแรก ให้ตรวจสอบ IP address ของเซิร์ฟเวอร์ใหม่ของคุณ

  • หากเป็น Linux/Unix ใช้คำสั่ง: ip addr show หรือ ifconfig
  • หากเป็น Windows ใช้คำสั่ง: ipconfig
  • หากเป็นเซิร์ฟเวอร์บนคลาวด์ ตรวจสอบในแดชบอร์ด (AWS, DigitalOcean, Linode เป็นต้น)

คุณอาจต้องเก็บทั้ง IPv4 และ IPv6 address ขึ้นอยู่กับการตั้งค่าของเซิร์ฟเวอร์

ขั้นตอนที่ 2: เข้าถึงแผงควบคุม DNS

เข้าสู่ระบบจัดการโดเมนของคุณ โดยปกติจะอยู่ใน:

  • บริการลงทะเบียนโดเมน (เช่น Namecheap, GoDaddy)
  • ผู้ให้บริการโฮสติ้ง (เช่น Bluehost, SiteGround)
  • บริการ DNS อิสระ (เช่น Cloudflare, Route53)

หลายคนชอบเลื่อนการจัดการ DNS ไปยัง Cloudflare เพราะมีฟีเจอร์ขั้นสูง เช่น CDN, DDoS protection และ analytics ดีกว่าผู้ให้บริการอื่น

ขั้นตอนที่ 3: สร้าง A Record หลัก

หากคุณยังไม่มี A Record ให้สร้างขึ้นมา:

  • Name: @ (หรือชื่อโดเมน)
  • Type: A
  • Value: IP address ของเซิร์ฟเวอร์
  • TTL: 3600 (หรือค่าเริ่มต้น)

ขั้นตอนที่ 4: เพิ่ม CNAME สำหรับ www

สร้าง CNAME record สำหรับ www subdomain:

  • Name: www
  • Type: CNAME
  • Value: example.com (ชี้ไปยัง A Record)
  • TTL: 3600

ขั้นตอนนี้บังคับให้ทั้ง example.com และ www.example.com ชี้ไปยังเซิร์ฟเวอร์เดียวกัน

ขั้นตอนที่ 5: ตั้งค่า MX Record (หากต้องการอีเมล)

หากคุณใช้บริการอีเมลแยก (เช่น Google Workspace) คุณต้องเพิ่ม MX Record ตามที่บริการนั้นบอก ตัวอย่าง:

  • Name: @ (apex domain)
  • Type: MX
  • Value: aspmx.l.google.com
  • Priority: 10

ขั้นตอนที่ 6: เพิ่มเติม SPF, DKIM, DMARC (ถ้าเกี่ยวกับอีเมล)

เพื่อให้อีเมลของคุณไม่ลงขยะ ให้เพิ่ม:

  • SPF Record: TXT record ประมาณนี้: v=spf1 include:google.com ~all
  • DKIM: คู่ของ public key ส่วนปลายโปรแกรมอีเมลของคุณจะสร้างให้
  • DMARC: TXT record สำหรับนโยบายความถูกต้อง

ปัญหา DNS ทั่วไปและวิธีแก้ไข

ตลอด 15 ปีที่ดูแลเซิร์ฟเวอร์ ปัญหา DNS ที่เจอบ่อยมี 3-4 ประเภทชุด ให้ผมบอกวิธีแก้ไข:

1. เว็บไซต์ยังคงชี้ไปยัง IP address เก่า

สาเหตุ: DNS propagation ยังไม่เสร็จสมบูรณ์ หรือ TTL ยังค้างอยู่ในแคช

วิธีแก้ไข:

  • ลดค่า TTL ลงเหลือ 300 วินาที ตั้งแต่ 24 ชั่วโมงก่อนการเปลี่ยน IP
  • รอ 24-48 ชั่วโมงเพื่อให้ DNS propagate ไปทั่วโลก
  • ใช้เครื่องมือ DNS checker เช่น วิกิพีเดีย เพื่อตรวจสอบสถานะ DNS ของคุณในแต่ละภูมิภาค
  • ลองล้าง DNS cache ของเครื่องของคุณ:
    • Windows: ipconfig /flushdns
    • macOS: sudo dscacheutil -flushcache
    • Linux: sudo systemctl restart systemd-resolved

2. อีเมลส่งไม่ไป หรือติดขยะ

สาเหตุ: MX Record หายไปหรือตั้งค่าผิด SPF/DKIM/DMARC ไม่ถูก

วิธีแก้ไข:

  • ใช้ online MX lookup tool ตรวจสอบว่า MX Record ของคุณถูกต้องหรือไม่
  • เพิ่ม SPF record และตรวจสอบไวยากรณ์ว่าถูกต้อง
  • ตั้งค่า DKIM และ DMARC ตามกฎการส่งอีเมล
  • ส่งอีเมลทดสอบไปยังบัญชี Gmail และดูรายละเอียด (Show Original) เพื่อตรวจสอบปัญหา

3. บางคน (หรือบางพื้นที่) เข้าถึงเว็บไซต์ไม่ได้

สาเหตุ: DNS server ของ ISP บ่อยครั้งมีปัญหา หรือมี DNS issue เฉพาะภูมิภาค

วิธีแก้ไข:

  • ลองใช้ DNS server อื่น (Cloudflare: 1.1.1.1, Google: 8.8.8.8)
  • ตรวจสอบ NS Record ว่าชี้ไปยัง DNS server ถูก
  • รอ DNS propagation เพิ่มเติม (อาจใช้เวลา 24-72 ชั่วโมง)
  • ติดต่อผู้ให้บริการ ISP หากปัญหาคงอยู่

4. DNS Propagation ช้า

สาเหตุ: DNS server ที่คุณใช้ตอบสนองช้า หรือมีปัญหาประสิทธิภาพ

วิธีแก้ไข:

  • เลื่อนไปใช้ DNS service เร็วขึ้น (Cloudflare รู้จักเรื่องเร็วกว่า ISP เยอะ)
  • ใช้ Secondary DNS as failover
  • ตรวจสอบทำงานของ Primary DNS server ของคุณ อาจติดขัด

เคล็ดลับการดูแลระบบ DNS อย่างมืออาชีพ

หลังจากตั้งค่า DNS เบื้องต้นแล้ว ให้จำเคล็ดลับเหล่านี้เพื่อให้ระบบ DNS มั่นคงตลอดไป:

  • ตรวจสอบ DNS Record อย่างสม่ำเสมอ: ทำการ audit DNS record ของคุณทุก 3-6 เดือน เพื่อตรวจสอบว่ามี record ที่ล้าสมัยหรือไม่ถูกต้องหรือไม่
  • เก็บ Backup ของ DNS Records: บางเซิร์ฟเวอร์ DNS อาจเสีย ให้เก็บรายการ DNS record ของคุณไว้ที่อื่น (เช่น Google Sheets หรือไฟล์เท็กซ์)
  • ใช้ Secondary DNS: มี DNS server เผื่อหากเซิร์ฟเวอร์หลักเสีย ระบบการทำงานจะยังคงสัญญาแหน่ม
  • ตั้ง DNS Monitoring: บางบริการให้ alert เมื่อ DNS record มีการเปลี่ยนแปลง ซึ่งช่วยให้ตรวจจับการบุกรุกได้เร็วขึ้น
  • เก็บ TTL ปกติไว้สูง: บนวันปกติ ให้ TTL อยู่ที่ 3600-86400 วินาที (1-24 ชั่วโมง) เพื่อลดโหลด DNS server ของคุณ เมื่อต้องการเปลี่ยน IP ให้ลดลงสักหน่อย

การตั้งค่า DNS ขั้นสูง

สำหรับผู้ดูแลเซิร์ฟเวอร์ขั้นสูง อาจต้องพิจารณาเรื่องต่างๆ เพิ่มเติม:

CAA Record – ควบคุมใครออก Certificate

CAA (Certification Authority Authorization) Record บอกว่า Certificate Authority (CA) ไหนได้รับอนุญาตให้ออก SSL certificate สำหรับโดเมนของคุณ นี่คือสิ่งที่คุณควรตั้งค่าหากคุณใช้ SSL Certificate ของคุณ

  • Name: @ (apex domain)
  • Type: CAA
  • Value: 0 issue "letsencrypt.org"

CAA record ช่วยป้องกันการปลอมแปลง certificate โดยบุคคลที่ไม่ได้รับอนุญาต

SRV Record – ระบุตำแหน่งบริการ

SRV Record ใช้สำหรับบริการต่างๆ เช่น SIP, XMPP หรือบริการ Microsoft Exchange หลายคนไม่ต้องใช้มัน แต่หากคุณใช้บริการเหล่านั้นต้องตั้งค่ามัน

Subdomain Delegation – มอบหมายการจัดการ Subdomain

หากคุณเก็บ main domain ไว้ DNS server หนึ่ง แต่ต้องการให้ subdomain ใดซึ่งใช้ DNS server อื่น คุณสามารถมอบหมายได้โดยตั้ง NS record สำหรับ subdomain นั้น:

  • Name: api.example.com
  • Type: NS
  • Value: ns1.api-dns.com

สรุป

DNS อาจเป็นหัวข้อที่ยาวและซับซ้อนสำหรับผู้เริ่มต้น แต่เมื่อเข้าใจพื้นฐาน จะเห็นว่ามันสมเหตุสมผลมากขึ้น ขั้นตอนทั่วไปคือ สร้าง A Record ให้เว็บไซต์ MX Record ให้อีเมล CNAME ให้ subdomain และเพิ่มเติม TXT record ตามความต้องการ

สิ่งสำคัญที่สุดคือ อย่าเพิ่งลืมตรวจสอบ DNS ของคุณ และรอ propagation ให้เพียงพอ ปัญหาส่วนใหญ่เกิดจาก DNS change ที่รอเดอะทำ ดังนั้นให้ใจเย็นสักนิด DNS ของโลกจะจำตัวแปรของคุณทั้งหมด

แสดงความคิดเห็น

ร่วมแสดงความคิดเห็นได้ที่ด้านล่าง — เราอ่านทุกความเห็น