Windows 8.1 系統中 Hosts 檔案修改後不生效、ping 仍解析真實 IP、ipconfig /flushdns 無效、甚至停用 DNS Client 服務也無效。經深度追蹤發現,核心原因在於 **DNS Client 服務(Dnscache)執行帳戶異常**,導致無法讀取 Hosts 檔案。
C:\Windows\System32\drivers\etc\hosts),內容正確,權限給予 SYSTEM、Administrators、目前使用者「完全控制」。ipconfig /flushdns 清除快取後 ping 仍回傳真實公網 IP。svchost.exe(載入 DNS Client 服務)嘗試讀取 Hosts 檔案,結果為 Access Denied;同環境下 Windows XP 為 Success。svchost.exe PID,確認載入服務為 **DNS Client (Dnscache)**。C:\Windows\System32\drivers\etc 資料夾 → 「內容」→「安全性」→「編輯」→「新增」。Network Service → 「檢查名稱」→ 確定。修改 Hosts 後 ping 立即回傳指定 IP,問題徹底解決。
HKLM\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters\UseHostsFile 可強制 DNS Client 不讀取 Hosts(值為 0),但預設不存在此值,非本案原因。