注:本文內(nèi)容參考了一篇英文版的帖子,本人整理出了這篇精簡過的ubuntu修改DNS地址的方法镰绎。如果脓斩,您同樣也被DNS的問題困擾,您可以把本文作為一個參考.
本文的主要內(nèi)容:
├── 怎樣在中設(shè)置DNS地址畴栖?
├──A)在上(服務(wù)器版)設(shè)置DNS的方法:
│ ├── 查看當(dāng)前的DNS地址
├──B)在上(桌面版)設(shè)置DNS的方法:
└──C)讓來自動幫助您配置最佳DNS地址的方法:
怎樣在
中設(shè)置DNS地址随静?
這里的主要內(nèi)容,參考了一篇英文帖子吗讶。................想要查看一下英文原帖(請點(diǎn)擊這里).
原帖介紹了如何在服務(wù)器版Ubuntu 18.04或桌面版buntu 18.04上面設(shè)置DNS的方法燎猛。
這里稍作改動,內(nèi)容如下:
如果照皆,您是一名Ubuntu系統(tǒng)的用戶重绷,了解一下,在Ubuntu中膜毁,如何設(shè)置DNS地址昭卓,是一件很重要的情愤钾,因?yàn)樗袑?shí)地關(guān)系著我們的網(wǎng)速。
想要在Ubuntu18.04上面設(shè)置DNS地址候醒,具體也要看您是使用哪種版本Ubuntu绰垂。不同版本的系統(tǒng),設(shè)置的方法也不相同火焰。B)在上(桌面版)設(shè)置DNS的方法:
如果您在使用是服務(wù)器版的Ubuntu18.04劲装,就需要將DNS地址添加到對應(yīng)網(wǎng)卡DNS的配的文件里面;桌面版的Ubuntu18.04用戶昌简,只需要使用NetworkManager圖形配置工具占业,就可以直接進(jìn)行DNS地址的設(shè)置了。
A)在
上(服務(wù)器版)設(shè)置DNS的方法:
步驟一纯赎,找到您主機(jī)的網(wǎng)卡DNS的配置文件
我們需要將DNS地址添加到對應(yīng)某個網(wǎng)卡的DNS的配置文件中谦疾。這個文件在 /etc/netplan目錄中,具體是哪個文件犬金,我們就要先來查看一下念恍。
查看方法是,在終端輸入:
sudo ls -l /etc/netplan/
也可以不加sudo 晚顷。
下圖是原帖的輸出結(jié)果:
原帖作者的這個輸出結(jié)果峰伙,說明在他的主機(jī)內(nèi),對應(yīng)網(wǎng)卡的配置文件就是: 50-cloud-init.yaml 或者是01-netcfg.yaml
需要注意的是该默,每個人的系統(tǒng)情況不同瞳氓,這個網(wǎng)卡的DNS配置文件的名字也不同,比如栓袖,中文論壇的老版主讓
新裝的虛擬機(jī)里匣摘,查到的是 01-network-manager-all.yaml,那么裹刮,他的網(wǎng)卡的配置文件就是: 01-network-manager-all.yaml音榜。而您的的網(wǎng)卡的配置文件,可能和他們還不一樣捧弃,或者赠叼,您的是01-netcfg.yaml
而本人的主機(jī)里面,根本就沒有這個文件塔橡。下圖是本人在主機(jī)里面查找這個文件的結(jié)果:
我們找到了自己系統(tǒng)內(nèi)網(wǎng)卡的DNS配置文件梅割,還需要查看一下自己的網(wǎng)卡霜第。
步驟二葛家,找到您的主機(jī)網(wǎng)卡
查看網(wǎng)卡方法是,在終端輸入:
ifconfig
下圖是本人的網(wǎng)卡情況:
注意泌类,每個人的系統(tǒng)主機(jī)不同癞谒,網(wǎng)卡的名字也不同底燎,像是原帖的作者,他的有線網(wǎng)卡名字是:enp0s3 ,本人的確是 enp0s25弹砚。
找到了網(wǎng)卡DNS的配置文件双仍,知道了網(wǎng)卡名,我們就來修改網(wǎng)卡DNS的配置文件吧桌吃!
步驟三朱沃,修改網(wǎng)卡DNS的配置文件
在終端輸入:
sudo gedit /etc/netplan/50-cloud-init.yaml
注意:這個命令里面,打開是原作者查到的 50-cloud-init.yaml 茅诱。
50-cloud-init.yaml 這段逗物,要填入您剛剛查到的、您自己主機(jī)內(nèi)的網(wǎng)卡DNS配置文件的名字瑟俭,如翎卓,中文論壇的老版主
的網(wǎng)卡配置文件是: 01-network-manager-all.yaml,他就要在終端內(nèi)輸入如下命令:
sudo gedit /etc/netplan/01-network-manager-all.yaml
修改的內(nèi)容的具體位置摆寄,如下圖:
這是英文原帖作者的網(wǎng)卡DNS的配置文件失暴,本人主機(jī)里沒有這個文件,原作者在他自己的網(wǎng)卡的配置文件中微饥,填加了如下的內(nèi)容:
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
他是用了谷歌的DNS服務(wù)器地址逗扒,您可以根據(jù)您自己的實(shí)際情況填加,比如:
首選:114.114.114.114 備選:114.114.114.115
個人建議欠橘,最好是找出離您家最近的DNS地址來添加缴阎。比如,您住在深圳简软,您就可以直接設(shè)置成深圳的DNS地址蛮拔。
深圳市(中國電信)首選DNS:202.96.128.166 備份DNS:202.96.134.133
關(guān)于各地區(qū)的公共DNS服務(wù)器地址,您到網(wǎng)上搜一搜痹升,基本上都可以在網(wǎng)上查到建炫。
另外, 在addresses: [8.8.8.8, 8.8.4.4]這段內(nèi)容里面疼蛾,可以添加多個DNS地址肛跌,要注意的是,需要在每個DNS之間察郁,要加一個逗號來分隔衍慎。
修改完網(wǎng)卡配置文件之后,請您保存一下皮钠。接著稳捆,需要:
步驟四,使用netplan apply命令重新加載配置
在終端輸入:
sudo netplan apply
在18.04之前的ubuntu版本之中麦轰,網(wǎng)卡的DNS配置文件乔夯,是在/etc/network/interfaces之中砖织。
查看當(dāng)前的DNS地址
要檢查您當(dāng)前使用的DNS,如果末荐,您是使用的是靜態(tài)IP地址侧纯,可以檢查Netplan配置文件。
如果甲脏,您沒有固定IP地址,可以在終端運(yùn)行systemd resolve命令來查看:
systemd-resolve --status
下圖是英文原作者的查看結(jié)果:
B)在
上(桌面版)設(shè)置DNS的方法:
桌面版的Ubuntu18.04 含有NetworkManager應(yīng)用眶熬,桌面版的Ubuntu18.04 要設(shè)置DNS地址,可以通過圖形用戶界面進(jìn)行編輯块请。
只需要您用鼠標(biāo)點(diǎn)擊頂欄的左上角聋涨,并打開,就可以直接設(shè)置DNS地址了负乡。
如下圖:
您點(diǎn)擊一下“IPV4”選項(xiàng)卡(或“IPv6”)在“DNS”字段下添加上您要加入的DNS的IP地址
如果不想從DHCP服務(wù)器自動獲取DNS配置牍白,請去掉 Automatic (DHCP)前面的點(diǎn)。
更改完成之后抖棘,您需要重新啟動一下您的網(wǎng)絡(luò)茂腥,以便應(yīng)用新的DNS設(shè)置。
在16.04(包含Ubuntu16.04)以前的ubuntu版本上切省,用于配置DNS地址的是/etc/resolv.conf文件最岗。在Ubuntu 18.04里,這個/resolv.conf文件仍然存在朝捆,但它已經(jīng)不再是你配置DNS地址的地方了般渡。
以上內(nèi)容,來自來中文論壇的老版主
推薦的一篇英文帖子芙盘。
對于那些在 /etc/netplan目錄中驯用,沒有網(wǎng)卡配置文件xxx.yaml的用戶。以及儒老,已經(jīng)禁用了NetworkManager 的用戶蝴乔,可以考慮下面的方法。(這個方法驮樊,也絕不單單是這兩種用戶才可以使用薇正。)
Unbound
C)讓
來自動幫助您配置最佳DNS地址的方法:
用Unbound這款應(yīng)用來替換掉systemd-resolvd,讓Unbound來接替NetworkManage幫您自動配置出最佳的DNS地址囚衔,順便徹底脫離127.0.0.53挖腰。
Unbound是一個緩存DNS解析器,unbound是Red Hat(紅帽)公司推薦的DNS軟件........
具體步驟如下:
步驟一练湿, 下載unbound_1.6.7-1ubuntu2.3_amd64.deb
Unbound主頁(點(diǎn)這里).這個是外網(wǎng)的鏈接猴仑,較卡,并且沒有DED包鞠鲜,推薦您宁脊,
從國內(nèi)的阿里源內(nèi)直接下載unbound的DED安裝包:
點(diǎn)這里從阿里源內(nèi)直接下載
或者:復(fù)制鏈接:http://mirrors.aliyun.com/ubuntu/pool/universe/u/unbound/unbound_1.6.7-1ubuntu2.3_amd64.deb
步驟二断国,停止systemd-resolvd
sudo systemctl stop systemd-resolved
sudo systemctl disable systemd-resolved
步驟三贤姆,安裝unbound
sudo dpkg -i unbound_1.6.7-1ubuntu2.3_amd64.deb
步驟四榆苞,清空(rm -r) fresolv.conf的內(nèi)容:
sudo rm -rf /etc/resolv.conf
步驟五,將dns服務(wù)替換為unbound:
sudo gedit /etc/NetworkManager/NetworkManager.conf
在[main]
下面添加
dns=unbound霞捡,如圖:
然后坐漏,保存。這時候碧信,重啟您的電腦赊琳。如果,您以后還想要自行手動設(shè)定DNS地址砰碴,要先把這里改回去躏筏,手動設(shè)定DNS地址的方法,參考本文目錄A)的內(nèi)容呈枉。
此時趁尼,您系統(tǒng)內(nèi)的/etc/resolv.conf文件里面,已經(jīng)不再會是nameserver 127.0.0.53猖辫,也不是nameserver 8.8.8.8 酥泞,更不是nameserver 114.114.114.114 。
那么啃憎,將dns服務(wù)替換為unbound之后芝囤,/etc/resolv.conf里的內(nèi)容,究竟是什么辛萍?
您可以打開終端悯姊,輸入如下命令查看:
cat /etc/resolv.conf
(cat 的后面有一個空格)
您會發(fā)現(xiàn),此時的resolv.conf里面贩毕,已經(jīng)unbound根據(jù)您的網(wǎng)絡(luò)實(shí)際情況挠轴,自動設(shè)置的DNS。
比如耳幢,本人的DNS就是unbound自動獲取的本地局域網(wǎng)DNS岸晦。
本人的resolv.conf內(nèi)容,如下:
Generated by NetworkManager
nameserver 192.168.18.1
這是一個不規(guī)范的DNS局域網(wǎng)服務(wù)器地址睛藻,但启上,這個就是unbound給本人的主機(jī)找出,并設(shè)置為默認(rèn)的最適合本人這里網(wǎng)絡(luò)條件的DNS地址店印。
另外冈在,當(dāng)您以后禁用Unbound時,系統(tǒng)還是會給您自動加上一個回環(huán)地址按摘,這次不再是127.0.0.53 包券,而是另一個 127.0.0.1纫谅,這樣也算是干掉了127.0.0.53吧!
ubuntu自帶的NetworkManager 也好溅固,Unbound也好付秕,他們都會為您的系統(tǒng)自動配置DNS,只不過是當(dāng)您禁用了它們以后侍郭,各自重新為您的系統(tǒng)留下一個DNS回環(huán)地址询吴。
如果,您不能正確手動固定您的IP地址亮元,不能正確設(shè)置您的DNS猛计,就不要輕易地去禁用NetworkManage或Unbound。
在您禁用了NetworkManage或Unbound以后爆捞,它們在您的系統(tǒng)里面遺留下來的127.0.0.53或者是127.0.0.1這樣的回環(huán)DNS奉瘤。恰恰是您上網(wǎng)慢的一個主要原因。
正確設(shè)置DNS煮甥,或固定IP的方法盗温,參看本文上面內(nèi)容A)。
在18.04之前的ubuntu版本或其它的ubuntu衍生版苛秕,如linux-lite之中肌访,網(wǎng)卡的DNS配置文件,是在/etc/network/interfaces之中艇劫。
吼驶、、