- 1. เปลี่ยน DNS Server
- 2. รีเซ็ตการตั้งค่าเครือข่าย
- 3. ล้าง Host Cache ของ Chrome
- 4. รีเซ็ต Network Adaptor และ Driver
- 5. ตั้ง DNS Client Service เป็น Automatic
- 6. ลบการตั้งค่า Proxy
- สรุป
DNS_PROBE_FINISHED_NXDOMAIN ป้องกันไม่ให้เข้าถึงเว็บไซต์ ก่อให้เกิดปัญหาการเชื่อมต่อบริการภายนอก ตามชื่อ แสดงว่าเป็นข้อผิดพลาดเกี่ยวกับ DNS หน้าที่ของ DNS คือการ resolve/แปลชื่อ ดังนั้นเมื่อระบบไม่สามารถ resolve หรือแปลที่อยู่ได้ จะเกิดข้อผิดพลาดนี้:
โดยค่าเริ่มต้น คอมพิวเตอร์ตั้งค่าใช้ DNS ที่กำหนดในเราเตอร์หรือโมเด็ม ซึ่งเป็น DNS ของผู้ให้บริการอินเทอร์เน็ต เว้นแต่จะมีการเปลี่ยนแปลง ผมแนะนำให้ใช้ Public DNS Servers เสมอ ซึ่งคุณจะเห็นในคู่มือนี้ เพราะมีความพร้อมใช้งานสูงสุดเกือบ 99%
ปัญหาอาจเกิดจากรายการไม่ถูกต้องในไฟล์ hosts ซึ่งอาจบлокกั้นหรือจำกัดการเข้าถึงเว็บไซต์บางแห่งหรือทั้งหมด
การแก้ไข DNS_PROBE_FINISHED_NXDOMAIN
อัปเดต 14/04/2021: ลองใช้เครื่องมือ DNS Geek ฟรีของเรา ซึ่งควรแก้ปัญหา DNS ส่วนใหญ่ เนื่องจากสคริปต์ไม่มีใบรับรอง อาจมีการแจ้งเตือนเรื่อง unverified publisher ถ้าบอกว่าสคริปต์ไม่ได้ลงนามดิจิทัล ให้รันคำสั่งด้านล่างก่อน แล้วค่อยรันสคริปต์
Set-ExecutionPolicy Unrestricted -Scope Process
หลังรันสคริปต์เสร็จ สามารถเปลี่ยนกลับเป็น Restricted ได้ด้วยคำสั่ง
Set-ExecutionPolicy Restricted
DNS Geek Tool ควรดาวน์โหลดบนคอมพิวเตอร์อื่นถ้าคุณไม่มีอินเทอร์เน็ต แล้วคัดลอกไปที่ USB Drive นำ USB ไปต่อที่คอมพิวเตอร์ที่มีปัญหา DNS คัดลอกไฟล์จาก USB วางบน Desktop หลังย้ายไฟล์แล้ว คลิก Start -> พิมพ์ cmd เลือก Run As Administrator
เมื่อหน้าต่าง Command Prompt สีดำเปิดขึ้น ให้ลากไฟล์ DNS Geek Tool ไปที่ Command Prompt แล้วกด Enter หรือพิมพ์พาธที่ไฟล์บันทึกไว้ แล้วรัน
เครื่องมือจะทำงานเอง และจะ prompt ถาม "Yes และ No" ขณะที่ troubleshoot ปัญหา
คุณยังสามารถทำตามขั้นตอนด้านล่างได้ เพราะเครื่องมือนี้ทำงานเหมือนแนวทางด้านล่าง
ในคู่มือนี้ จะพูดถึงวิธีเปลี่ยน DNS จาก local หรือ default (automatic) เป็น DNS ของ Google เหตุผลคือ Google DNS มี uptime สูงเกือบ 99.99% และน่าเชื่อถือกว่า DNS ของ ISP หรือผู้ให้บริการอินเทอร์เน็ต ดังนั้นการเปลี่ยนเป็น Public DNS ควรแก้ปัญหาที่ DNS เดิม down, overloaded หรือช้าในการตอบสนอง
การเปลี่ยน DNS Server
ตอนนี้เรารู้ว่า DNS ของ Google น่าเชื่อถือ ลองแก้ปัญหาด้วย Public DNS อย่าง Google DNS หรือ Cloudflare DNS ทำตามขั้นตอน:
- กดค้าง Windows Key + I เพื่อเปิด Windows Settings
- ใน Windows Settings ไปที่ "Network & Internet"
- กดตัวเลือก "Change Adaptor Settings"
- คลิกขวา ที่ Network Adaptor ของคุณ เลือก "Properties"
- ดับเบิลคลิก "Internet Protocol Version 4 (TCP/IPv4)"
- เลือก "Use the following DNS server addresses"
- ใส่ "8.8.8.8" ใน Preferred DNS server และ "8.8.4.4" ใน Alternate DNS server
- กด Windows Key + X เลือก Command Prompt (Admin) หรือ PowerShell (Admin)
พิมพ์คำสั่งต่อไปนี้เพื่อ Refresh DNS Servers:
ipconfig /flushdns
ตรวจสอบว่าปัญหายังคงอยู่หรือไม่
การรีเซ็ตการตั้งค่าเครือข่าย
ในวิธีนี้ จะรีเซ็ต Network Configuration ด้วยคำสั่งผ่าน Command Prompt คำสั่งเหล่านี้จะรีเซ็ตการตั้งค่าเครือข่ายที่ ผิด/ไม่ถูกต้อง หรือ DNS Cache ที่ขัดแย้งกับ Chrome วิธีนี้จะแคบขอบปัญหาหรืออาจแก้ไขได้ ทำตามขั้นตอน:
- กด Windows Key + X เลือก Command Prompt (Admin) หรือ PowerShell (Admin)
- พิมพ์คำสั่งต่อไปนี้ ทีละคำสั่ง เพื่อรีเซ็ตการตั้งค่าเครือข่าย
netsh winsock reset netsh int ip reset ipconfig /release ipconfig /renew netsh interface ipv4 reset netsh interface ipv6 reset reset ipconfig /flushdns
- Restart คอมพิวเตอร์
ตรวจสอบว่าปัญหายังคงอยู่หรือไม่
การล้าง Host Cache ของ Chrome
Google Chrome Client เก็บบันทึก DNS entries เพื่อประหยัดการ lookup ทุกครั้ง ลดเวลาโหลดเว็บ แต่บางครั้งฟีเจอร์นี้ทำ害มากกว่าดี เพราะมี DNS Cache data ที่เสียหายและไม่ดี คุณสามารถล้างแคชของ Chrome ได้ง่าย ทำตามขั้นตอน:
- เปิด Google Chrome
- ในส่วน URL ใส่ URL นี้ แล้วกด Enter
chrome://net-internals/#dns
- จะเปิดหน้า Google Chrome Host resolver cache กด "Clear Host Cache"
- Restart Google Chrome และเช็คว่าสามารถเข้าถึงเว็บได้อีกหรือไม่
การรีเซ็ต Network Adaptor และ Driver
ถ้าวิธีรีเซ็ตเครือข่ายไม่ได้ผล ลองวิธีนี้ เพราะเป็น built-in ของ Windows และ aggressive กว่านิดหน่อย เพราะยังรีเซ็ต Driver ของ Network Adaptor ด้วย ทำตามขั้นตอน:
- มุมขวาของ Taskbar คลิกไอคอน Wi-Fi network
- คลิก "Network & Internet Settings" ไปที่แท็บ "Status"
- คลิก "Network reset" แล้วกด "Restart now"
- หลัง Restart เช็คว่าปัญหาแก้แล้วหรือยัง
ตั้งค่า DNS Client Service เป็น "Automatic"
DNS Client service รับผิดชอบเก็บ DNS cache แคช DNS และลงทะเบียน บริการนี้อาจถูกหยุดโดยโปรแกรม bad tweaking หรือโปรแกรม 3rd-party ถ้าบริการนี้ถูก Disable Google Chrome จะให้ข้อผิดพลาดอย่าง:
DNS_PROBE_FINISHED_NXDOMAIN
DNS_PROBE_FINISHED_NO_INTERNET
คุณสามารถแก้ได้ง่ายด้วยการตั้งค่า DNS Client Service เราเตรียมคำสั่งไว้ให้แล้วเพื่อตั้งค่าพารามิเตอร์บริการนี้ ให้ทำตามขั้นตอน:
- กด Windows Key + X เลือก Command Prompt (Admin) หรือ PowerShell (Admin)
- พิมพ์คำสั่ง ทีละคำสั่ง เพื่อตั้งค่าพารามิเตอร์กลับคืน
sc config Dnscache start= auto sc start Dnscache
- Restart คอมพิวเตอร์ และเช็คว่าปัญหายังคงอยู่หรือไม่
การลบการตั้งค่า Proxy
การตั้งค่า LAN Proxy ของ Windows อาจเป็นผู้กระทำผิด สามารถทำตามขั้นตอนเพื่อลบ Proxy settings ที่อาจถูกนำไปใช้กับ adaptor/driver:
- กดค้าง Windows key + R key เปิดโปรแกรม Run
- พิมพ์ "inetcpl.cpl" กด Enter เปิด Internet Properties
- ในหน้าต่าง Internet Properties ไปที่แท็บ "Connections" กด "LAN Settings"
- ติ๊กถูกให้ unchecked ทุกตัวเลือก แล้วกด OK
- Restart คอมพิวเตอร์ และเช็คว่าปัญหายังคงอยู่หรือไม่
สรุป
บางครั้ง Firewall อาจบล็อก Google Chrome ไม่ให้เข้าถึงเซิร์ฟเวอร์ อาจเป็น False Positive เพราะ Chrome เป็นเบราว์เซอร์ที่น่าเชื่อถือ ในกรณีนี้ สามารถทำตามบทช่วยสอน (ที่นี่) วิธี whitelist Google Chrome จาก Firewall ของคุณ
คำถามที่พบบ่อย
ทำไมถึงได้ DNS_PROBE_FINISHED_NXDOMAIN? เบราว์เซอร์ไม่สามารถ resolve เว็บไซต์/โดเมนที่พยายามเข้าถึงได้ อาจเป็นปัญหา DNS ที่ config ผิดที่ระดับเซิร์ฟเวอร์ หรือ DNS Resolvers ของคุณ down