最近學習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服務器網址: