回覆列表
-
1 # 運維蟲子
-
2 # 網路圈
對於伺服器而言,雖然它是用來對外提供服務的,但是伺服器也有對第三方資源發出請求的場景的。比如,部署在伺服器上的程式需要呼叫第三方的API(基於HTTP協議的Web API或者RESTful風格的API),這時伺服器上的DNS設定就很重要了。如果伺服器上的DNS設定不當可能會導致當前伺服器無法正常解析域名。
Linux上的DNS配置檔案resolv.confLinux中有一個重要的配置檔案(resolv.conf),它是用來設定DNS伺服器IP地址及域名的。
雖說此檔案是用來配置DNS伺服器地址的,但我們不能直接修改此檔案。因為直接修改此檔案後,一旦伺服器重啟後此檔案又會被重置為修改前的。
如何解決伺服器重啟後resolv.conf被重置的問題?如果我們希望修改DNS服務地址後就久生效,那就需要按下面的步聚來操作。
1、修改網絡卡配置
# ll /etc/sysconfig/network-scripts# vi /etc/sysconfig/network-scripts/ifcfg-eth0我們先執行上面的第一條Linux命令,看看當前的網絡卡配置檔案(預設是ifcfg-eth0,但不同伺服器上的網絡卡配置檔名可能不同)。
檢視網絡卡配置檔案裡的內容,需要增加一個配置: PEERDNS=no,如下圖示:
PEERDNS=no這個配置項設定後,即使伺服器重啟了,resolv.conf檔案也不會被恢復成修改前的。
2、修改resolv.conf配置檔案
# vi /etc/resolv.conf
修改nameserver 配置即可。
3、重啟網絡卡
## CentOS 6.x 重啟網絡卡# service network restart## CentOS 7.x 重啟網絡卡
# systemctl restart network
首先說一下resolv.conf這個檔案,該檔案位於/etc下面,主要作用為存放DNS的解析地址。一般情況下直接編輯這個檔案儲存以後是不會出現題主那樣出現重啟重置的問題。
這個問題我再centos6系列的見到過一次,當時是因為Network Manager這個被修改了。你也可以看看是不是這個問題?
可以按照下面的方法進行一個簡單的處理:
停止Network Manager服務
service NetworkManager stop
重啟網路服務
/etc/init.d/network restart
徹底廢掉Network Manager
chkconfig NetworkManager off
在網絡卡配置檔案下面修改這個選項 改為no,NM_CONTROLLED="no",這個選項的作用為是否允許Network Manager管理。
經過上面的操作以後,重啟以後看看會不會繼續出現重啟resolv.conf被重置的問題?