1. 程式人生 > >Ubuntu 下 /etc/resolv.conf檔案總是自動清除問題的解決方案

Ubuntu 下 /etc/resolv.conf檔案總是自動清除問題的解決方案

https://www.cnblogs.com/dongling/p/5591856.html

Ubuntu 下 /etc/resolv.conf檔案總是自動清除問題的解決方案

最近學習Linux,在虛擬機器中安裝的是Ubuntu作業系統,用了幾天發現Ubuntu無法上網,開啟命令終端,輸入命令:

ping www.baidu.com -c2

結果顯示名稱無法識別,而直接與宿主機之間使用 IP 地址進行互ping,則可以ping得通;在Ubuntu的瀏覽器中輸入www.baidu.com ,無法開啟百度網頁;但輸入百度的IP地址,則可以開啟百度,這說明是DNS服務出現了問題,網上找到解決方法,修改了/etd/resolv.conf檔案,但該檔案中有這麼一句話:

#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN  //不要手動編輯該檔案,你的改變會被重寫

果然,雖然在該檔案里加上了 nameserver  xxx.xxx.xxx.xxx ,一時可用了,但重新啟動後內容又清空了,又無法解析域名了。

再次上網搜解決方案,有的說要關閉NetworkManager服務,如該網頁所示:http://my.oschina.net/HIJAY/blog/223118

但個人感覺服務還是不要隨便關的好。後來搜到兩個解決方案,親測搜有效:

方案1:

(i) 建立 /etc/resolvconf/resolv.conf.d/tail檔案 (etc/resolvconf/resolv.conf.d 資料夾下已有了 head和base檔案)

(ii) 在該檔案中寫入自己需要的dns伺服器 (後面會補充Windows下檢視DNS伺服器的方法)

nameserver 202.118.176.2

(iii) 重啟 resolvconf程式

sudo /etc/init.d/resolvconf restart    (我試了一下在,沒有效果,又重啟的虛擬機器,有效了)

(iv) 檢視 /etc/resolv.conf檔案,可以看到裡面自動添加了 nameserver 202.118.176.2 , ping www.baidu.com 一可以通了

 

方案2:

修改 /etc/network/interfaces檔案:

複製程式碼

###interfaces中#######     
auto eth0     
iface eth0 inet static     
address 192.168.1.200     
netmask 255.255.255.0                  #子網掩碼     
gateway 192.168.1.1                      #閘道器
broadcast 192.168.1.255     
dns-nameservers 202.118.176.2    #設定dns伺服器  ---這一行是新新增的

複製程式碼

即新新增 dns-nameservers 202.118.176.2 那一行。

(注意,nameserver用複數形式:dns-nameservers。我第一次新增沒在意,用的是dns-nameserver,就行不通)

 

綜上,個人感覺第二個方案簡單,因為 /etc/network/interfaces檔案本身就是存在的。

 

——————————————————————————————————————————————

********************************分割線***********************************

********************用Windows宿主機檢視DNS伺服器的IP************************

1.開啟網路與共享中心:

 

2.點選當前正在使用的網路:

 

3.點選“詳細資訊”:

 

4.即可看到DNS伺服器網址: