วิธีแก้ DNS Record ไม่อัปเดต บน Windows Server 2022
ปัญหา DNS Record ไม่อัปเดต (DNS Record Not Updating) เป็นปัญหาที่พบบ่อยใน Windows Server 2022 โดยเฉพาะในระบบ Active Directory, DHCP และองค์กรที่มีการเปลี่ยนแปลง IP Address ของเซิร์ฟเวอร์หรือเครื่องลูกข่ายอยู่เป็นประจำ
อาการที่พบคือ DNS Record ยังคงแสดงค่าเดิม แม้ว่าจะมีการเปลี่ยน IP Address หรือเปลี่ยนค่า DNS ไปแล้ว ส่งผลให้ผู้ใช้งานเชื่อมต่อไปยังเครื่องผิดเครื่อง เปิดเว็บไซต์ไม่ได้ หรือ Login เข้า Domain ไม่ได้
บทความนี้จะอธิบายสาเหตุ วิธีตรวจสอบ และวิธีแก้ไข DNS Record ไม่อัปเดตแบบละเอียดสำหรับผู้ดูแลระบบ Windows Server 2022
อาการของ DNS Record ไม่อัปเดต
ตัวอย่างปัญหา
เดิม
web01.company.local
=
192.168.1.50
เปลี่ยน IP ใหม่เป็น
192.168.1.100
แต่ DNS ยังคงตอบกลับ
192.168.1.50
ผลลัพธ์คือ
ผู้ใช้งานเข้าเว็บไซต์ไม่ได้
Application เชื่อมต่อผิดปลายทาง
Active Directory มีปัญหา
Login Domain ช้า
Remote Desktop ไม่ได้
สาเหตุที่พบบ่อย
① DNS Cache ยังเก็บข้อมูลเก่า
ทั้ง Client และ DNS Server จะเก็บข้อมูลไว้ใน Cache
แม้ DNS Record ถูกแก้ไขแล้ว
Client อาจยังใช้ข้อมูลเดิม
② Dynamic DNS Update ถูกปิด
DNS Zone ไม่อนุญาตให้เครื่อง Client อัปเดตข้อมูล
③ DHCP ไม่อัปเดต DNS
DHCP แจก IP ใหม่
แต่ไม่ได้ส่งข้อมูลไปยัง DNS
④ DNS Replication ยังไม่เสร็จ
กรณีมี DNS หลายเครื่อง
ข้อมูลอาจยัง Sync ไม่ครบ
⑤ DNS Record ซ้ำ
มี Record เก่าค้างอยู่ใน Zone
⑥ TTL สูงเกินไป
Client เก็บข้อมูลไว้นาน
แม้ DNS Server จะอัปเดตแล้ว
ขั้นตอนตรวจสอบปัญหา
ตรวจสอบ DNS ปัจจุบัน
ใช้
nslookup web01.company.local
ผลลัพธ์
192.168.1.50
หากไม่ตรงกับ IP จริง
แสดงว่ามีปัญหา
ตรวจสอบ IP จริงของเครื่อง
บน Server
ipconfig
ตัวอย่าง
192.168.1.100
หากไม่ตรงกับ DNS Record
ต้องดำเนินการแก้ไข
วิธีล้าง DNS Cache บน Client
เปิด Command Prompt
ipconfig /flushdns
ผลลัพธ์
Successfully flushed the DNS Resolver Cache
จากนั้นทดสอบใหม่
nslookup web01.company.local
วิธีล้าง DNS Cache บน DNS Server
เปิด PowerShell
Clear-DnsServerCache -Force
ตรวจสอบอีกครั้ง
nslookup web01.company.local
ตรวจสอบ DNS Record ภายใน Zone
เปิด DNS Manager
ไปที่
Forward Lookup Zones
↓
company.local
ตรวจสอบว่า Record ถูกต้องหรือไม่
หรือใช้ PowerShell
Get-DnsServerResourceRecord `
-ZoneName "company.local"
แก้ไข DNS Record ด้วยตนเอง
หากพบข้อมูลผิด
คลิกขวา
A Record
↓
Properties
แก้ไข IP Address
จากนั้นกด OK
บังคับลงทะเบียน DNS ใหม่
บนเครื่องที่มีปัญหา
ใช้คำสั่ง
ipconfig /registerdns
ระบบจะส่งข้อมูลใหม่ไปยัง DNS Server
ตรวจสอบ Event Viewer
ว่าการลงทะเบียนสำเร็จหรือไม่
Restart Netlogon
กรณี Domain Controller
ใช้
net stop netlogon
net start netlogon
Windows จะสร้าง DNS Records ใหม่อัตโนมัติ
โดยเฉพาะ SRV Records
ตรวจสอบ Dynamic Update
เปิด DNS Manager
คลิกขวา Zone
↓
Properties
↓
General
↓
Dynamic Updates
แนะนำ
Secure Only
สำหรับ Domain Environment
หรือ
Nonsecure and Secure
สำหรับ Lab Environment
ตรวจสอบ DHCP Integration
เปิด DHCP Manager
คลิกขวา
IPv4
↓
Properties
↓
DNS
ตรวจสอบว่าเปิด
Enable DNS Dynamic Updates
หรือไม่
หากปิดอยู่
DNS จะไม่อัปเดตอัตโนมัติ
ตรวจสอบ Replication
กรณีมี Domain Controller หลายเครื่อง
ใช้
repadmin /replsummary
ผลลัพธ์ควรเป็น
0 Failures
หากมี Error
DNS อาจยัง Sync ไม่ครบ
ตรวจสอบ TTL
ดู TTL ของ Record
Get-DnsServerResourceRecord `
-ZoneName "company.local"
ตัวอย่าง
TTL
01:00:00
หมายถึง
1 ชั่วโมง
หากมีการเปลี่ยน IP บ่อย
แนะนำ
00:05:00
หรือ
00:10:00
ตรวจสอบ DNS Aging & Scavenging
DNS อาจเก็บข้อมูลเก่าไว้
เปิด DNS Manager
↓
Zone Properties
↓
Aging
ตรวจสอบค่า
No Refresh Interval
Refresh Interval
หากเปิดใช้งาน
Windows จะลบ Record เก่าอัตโนมัติ
วิธีลบ Record เก่า
เปิด DNS Manager
เลือก Record ที่ไม่ใช้งาน
↓
Delete
จากนั้น
ipconfig /registerdns
เพื่อสร้างใหม่
ปัญหาที่พบบ่อย
เปลี่ยน IP แล้ว DNS ไม่เปลี่ยน
ใช้
ipconfig /registerdns
และล้าง Cache
DHCP แจก IP ใหม่ แต่ DNS ยังเก่า
ตรวจสอบ DHCP DNS Update Settings
Domain Controller หายจาก DNS
ใช้
net stop netlogon
net start netlogon
Client ยังเห็นค่าเดิม
ใช้
ipconfig /flushdns
แล้วเปิด Command Prompt ใหม่
แนวทางแก้ปัญหาแบบมืออาชีพ
ลำดับที่แนะนำ
① ตรวจสอบ IP จริง
ipconfig
② ตรวจสอบ DNS
nslookup
③ ล้าง Cache
ipconfig /flushdns
④ Register DNS
ipconfig /registerdns
⑤ ตรวจสอบ Dynamic Update
⑥ ตรวจสอบ DHCP
⑦ ตรวจสอบ Replication
กระบวนการนี้สามารถแก้ปัญหาได้เกือบทุกกรณี
Best Practices
ใช้ Dynamic DNS Update
เปิด DHCP DNS Integration
ใช้ Secure Updates
ตั้ง TTL ให้เหมาะสม
เปิด Aging & Scavenging
ตรวจสอบ DNS Replication
สำรอง DNS Zone เป็นประจำ
จากประสบการณ์ของทีมงาน comsiam ปัญหา DNS Record ไม่อัปเดตส่วนใหญ่มักเกิดจาก DNS Cache และ DHCP ไม่ได้ส่งข้อมูลไปยัง DNS Server ทำให้ผู้ดูแลระบบเข้าใจผิดว่า DNS Server มีปัญหา ทั้งที่จริงแล้วข้อมูลเก่ายังค้างอยู่ในระบบ
สำหรับองค์กรที่มีเครื่องจำนวนมาก comsiam แนะนำให้ใช้ Dynamic DNS ร่วมกับ DHCP Integration และเปิด Aging & Scavenging เพื่อให้ DNS Database สะอาดและลดปัญหา Record เก่าค้างในระบบ
สรุป
ปัญหา DNS Record ไม่อัปเดตบน Windows Server 2022 สามารถเกิดได้จาก DNS Cache, Dynamic Update, DHCP, Replication หรือ TTL ที่ไม่เหมาะสม การตรวจสอบอย่างเป็นขั้นตอนและใช้เครื่องมือที่ถูกต้องจะช่วยให้ผู้ดูแลระบบแก้ปัญหาได้รวดเร็ว ลด Downtime และทำให้ระบบ DNS มีความเสถียรในระยะยาว