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服務器網址:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM