เคยเจอข้อผิดพลาดแปลกในเบราว์เซอร์ตอนเข้าเว็บไหม? ข้อความบอกว่า "DNS lookup error" โปรแกรมอื่นๆ เช่น Skype หรือเกมออนไลน์ยังใช้ได้ แต่เว็บโหลดไม่ขึ้น บางครั้งมีผลกับ บาง เว็บเท่านั้น DNS error คืออะไร ทำไมถึงส่งผลกับเว็บ (หรือบางเว็บ) และแก้ยังไง?
DNS คืออะไร?
"DNS" ย่อมาจาก "Domain Name System" มักเกี่ยวข้องกับ "DNS server" หากไม่เข้าใจการโหลดเว็บ คำอธิบายนี้ก็ไม่ช่วยให้เข้าใจ DNS ทำหน้าที่อะไร มาวิเคราะห์กัน
DNS server ทำหน้าที่เหมือน สมุดโทรศัพท์ในโทรศัพท์มือถือ ตอนจะโทรหาใคร คุณ สามารถ พิมพ์เบอร์มือถือด้วยตัวเอง แต่จำเบอร์ทุกคนยากมาก จึงบันทึกเบอร์ไว้ในโทรศัพท์ผูกกับชื่อ (เช่น "มาร์ค") ตอนจะโทรหา มาร์ค แค่หาชื่อในรายชื่อกดโทรเลย
คอมพิวเตอร์ก็เช่นกัน มันไม่รู้ว่า "Google", "Facebook", "Twitter" คืออะไร แต่รู้จัก IP address ตอนคุณพิมพ์ "www.facebook.com" คอมพิวเตอร์รู้ว่าเป็น URL จึงไปหาใน "สมุดโทรศัพท์ URL" เพื่อหาตำแหน่งของ Facebook บนเครือข่าย — นี่คือหน้าที่ของ DNS server
ทำไมจึงเกิด DNS Error
ถ้าสมุดโทรศัพท์ในโทรศัพท์เสียหายหรือหาย คุณพิมพ์ "มาร์ค" โทรศัพท์หาไม่เจอ โทรไม่ได้ เหมือนกัน: พิมพ์ URL แต DNS server ลง คอมพิวเตอร์หา IP ของ URL ไม่เจอ ไม่รู้จะไป "Google" ยังไง จึงคืนค่า DNS error
คนฉลาดจะคิดว่า: ถ้าพิมพ์ IP address ของเว็บตรงๆ ในแถบที่อยู่ ควรจะเข้าเว็บได้แม้ DNS ลง — เรื่องนี้จริง แต่เราไม่จำ IP ทุกเว็บได้! ดีกว่าคือแก้ปัญหา DNS ให้หมด
วิธีแก้ DNS Error
1. ล้าง DNS Cache (Flush DNS Cache)
ถ้าเข้าเว็บเดียวกันบ่อย คอมพิวเตอร์จะจำ IP ของ URL ไว้ (DNS cache) เพื่อไม่ต้องถาม DNS server ทุกครั้ง แต่ถ้า cache เสียหาย จะคืนค่าผิดพลาด
Windows
กดปุ่ม Win พิมพ์ cmd คลิกขวา "Command Prompt" > "Run as administrator" เปิดหน้าต่างคำสั่งระดับระบบ
พิมพ์คำสั่ง:
ipconfig /flushdns
Mac OS X
คำสั่งใน macOS เปลี่ยนแปลงตามเวอร์ชัน หลายคำสั่ง เรารวมเฉพาะล่าสุด
เปิด Terminal (Applications > Terminal) พิมพ์:
(OSX 10.10.4+)
dscacheutil -flushcache; sudo killall -HUP mDNSResponder
(OSX 10.10-10.10.3)
sudo discoveryutil mdnsflushcache; sudo discoveryutil udnsflushcaches
Linux
เปิดเทอร์มินัล พิมพ์:
/etc/init.d/nscd restart
2. ใช้ Public DNS Server แทน
ถ้าข้างต้นไม่ได้ผล ให้เปลี่ยน DNS server ที่ใช้อยู่ ค่าเริ่มต้นอาจล้ม ทดลอง Google Public DNS ที่ 8.8.8.8 และ 8.8.4.4 เปลี่ยนการตั้งค่าแดปเตอร์ให้ใช้ DNS นี้แทน
ไม่แน่ใจวิธีเปลี่ยน DNS? ดูคู่มือสำหรับ Windows, Mac, Linux, Android ได้ที่เว็บเรา
3. ปิดซอฟต์แวร์ความปลอดภัยชั่วคราว (แค่สักครู่!)
ไม่ควรปิดซอฟต์แวร์ความปลอดภัยตอนใช้อินเทอร์เน็ต แต่ชุดโปรแกรมป้องกันที่เข้มงวดเกินไปหรือเสียหาย อาจบล็อกคำขอ DNS ออกไป ทำให้เกิด DNS error ลองปิดไฟร์วอลล์/แอนตี้ไวรัสดู ถ้าแก้ได้ ให้ เปิดกลับทันที ถ้าไม่ได้ ลอง uninstall/reinstall หรือเปลี่ยน廠商อื่น
สรุป
ปัญหา DNS server รบกวนมาก โดยเฉพาะตอนไม่เข้าใจสาเหตุ หวังว่าตอนนี้คุณเข้าใจสาเหตุและวิธีแก้ปัญหา DNS ขณะเล่นเว็บแล้ว