DNS域名解析服務
1.DNS介紹
DNS 是域名系統 (Domain Name System) 的縮寫,是因特網的一項核心服務,它作為可以將域名和IP地址相互映射的一個分布式數據庫,能夠使人更方便的訪問互聯網,而不用去記住能夠被機器直接讀取的IP數串。
域名解析
域名對應ip www.baidu.com.這個域名--對應IP---183.232.231.174
2.域名的分層結構
-
任何一個連接在因特網上的主機或路由器,都有一個唯一的層次結構的名字,即域名(domain name)。域名可以劃分為各個子域,子域還可以繼續劃分為子域的子域,這樣就形成了頂級域、主域名、子域名等。關于域名層次結構如下圖:
域名分層舉例
比如:www.aliyun.com. ? - DNS里面頂層是: "." 表示根域 ( 一共有十三臺根服務器) - “.com”是頂級域名;分類:職能:com域,.org域(非營利機構),edu域名(教育)國家:.cn ,.us , - “aliyun.com”是主域名(二級域),主要指企頁名; - “example.aliyun.com”是子域名(也可稱為托管三級域名); - “www.example.aliyun.com”是子域名的子域(也可稱為托管四級域名)。
3.DNS的分層結構
-
域名是分層結構,域名DNS服務器也是對應的層級結構。有了域名結構,還需要有域名DNS服務器去解析域名,且是需要由遍及全世界的域名DNS服務器去解析,域名DNS服務器實際上就是裝有域名系統的主機。域名解析過程涉及4個DNS服務器,分別如下:
每個層的域名上都有自己的域名服務器,最頂層的是根域名服務器 每一級域名服務器都知道下級域名服務器的IP地址,以便于一級一級向下查詢
4.DNS 解析過程
下面的示例則概述了本地域名服務器沒有緩存的情況下,DNS查詢所需的8個步驟: ? 1.用戶在Web瀏覽器中輸入網址“www.example.com”并回車,查詢進入網絡。瀏覽器先檢查自身緩存中是否解析過該域名對應的ip地址,如果瀏覽器有緩存,解析結束;如果瀏覽器沒有緩存,那么就檢查操作系統的hosts文件(稱為本地解析,如windows就是C:\Windows\System32\drivers\etc\hosts文件,linux在/etc/hosts文件中配置),如果命中域名解析結束。如果沒有命中域名解析,查詢會由DNS解析器進行接收 2. DNS解析器通過遞歸查詢,向根域名服務器發起查詢請求,要求返回頂級域名的地址。 3. 根域名服務器開啟迭代查詢方法,根據請求地址的前綴向DNS解析器返回頂級域名服務器(TLD)的IP地址列表。 4. DNS解析器向頂級域名服務器(.com TLD)發送查詢報文。 5. 頂級域名服務器(.com TLD)接收請求后,根據域名地址把權威域名服務器的IP地址(example.com)返回給DNS解析器。 6. DNS解析器向(example.com)權威域名服務器發送查詢。 7. (example.com)權威域名服務器將主機IP地址返回給DNS解析器。 8. DNS解析器使用查詢到的IP地址響應web瀏覽器 ? 一旦DNS查詢的8個步驟返回了example.com的IP地址,瀏覽器能夠請求網頁了 ? 9. 瀏覽器向IP地址發出HTTP請求 10. 該IP處的web服務器返回要在瀏覽器中呈現的網頁
5.DNS術語
1、遞歸查詢
是指DNS服務器在收到客戶端發起的請求時,必須向用戶返回一個準確的查詢結果。如果DNS服務器(DNS遞歸解析器)本地沒有存儲與之對應的信息,則該服務器需要詢問其他服務器,并將返回的查詢結果提交給用戶。( 根服務器不會開遞歸查詢。會開迭代查詢)
2、迭代查詢
是指DNS服務器在收到用戶發起的請求時,并不直接回復查詢結果,而是告訴另一臺DNS服務器的地址,用戶再向這臺DNS服務器提交請求,這樣依次反復,直到返回查詢結果。
3、TTL
英文全稱Time To Live ,這個值是告訴本地域名服務器,域名解析結果可緩存的最長時間,緩存時間到期后本地域名服務器則會刪除該解析記錄的數據,刪除之后,如有用戶請求域名,則會重新進行遞歸查詢/迭代查詢的過程。
4、TLD Server
英文全稱Top-level domains Server,指頂級域名服務器。
5、DNS Resolver
指本地域名服務器(DNS解析器),它是DNS查找中的第一站,是負責處理發出初始請求的DNS服務器。運營商ISP分配的DNS、谷歌8.8.8.8等都屬于DNS Resolver。
6、Root Server
指根域名服務器,當本地域名服務器在本地查詢不到解析結果時,則第一步會向它進行查詢,并獲取頂級域名服務器的IP地址。
DNS 記錄類型
DNS支持A、CNAME、AAAA、NS等記錄類型 記錄類型 ? 功能描述 A ? ? ? ? ipv4記錄,支持將域名映射到ipv4的地址使用(設置子域名并指向到目標主機地) AAAA ? ? ipv6記錄,支持將域名映射到ipv6的地址使用(正向解析:將域名轉換為ip地址) CNAME ? ? 別名記錄, 用于映射DNS域名的別名 NS ? ? ? 解析服務器記錄,支持將子域名委托給其他DNS服務商解析
DNS 客戶端檢測工具
1.dig
Domain Information Groper?
域名查詢工具(其他還有如ping),可以用來測試域名系統工作是否正常。 功能與 nslookup 類似,建議使用 dig 來取代 nslookup
[root@localhost ~]# yum install bind-utils -y #安裝dig命令(包括host、nslookup) [root@localhost ~]# dig www.baidu.com #解析域名對應的IP地址等信息 ? ; <<>> DiG 9.11.4-P2-RedHat-9.11.4-16.P2.el7_8.6 <<>> www.baidu.com ;; global options: +cmd ? ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 65304 ;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1 ? ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; MBZ: 0x0005, udp: 4096 ;; QUESTION SECTION: ?????????????????????????#展示查詢信息 ;www.baidu.com. ? ? ? ? ? ? ? ? IN ? ? A ? ;; ANSWER SECTION: www.baidu.com. ? ? ? ? ?5 ? ? ? IN ? ? CNAME ? www.a.shifen.com. www.a.shifen.com. ? ? ? 5 ? ? ? IN ? ? A ? ? ? 183.232.231.172 www.a.shifen.com. ? ? ? 5 ? ? ? IN ? ? A ? ? ? 183.232.231.174 ? ;; Query time: 8 msec ;; SERVER: 192.168.153.2#53(192.168.153.2) ;; WHEN: 三 8月 05 06:45:14 CST 2020 ;; MSG SIZE rcvd: 101
HEADER(標題):顯示查詢的內容有哪些, QUESTION SECTION:展示發起的DNS請求參數。其中A表示我們默認查詢A類型的記錄。 ANSWER SECTION:這一部分展示DNS服務的響應流程。 IN:代表類別為IP協議,即Internet 1.www.baidu.com 通過 CNAME 映射到 www.a.shifen.com,但是無法直接訪問 www.a.shifen.com 。 2.CNAME (CanonicalName)記錄,(alias from one domain name to another)通常稱別名指向
2.host
解析域名對應的IP地址和別名等信息
?[root@linux-server ~]# yum install -y bind-utils-9.11.4-16.P2.el7_8.3.x86_64 ???????????????????????????????????????????????????????????????????????????#安裝host命令
[root@localhost ~]# host www.baidu.com #解析主機名對應的IP地址,測試域名是否正常工作
www.baidu.com is an alias for www.a.shifen.com.
www.a.shifen.com has address 183.232.231.172
www.a.shifen.com has address 183.232.231.174
配置DNS方式:
1.本機解析
本機解析:/etc/hosts ? 默認先使用本機解析 [root@linux-server ~]# vim /etc/hosts #本機解析文件---添加如下內容 127.0.0.1 ? localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 ? ? ? ? localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.246.160 www.soso666.cn ????????#表示:cn域下面有一個soso666,soso666下面有一子域名www。僅供本地解析
2.使用本地DNS服務器解析
DNS: domain name service 客戶端設置(指定)DNS [root@linux-server ~]# vim /etc/resolv.conf #本地dns配置文件 # Generated by NetworkManager search localdomain nameserver 192.168.246.2 nameserver 114.114.114.114 ?#新添加