怎樣在Ubuntu 中設(shè)置DNS地址?(18.04和18.04以后的版本)

注:本文內(nèi)容參考了一篇英文版的帖子,本人整理出了這篇精簡過的ubuntu修改DNS地址的方法。如果,您同樣也被DNS的問題困擾,您可以把本文作為一個參考.

本文的主要內(nèi)容:
├── 怎樣在\color{#BF4000}{Ubuntu 18.04} 中設(shè)置DNS地址?
├──A)在\color{#BF4000}{Ubuntu18.04 Server}上(服務(wù)器版)設(shè)置DNS的方法:
│ ├── 查看當(dāng)前的DNS地址
├──B)在\color{#BF4000}{Ubuntu18.04 Desktop}上(桌面版)設(shè)置DNS的方法:
└──C)讓\color{#004080}{Unbound}來自動幫助您配置最佳DNS地址的方法:


怎樣在\color{#BF4000}{Ubuntu 18.04} 中設(shè)置DNS地址?


這里的主要內(nèi)容,參考了一篇英文帖子。................想要查看一下英文原帖(請點擊這里).

原文的圖片

原帖介紹了如何在服務(wù)器版Ubuntu 18.04或桌面版buntu 18.04上面設(shè)置DNS的方法。

這里稍作改動,內(nèi)容如下:

如果,您是一名Ubuntu系統(tǒng)的用戶,了解一下,在Ubuntu中,如何設(shè)置DNS地址,是一件很重要的情,因為它切實地關(guān)系著我們的網(wǎng)速。
想要在Ubuntu18.04上面設(shè)置DNS地址,具體也要看您是使用哪種版本Ubuntu。不同版本的系統(tǒng),設(shè)置的方法也不相同。B)在\color{#BF4000}{Ubuntu18.04 Desktop}上(桌面版)設(shè)置DNS的方法:
如果您在使用是服務(wù)器版的Ubuntu18.04,就需要將DNS地址添加到對應(yīng)網(wǎng)卡DNS的配的文件里面;桌面版的Ubuntu18.04用戶,只需要使用NetworkManager圖形配置工具,就可以直接進行DNS地址的設(shè)置了。


A)在\color{#BF4000}{Ubuntu18.04 Server}上(服務(wù)器版)設(shè)置DNS的方法:


步驟一,找到您主機的網(wǎng)卡DNS的配置文件

我們需要將DNS地址添加到對應(yīng)某個網(wǎng)卡的DNS的配置文件中。這個文件在 /etc/netplan目錄中,具體是哪個文件,我們就要先來查看一下。
查看方法是,在終端輸入:

sudo ls -l /etc/netplan/

也可以不加sudo 。
下圖是原帖的輸出結(jié)果:


原帖的輸出結(jié)果

原帖作者的這個輸出結(jié)果,說明在他的主機內(nèi),對應(yīng)網(wǎng)卡的配置文件就是: 50-cloud-init.yaml 或者是01-netcfg.yaml
需要注意的是,每個人的系統(tǒng)情況不同,這個網(wǎng)卡的DNS配置文件的名字也不同,比如,\color{#BF4000}{ubuntu}中文論壇的老版主讓\color{#004080}{onlylove}新裝的虛擬機里,查到的是 01-network-manager-all.yaml,那么,他的網(wǎng)卡的配置文件就是: 01-network-manager-all.yaml。而您的的網(wǎng)卡的配置文件,可能和他們還不一樣,或者,您的是01-netcfg.yaml
而本人的主機里面,根本就沒有這個文件。下圖是本人在主機里面查找這個文件的結(jié)果:

本人主機查看的結(jié)果

我們找到了自己系統(tǒng)內(nèi)網(wǎng)卡的DNS配置文件,還需要查看一下自己的網(wǎng)卡。

步驟二,找到您的主機網(wǎng)卡
查看網(wǎng)卡方法是,在終端輸入:

ifconfig

下圖是本人的網(wǎng)卡情況:


本人的網(wǎng)卡情況

注意,每個人的系統(tǒng)主機不同,網(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 這段,要填入您剛剛查到的、您自己主機內(nèi)的網(wǎng)卡DNS配置文件的名字,如,\color{#BF4000}{ubuntu}中文論壇的老版主\color{#004080}{onlylove}的網(wǎng)卡配置文件是: 01-network-manager-all.yaml,他就要在終端內(nèi)輸入如下命令:

sudo gedit /etc/netplan/01-network-manager-all.yaml 

修改的內(nèi)容的具體位置,如下圖:


修改的DNS

這是英文原帖作者的網(wǎng)卡DNS的配置文件,本人主機里沒有這個文件,原作者在他自己的網(wǎng)卡的配置文件中,填加了如下的內(nèi)容:

nameservers:
    addresses: [8.8.8.8, 8.8.4.4]

他是用了谷歌的DNS服務(wù)器地址,您可以根據(jù)您自己的實際情況填加,比如:

首選: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

\color{red}{注意:}在18.04之前的ubuntu版本之中,網(wǎng)卡的DNS配置文件,是在/etc/network/interfaces之中。

查看當(dāng)前的DNS地址

要檢查您當(dāng)前使用的DNS,如果,您是使用的是靜態(tài)IP地址,可以檢查Netplan配置文件。
如果,您沒有固定IP地址,可以在終端運行systemd resolve命令來查看:

systemd-resolve --status

下圖是英文原作者的查看結(jié)果:

原作者的查看結(jié)果

B)在\color{#BF4000}{Ubuntu18.04 Desktop}上(桌面版)設(shè)置DNS的方法:


桌面版的Ubuntu18.04 含有NetworkManager應(yīng)用,桌面版的Ubuntu18.04 要設(shè)置DNS地址,可以通過圖形用戶界面進行編輯。
只需要您用鼠標(biāo)點擊頂欄的左上角,并打開,就可以直接設(shè)置DNS地址了。
如下圖:


頂欄的左上角

您點擊一下“IPV4”選項卡(或“IPv6”)在“DNS”字段下添加上您要加入的DNS的IP地址
如果不想從DHCP服務(wù)器自動獲取DNS配置,請去掉 Automatic (DHCP)前面的點。

Automatic

更改完成之后,您需要重新啟動一下您的網(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)容,來自來\color{#BF4000}{ubuntu}中文論壇的老版主\color{#004080}{onlylove}推薦的一篇英文帖子。

對于那些在 /etc/netplan目錄中,沒有網(wǎng)卡配置文件xxx.yaml的用戶。以及,已經(jīng)禁用了NetworkManager 的用戶,可以考慮下面的方法。(這個方法,也絕不單單是這兩種用戶才可以使用。)

Unbound

C)讓\color{#004080}{Unbound}來自動幫助您配置最佳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主頁(點這里).這個是外網(wǎng)的鏈接,較卡,并且沒有DED包,推薦您,
從國內(nèi)的阿里源內(nèi)直接下載unbound的DED安裝包:
點這里從阿里源內(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,如圖:


111.png

然后,保存。這時候,重啟您的電腦。如果,您以后還想要自行手動設(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è)置的DNS。
比如,本人的DNS就是unbound自動獲取的本地局域網(wǎng)DNS。
本人的resolv.conf內(nèi)容,如下:

    Generated by NetworkManager
    nameserver 192.168.18.1

這是一個不規(guī)范的DNS局域網(wǎng)服務(wù)器地址,但,這個就是unbound給本人的主機找出,并設(shè)置為默認的最適合本人這里網(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)。

\color{red}{注意:} 在18.04之前的ubuntu版本或其它的ubuntu衍生版,如linux-lite之中,網(wǎng)卡的DNS配置文件,是在/etc/network/interfaces之中。

、、

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容