我們知道,TCP/IP提供了通過(guò)IP地址來(lái)連接到設(shè)備的功能。
但對(duì)用戶來(lái)講,記住某臺(tái)設(shè)備的IP地址是相當(dāng)困難的,因此,有人專門(mén)設(shè)計(jì)了一種字符串形式的主機(jī)命名機(jī)制,這些主機(jī)名與IP地址相對(duì)應(yīng)。
在IP地址與主機(jī)名之間需要有一種轉(zhuǎn)換和查詢機(jī)制,提供這種機(jī)制的系統(tǒng)就是域名系統(tǒng)DNS(Domain Name System)。
編輯切換為居中
添加圖片注釋,不超過(guò) 140 字(可選)
可能還有小白對(duì)DNS的概念有那么一點(diǎn)不清晰,老楊今天這篇文章就從DNS是啥、DNS配置、好用DNS服務(wù)器推薦這仨方面入手,都說(shuō)道說(shuō)道。
一句話解釋DNS功能:
DNS就相當(dāng)于電話簿, 電話簿可以根據(jù)人名查找對(duì)應(yīng)的電話號(hào)碼,而DNS可以根據(jù)域名查找對(duì)應(yīng)的IP地址。
有小白可能會(huì)問(wèn):為啥非要整個(gè)IP地址,就域名不行嗎?這就要從互聯(lián)網(wǎng)通信協(xié)議相關(guān)知識(shí)講起。
簡(jiǎn)單的講,IP地址是每一個(gè)計(jì)算機(jī)的唯一標(biāo)識(shí), 就像每個(gè)人的身份證號(hào)一樣是獨(dú)一無(wú)二的, 只有通過(guò)IP地址才來(lái)唯一確定一臺(tái)計(jì)算機(jī)。
但是由于IP地址一連串的數(shù)字, 記憶麻煩,因此就產(chǎn)生了域名, 域名相當(dāng)于IP地址的昵稱,但它和IP地址是一對(duì)多的關(guān)系,即一個(gè)域名可能對(duì)應(yīng)多個(gè)IP地址, 用戶訪問(wèn)時(shí),只會(huì)被導(dǎo)向其中一個(gè)。
編輯切換為居中
添加圖片注釋,不超過(guò) 140 字(可選)
所以,通過(guò)DNS查詢IP地址是必要的。那DNS到底是怎么工作的?
簡(jiǎn)單舉個(gè)例子來(lái)說(shuō)明DNS的工作流程,就用www.baidu.com為例吧:
com被稱為”頂級(jí)域名“(top-level domain);
baidu和被稱為”次級(jí)域名“(second-level domain);
www被稱為主機(jī)名, 也叫做“三級(jí)域名”。
常見(jiàn)的域名往往只顯示了三個(gè)層級(jí), 比如上面所說(shuō)的www.baidu.com。這是因?yàn)樗杏蛎淖詈笠粋€(gè)根域名都是一樣的都是.root, 所以平時(shí)都省略了。
實(shí)際上應(yīng)該是:www.baidu.com.root
因此,域名實(shí)際上是一個(gè)擁有四個(gè)層級(jí)的層級(jí)結(jié)構(gòu),即:
主機(jī)名.次級(jí)域名.頂級(jí)域名.根域名,也就是host.sld.tld.root
DNS解析域名時(shí)就是按照層級(jí)結(jié)構(gòu), 從根域名開(kāi)始逐級(jí)向下分級(jí)查詢,比如咱們來(lái)查查www.baidu.com。
首先訪問(wèn)根域名服務(wù)器, 查詢.com(頂級(jí)域名)由哪一個(gè)頂級(jí)域名服務(wù)器維護(hù);
根據(jù)返回結(jié)果, 訪問(wèn)頂級(jí)域名服務(wù)器, 查詢.baidu(次級(jí)域名)由哪一個(gè)次級(jí)域名服務(wù)器維護(hù);
根據(jù)返回結(jié)果, 訪問(wèn)次級(jí)域名服務(wù)器, 查詢www(主機(jī)名)的IP地址;
上述的查詢流程是由本地的DNS服務(wù)器完成, 而并非本地主機(jī)。
編輯切換為居中
添加圖片注釋,不超過(guò) 140 字(可選)
本地主機(jī)通過(guò)瀏覽器訪問(wèn)一個(gè)域名時(shí):
首先會(huì)查詢本地主機(jī)的/etc/hosts文件, 查看是否進(jìn)行了域名和IP映射自定義設(shè)置 (比如在/etc/hosts文件中將www.baidu.com映射成了127.0.0.1, 那么瀏覽器訪問(wèn)www.baidu.com時(shí)訪問(wèn)的將是本地主機(jī))
如果沒(méi)有相應(yīng)的自定義設(shè)置, 則會(huì)訪問(wèn)本地DNS服務(wù)器。
本地DNS服務(wù)器的IP地址可查看/etc/resolv.conf文件
本地DNS服務(wù)器會(huì)先查看本地緩存, 是否有對(duì)應(yīng)域名和IP的映射,如果有則直接返回給本地主機(jī),如果沒(méi)有則進(jìn)行上述查詢流程。
光說(shuō)不練假把式,咱們來(lái)手把手操作試試,最好是轉(zhuǎn)發(fā)到你的朋友圈收藏一波,方便之后有空時(shí)隨時(shí)打開(kāi)操作。
編輯
添加圖片注釋,不超過(guò) 140 字(可選)
由于IP地址難于記憶,用戶希望通過(guò)DNS域名請(qǐng)求方式訪問(wèn)網(wǎng)絡(luò)服務(wù)器。用戶希望輸入域名部分字段,DNS服務(wù)器就可以正確解析,達(dá)到用戶訪問(wèn)正確網(wǎng)絡(luò)服務(wù)的效果。
例如DNS客戶端在訪問(wèn)該服務(wù)器huawei.com時(shí),用戶只需要輸入“huawei”即可。對(duì)于一些常用的域名,用戶希望能夠快速訪問(wèn),提高域名解析的效率。
DNS的配置思路如下:
(1)在RouterA上配置靜態(tài)DNS表項(xiàng),實(shí)現(xiàn)與服務(wù)器B和服務(wù)器C進(jìn)行通信的功能。
(2)在RouterA上配置動(dòng)態(tài)DNS功能,實(shí)現(xiàn)RouterA以動(dòng)態(tài)DNS查詢方式與網(wǎng)絡(luò)服務(wù)器進(jìn)行通信的功能。
(3)在RouterA配置域名后綴,實(shí)現(xiàn)RouterA可以實(shí)現(xiàn)域名后綴列表功能。
(4)配置Router上的OSPF路由,實(shí)現(xiàn)Router的路由可達(dá)。
(1)配置設(shè)備RouterA
# 配置GE1/0/0接口的IP地址。
<Huawei> system-view
[Huawei] sysname RouterA
[RouterA] interface gigabitethernet 1/0/0
[RouterA-GigabitEthernet1/0/0] ip address 10.1.1.2 255.255.0.0
[RouterA-GigabitEthernet1/0/0] quit
# 配置OSPF。
[RouterA] ospf
[RouterA-ospf-1] area 0
[RouterA-ospf-1-area-0.0.0.0] network 10.1.0.0 0.0.255.255
[RouterA-ospf-1-area-0.0.0.0] quit
[RouterA-ospf-1] quit
# 配置靜態(tài)DNS表項(xiàng)。
[RouterA] ip host serverB 10.4.1.1
[RouterA] ip host serverC 10.4.1.2
# 使能DNS域名解析功能。
[RouterA] dns resolve
# 配置DNS服務(wù)器的IP地址。
[RouterA] dns server 10.3.1.2
# 配置域名后綴net。
[RouterA] dns domain net
# 配置域名后綴com。
[RouterA] dns domain com
[RouterA] quit
說(shuō)明:
若要完成對(duì)域名的解析,還需要在RouterB和RouterC上配置ospf,以保證設(shè)備之間路由可達(dá)。
(2)驗(yàn)證配置結(jié)果
# 在設(shè)備RouterA上執(zhí)行ping serverB命令,可以ping通,且對(duì)應(yīng)的目的地址為10.4.1.1。
<RouterA> ping serverB
PING serverB (10.4.1.1): 56 data bytes, press CTRL_C to break
Reply from 10.4.1.1: bytes=56 Sequence=1 ttl=126 time=4 ms
Reply from 10.4.1.1: bytes=56 Sequence=2 ttl=126 time=1 ms
Reply from 10.4.1.1: bytes=56 Sequence=3 ttl=126 time=1 ms
Reply from 10.4.1.1: bytes=56 Sequence=4 ttl=126 time=1 ms
Reply from 10.4.1.1: bytes=56 Sequence=5 ttl=126 time=1 ms
# 在設(shè)備RouterA上執(zhí)行ping huawei.com命令,可以ping通,且對(duì)應(yīng)的目的地址為10.2.1.3。
<RouterA> ping huawei.com
Trying DNS server (10.3.1.2)
PING huawei.com (10.2.1.3): 56 data bytes, press CTRL_C to break
Reply from 10.2.1.3: bytes=56 Sequence=1 ttl=126 time=6 ms
Reply from 10.2.1.3: bytes=56 Sequence=2 ttl=126 time=4 ms
Reply from 10.2.1.3: bytes=56 Sequence=3 ttl=126 time=4 ms
Reply from 10.2.1.3: bytes=56 Sequence=4 ttl=126 time=4 ms
Reply from 10.2.1.3: bytes=56 Sequence=5 ttl=126 time=4 ms
# 在設(shè)備RouterA上執(zhí)行ping huawei命令,可以ping通,且對(duì)應(yīng)的域名變?yōu)閔uawei.com,目的地址為10.2.1.3。
<RouterA> ping huawei
Trying DNS server (10.3.1.2)
PING huawei.com (10.2.1.3): 56 data bytes, press CTRL_C to break
Reply from 10.2.1.3: bytes=56 Sequence=1 ttl=126 time=6 ms
Reply from 10.2.1.3: bytes=56 Sequence=2 ttl=126 time=4 ms
Reply from 10.2.1.3: bytes=56 Sequence=3 ttl=126 time=4 ms
Reply from 10.2.1.3: bytes=56 Sequence=4 ttl=126 time=4 ms
Reply from 10.2.1.3: bytes=56 Sequence=5 ttl=126 time=4 ms
# 在RouterA用display ip host命令可以查看到靜態(tài)DNS表項(xiàng)中主機(jī)名和IP地址的對(duì)應(yīng)關(guān)系。
<RouterA> display ip host
Host Age Flags Address
serverB 0 static 10.4.1.1
serverC 0 static 10.4.1.2
# 在RouterA用display dns dynamic-host命令可以查看到動(dòng)態(tài)緩存區(qū)中的動(dòng)態(tài)DNS表項(xiàng)信息。
<RouterA> display dns dynamic-host
Host TTL Type Address(es)
huawei.com 114 IP 10.2.1.3
這組 DNS 是由阿里巴巴提供的,國(guó)內(nèi)連通性還是不錯(cuò)的,海外部分地區(qū)連通性不是特別好,具體可以測(cè)試一下。
阿里 DNS 同時(shí)提供了 IPv4/IPv6 DNS 和 DoT/DoH 服務(wù)。
編輯切換為居中
添加圖片注釋,不超過(guò) 140 字(可選)
IPv4:
223.5.5.5 223.6.6.6
IPv6:
2400:3200::1 2400:3200:baba::1
DoH 地址:
https://dns.alidns.com/dns-query
DoT 地址:
dns.alidns.com
編輯切換為居中
添加圖片注釋,不超過(guò) 140 字(可選)
由 DNSPod 提供的公共免費(fèi) DNS,后來(lái) DNSPod 被騰訊(Tencent)收購(gòu),現(xiàn)在屬于騰訊公司所有,穩(wěn)定性和連通性也是不錯(cuò)的,經(jīng)測(cè)試海外也可以使用。
DNSPod 除了 IPv4,現(xiàn)在同時(shí)支持 IPv6 DNS 和 DoT/DoH 服務(wù)。
IPv4:
119.29.29.29
IPv6:
2402:4e00::
DoH 地址:
https://doh.pub/dns-query
DoH (國(guó)密 SM2,基于騰訊云政企國(guó)密解決方案) 地址:
https://sm2.doh.pub/dns-query
DoT 地址:
dot.pub
Google Public DNS 是最流行的免費(fèi)DNS服務(wù)器之一,它的服務(wù)器托管在全球各地的數(shù)據(jù)中心,一旦連接到他們的IP地址,它會(huì)自動(dòng)分配距離最近的服務(wù)器,能夠?yàn)椴煌貐^(qū)的人們都提供穩(wěn)定和快速的訪問(wèn)體驗(yàn)
谷歌DNS擁有非常好記的IP地址 8.8.8.8,通過(guò)將你的默認(rèn)DNS改為谷歌的公共DNS服務(wù)器,你可以擁有更快的瀏覽速度和更高的安全性,而且它提供了兩個(gè)DNS服務(wù)器地址,你可以分別設(shè)置為自己的首選和備用DNS服務(wù)器
地址:
8.8.8.8
8.8.4.4
360 提供的 DNS 服務(wù),只提供了 IPv4 和 DoT/DoH 服務(wù)。
針對(duì)中國(guó)電信/鐵通/移動(dòng)的 IPv4:
101.226.4.6 218.30.118.6
針對(duì)中國(guó)聯(lián)通的 IPv4:
123.125.81.6 140.207.198.6
DoH 地址:
https://doh.#
DoT 地址:
dot.#
中國(guó)電信 IPv6 DNS
如果用中國(guó)電信的寬帶應(yīng)該會(huì)自動(dòng)分配這兩個(gè)IP
240e:4c:4008::1 240e:4c:4808::1
中國(guó)聯(lián)通 IPv6 DNS
如果用中國(guó)聯(lián)通的寬帶應(yīng)該會(huì)自動(dòng)分配這兩個(gè)IP
2408:8899::8 2408:8888::8
中國(guó)移動(dòng) IPv6 DNS
中國(guó)移動(dòng)寬帶自動(dòng)分配的兩個(gè)IP
2409:8088::a 2409:8088::b
114DNS
114.114.114.114 114.114.115.115
編輯切換為居中
添加圖片注釋,不超過(guò) 140 字(可選)
中國(guó)最大的搜索引擎百度提供的公共 DNS,經(jīng)測(cè)試海外連通性也是不錯(cuò)的,暫時(shí)百度只提供了一組 IPv4 和 IPv6 DNS 地址。
IPv4:
180.76.76.76
IPv6:
2400:da00::6666
是由中國(guó)互聯(lián)網(wǎng)信息中心 CNNIC 提供的免費(fèi)公共 DNS,同時(shí)支持 IPv4 和 IPv6。
IPv4:
1.2.4.8 210.2.4.8
IPv6:
2001:dc7:1000::1