วิธีล้าง DNS Cache บน Windows Server 2022 ให้เห็นผลทันที
DNS Cache เป็นระบบที่ช่วยให้ Windows Server และเครื่อง Client สามารถจดจำผลลัพธ์การค้นหา DNS ได้ชั่วคราว เพื่อลดเวลาการค้นหาและเพิ่มความเร็วในการเชื่อมต่อ แต่ในบางกรณี DNS Cache อาจกลายเป็นสาเหตุของปัญหา เช่น DNS Record ถูกแก้ไขแล้วแต่ยังเห็นข้อมูลเดิม เว็บไซต์ย้าย IP แล้วแต่ยังเข้าเซิร์ฟเวอร์เก่า หรือ Active Directory มีปัญหาในการค้นหา Domain Controller
การล้าง DNS Cache จึงเป็นหนึ่งในขั้นตอนแรกที่ผู้ดูแลระบบควรทำเมื่อต้องแก้ไขปัญหา DNS บน Windows Server 2022
บทความนี้จะอธิบายการล้าง DNS Cache ทั้งฝั่ง Client และ DNS Server พร้อมวิธีตรวจสอบและแนวทางปฏิบัติที่ถูกต้องในระดับองค์กร
DNS Cache คืออะไร
DNS Cache คือข้อมูล DNS ที่ระบบเก็บไว้ชั่วคราว
ตัวอย่าง
เมื่อผู้ใช้งานเปิด
google.com
DNS Server จะตอบกลับ
142.250.xxx.xxx
Windows จะจดจำข้อมูลนี้ไว้ใน Cache
ครั้งถัดไปจะไม่ต้องสอบถาม DNS Server อีก
ช่วยให้การเปิดเว็บไซต์เร็วขึ้น
DNS Cache ทำงานอย่างไร
Client
↓
DNS Query
↓
DNS Server
↓
Result
↓
Cache
↓
Client
เมื่อมี Cache อยู่แล้ว
Windows จะใช้ข้อมูลใน Cache ก่อนเสมอ
เมื่อไรควรล้าง DNS Cache
✅ เปลี่ยน DNS Record
✅ ย้ายเว็บไซต์ไป Server ใหม่
✅ เปลี่ยน IP Address
✅ แก้ไข A Record
✅ แก้ไข MX Record
✅ แก้ไข CNAME Record
✅ Join Domain ไม่ได้
✅ Login Domain ช้า
✅ เว็บไซต์เปิดไปยัง Server เดิม
วิธีดู DNS Cache บน Client
เปิด Command Prompt
ipconfig /displaydns
ตัวอย่างผลลัพธ์
Record Name . . . :
google.com
Record Type . . . :
1
Time To Live . . . :
300
จะแสดงข้อมูล DNS ทั้งหมดที่อยู่ใน Cache
วิธีล้าง DNS Cache บน Client
เปิด Command Prompt แบบ Administrator
ใช้คำสั่ง
ipconfig /flushdns
ผลลัพธ์
Successfully flushed the DNS Resolver Cache
หมายความว่า Cache ถูกล้างเรียบร้อยแล้ว
วิธีตรวจสอบหลังล้าง Cache
ก่อนล้าง
ipconfig /displaydns
หลังล้าง
ipconfig /displaydns
รายการ DNS จะลดลงอย่างชัดเจน
วิธีล้าง DNS Cache บน Windows Server 2022
กรณี Server ทำหน้าที่เป็น DNS Server
เปิด PowerShell
ใช้คำสั่ง
Clear-DnsServerCache -Force
ระบบจะล้าง DNS Cache ทั้งหมดทันที
ตรวจสอบ DNS Cache บน DNS Server
ดูข้อมูล Cache
Get-DnsServerCache
ผลลัพธ์จะแสดง
Domain
TTL
Record Type
ที่ DNS Server กำลังจดจำอยู่
ล้าง Cache ผ่าน DNS Manager
เปิด
Server Manager
↓
Tools
↓
DNS
คลิกขวาที่ชื่อ Server
เลือก
Clear Cache
ยืนยันการล้าง
เสร็จสิ้น
Restart DNS Service
หากต้องการรีเซ็ต DNS ทั้งหมด
ใช้
Restart-Service DNS
หรือ
Stop-Service DNS
Start-Service DNS
วิธีนี้จะล้าง Cache ทั้งหมดพร้อมรีโหลด DNS Service
วิธีทดสอบ DNS หลังล้าง Cache
ใช้
nslookup google.com
หรือ
Resolve-DnsName google.com
หาก DNS ตอบกลับได้ถูกต้อง แสดงว่าระบบทำงานปกติ
ตรวจสอบ TTL
TTL คือระยะเวลาที่ Cache จะถูกเก็บไว้
ตัวอย่าง
300
หมายถึง
5 นาที
หาก TTL หมด
Windows จะสอบถาม DNS ใหม่อัตโนมัติ
ปัญหาที่เกิดจาก DNS Cache
เว็บไซต์ยังชี้ไป Server เดิม
สาเหตุ
DNS Cache ยังเก็บ IP เก่า
แก้ไข
ipconfig /flushdns
เปลี่ยน DNS Record แล้วไม่เห็นผล
ล้าง
Client Cache
DNS Server Cache
พร้อมกัน
Join Domain ไม่ได้
DNS Cache อาจเก็บ Domain Controller เก่า
ใช้
ipconfig /flushdns
แล้วทดลองใหม่
MX Record เปลี่ยนแล้วอีเมลยังส่งผิด
ล้าง DNS Cache
ทั้ง Mail Server และ DNS Server
ล้าง Cache อัตโนมัติด้วย Script
สร้างไฟล์
flushdns.bat
เนื้อหา
ipconfig /flushdns
สามารถแจกให้ทีม IT ใช้งานได้ทันที
ตรวจสอบ DNS Client Service
ดูสถานะ
Get-Service Dnscache
ผลลัพธ์
Running
หาก Service หยุดทำงาน
DNS Cache จะทำงานผิดปกติ
DNS Cache กับ Active Directory
Active Directory ใช้ DNS อย่างหนัก
หาก DNS Cache เก่า
อาจทำให้
Login ช้า
หา Domain Controller ไม่เจอ
Group Policy ไม่ทำงาน
จึงควรล้าง Cache หลังแก้ไข DNS Records ที่เกี่ยวข้องกับ Domain Controller
ปัญหาที่พบบ่อย
Flush DNS แล้วไม่หาย
อาจเกิดจาก
Browser Cache
Proxy Cache
DNS Cache บน Firewall
DNS Cache บน ISP
Cache กลับมาอีกทันที
เป็นเรื่องปกติ
เพราะ Windows จะสร้าง Cache ใหม่เมื่อมี DNS Query
DNS Server ยังตอบข้อมูลเก่า
ใช้
Clear-DnsServerCache -Force
บน DNS Server เพิ่มเติม
แนวทางใช้งานในองค์กร
หลังแก้ไข
A Record
MX Record
CNAME Record
PTR Record
ควรดำเนินการ
① ล้าง DNS Cache บน DNS Server
② ล้าง DNS Cache บน Client
③ ทดสอบด้วย nslookup
④ ตรวจสอบ Event Viewer
ช่วยลดปัญหา DNS เก่าค้างในระบบ
Best Practices
ล้าง Cache หลังแก้ไข DNS สำคัญ
ตรวจสอบ TTL ก่อนเปลี่ยนระบบ
ใช้ nslookup ตรวจสอบทุกครั้ง
ใช้ PowerShell จัดการ DNS Server
สำรอง DNS Zone ก่อนแก้ไข
ตรวจสอบ DNS Forwarder เป็นประจำ
ใช้ DNS Monitoring
จากประสบการณ์ของทีมงาน comsiam ปัญหา DNS กว่า 50% ที่พบในองค์กรสามารถแก้ไขได้ด้วยการล้าง DNS Cache ทั้งฝั่ง Client และ DNS Server เนื่องจากหลายครั้งข้อมูล DNS ใหม่ถูกต้องแล้ว แต่ระบบยังคงใช้ข้อมูลเก่าที่ถูกเก็บไว้ใน Cache
ในการดูแล Windows Server 2022 ระดับองค์กร ทีมงาน comsiam มักกำหนดขั้นตอน Flush DNS Cache เป็นส่วนหนึ่งของ Change Management ทุกครั้งที่มีการแก้ไข DNS Records เพื่อให้ข้อมูลใหม่ถูกนำมาใช้งานได้ทันที
สรุป
DNS Cache เป็นกลไกที่ช่วยเพิ่มความเร็วในการค้นหา DNS แต่ในบางสถานการณ์อาจทำให้ระบบยังคงใช้งานข้อมูลเก่า การล้าง DNS Cache บน Windows Server 2022 ด้วย ipconfig /flushdns, Clear-DnsServerCache หรือ DNS Manager จะช่วยให้ระบบดึงข้อมูล DNS ล่าสุด ลดปัญหาการเชื่อมต่อ และเพิ่มความเสถียรในการทำงานของเครือข่าย