安裝好Ubuntu之后設置了靜態IP地址,再重啟后就無法解析域名。想重新設置一下DNS,打開/etc/resolv.conf
cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
內容是一段警告:說這個文件是resolvconf程序動態創建的,不要直接手動編輯,修改將被覆蓋。
果不其然,修改后重啟就失效了,搜索了Ubuntu下設置DNS的相關資料,總結出兩個辦法:
方法一 通過/etc/network/interfaces,在它的最后增加一句:
dns-nameservers 8.8.8.8
8.8.8.8是Google提供的DNS服務,這里只是舉一個例子,你也可以改成電信運營商的DNS。重啟后DNS就生效了,這時候再看/etc/resolv.conf,最下面就多了一行:
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 8.8.8.8
方法二 通過修改:
/etc/resolvconf/resolv.conf.d/base(這個文件默認是空的)
在里面插入:
nameserver 8.8.8.8
nameserver 8.8.4.4
如果有多個DNS就一行一個
修改好保存,然后執行
resolvconf -u
再看/etc/resolv.conf,最下面就多了2行:
cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 8.8.8.8
nameserver 8.8.4.4
可以看到我們的設置已經加上了,然后再ping一個域名,當時就可以解析了,無需重啟。
附:CentOS下修改DNS則容易的多了,直接修改/etc/resolv.conf,內容是:
nameserver 8.8.8.8
nameserver 8.8.4.4
保存就生效了,重啟也沒問題。
國內常用公共DNS服務器、各省運營商DNS服務器匯總
14 DNS(http://www.114dns.com/),這應該是用戶數量數一數二的公共DNS了,檔主自己也在使用,推薦。 114.114.114.114 114.114.115.115 阿里 AliDNS(http://www.alidns.com/),來自阿里巴巴和馬雲旗下的公共DNS,還沒有體驗過,有興趣可以試試。 223.5.5.5 223.6.6.6 CNNIC SDNS(http://www.sdns.cn/),來自天朝官方CNNIC的公共DNS,沒使用過也沒敢用…… 1.2.4.8 210.2.4.8 oneDNS(http://www.onedns.net/),2013年才新推出的一個公共DNS服務器,官網介紹由惡意網站實驗室創立,沒用過。 112.124.47.27 114.215.126.16 Google DNS(https://developers.google.com/speed/public-dns/),曾經最火最熱的一款公共DNS服務器,但是隨着Google在中國的沒落和國內官方的限制,已經不是太好用了。 8.8.8.8 8.8.4.4 OpenDNS(https://www.opendns.com/),和Google DNS 一樣,來自於國外服務商提供的公共DNS,據說同樣在國內水土不服。 208.67.222.222 208.67.220.220