CentOS 6.7 直接在 /etc/resolv.conf 文件下修改 DNS 地址重啟不生效問題解決
在使用 CentOS 6.7 的過程中,許多用戶可能會遇到一個常見的問題:在 /etc/resolv.conf 文件中直接修改 DNS 地址後,重啟系統卻發現更改並未生效。這個問題通常與系統的網絡管理工具有關,特別是在使用 NetworkManager 的情況下。本文將探討這一問題的原因及解決方案。
問題原因
在 CentOS 6.7 中,/etc/resolv.conf 文件是用來配置 DNS 解析的。當用戶手動編輯此文件以更改 DNS 伺服器地址時,這些更改可能會在系統重啟後被覆蓋。這是因為 NetworkManager 會在啟動時自動生成 /etc/resolv.conf 文件,並根據其配置文件中的設置來填充 DNS 伺服器地址。
解決方案
要解決這一問題,您可以採取以下幾個步驟:
1. 禁用 NetworkManager
如果您不需要使用 NetworkManager,可以選擇禁用它。這樣,系統將不會自動覆蓋 /etc/resolv.conf 文件。您可以使用以下命令禁用 NetworkManager:
sudo service NetworkManager stop
sudo chkconfig NetworkManager off禁用後,您可以手動編輯 /etc/resolv.conf 文件,並添加所需的 DNS 伺服器地址。
2. 修改 NetworkManager 配置
如果您希望繼續使用 NetworkManager,則需要修改其配置以防止其覆蓋 /etc/resolv.conf 文件。您可以通過編輯 /etc/NetworkManager/NetworkManager.conf 文件來實現:
sudo vi /etc/NetworkManager/NetworkManager.conf在文件中,找到以下行:
[main]
plugins=ifupdown,keyfile然後在 [main] 部分下添加以下行:
dns=none這樣配置後,NetworkManager 將不會自動管理 DNS 設置。完成後,重啟 NetworkManager 服務:
sudo service NetworkManager restart3. 手動編輯 /etc/resolv.conf
在禁用 NetworkManager 或修改其配置後,您可以手動編輯 /etc/resolv.conf 文件,添加所需的 DNS 伺服器地址。例如:
nameserver 8.8.8.8
nameserver 8.8.4.4這裡使用的是 Google 的公共 DNS 伺服器地址。您可以根據需要替換為其他 DNS 伺服器。
檢查 DNS 設置
完成上述步驟後,您可以使用以下命令檢查 DNS 設置是否生效:
cat /etc/resolv.conf確保文件中顯示的是您所設置的 DNS 伺服器地址。您還可以使用以下命令測試 DNS 解析是否正常:
nslookup www.example.com總結
在 CentOS 6.7 中,直接在 /etc/resolv.conf 文件下修改 DNS 地址後重啟不生效的問題,通常是由於 NetworkManager 的自動管理所導致的。通過禁用 NetworkManager 或修改其配置,您可以有效解決此問題,並確保您的 DNS 設置持久生效。對於需要穩定和可靠的 DNS 解析的用戶來說,這些步驟是非常重要的。
如果您正在尋找高效的 VPS 解決方案,Server.HK 提供多種選擇,滿足不同用戶的需求。無論是 香港VPS 還是其他服務,我們都能為您提供穩定的支持。