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