1. 程式人生 > 其它 >RH358學習筆記--2(DNS學習)

RH358學習筆記--2(DNS學習)

一、DNS的基本概念

DNS(Domain Name System)域名系統,在TCP/IP 網路中有非常重要的地位,能夠提供域名與IP地址的解析服務,而不用去記住能夠被機器直接讀取的IP數串。

DNS 是一個分散式資料庫,命名系統採用層次的邏輯結構,如同一棵倒置的樹,這個邏輯的樹形結構稱為域名空間,由於DNS 劃分了域名空間,所以各機構可以使用自己的域名空間建立DNS資訊,如圖所示:

DNS 樹的每個節點代表一個域,通過這些節點,對整個域名空間進行劃分,成為一個層次結構。
域名空間的每個域的名字,通過域名進行表示。

Internet 域名空間的最頂層是根域(root),其記錄著Internet 的重要DNS 資訊,由Internet域名註冊授權機構管理,該機構把域名空間各部分的管理責任分配給連線到Internet 的各個組織,“.”全球有13個根(root)伺服器。

DNS 根域下面是頂級域,也由Internet 域名註冊授權機構管理。共有3 種類型的頂級域。

(1)組織域:採用3個字元的代號,表示DNS 域中所包含的組織的主要功能或活動。比如com 為商業機構組織,edu 為教育機構組織,gov 為政府機構組織,mil 為軍事機構組織,net 為網路機構組織,org 為非營利機構組織,int 為國際機構組織。

(2)地址域:採用兩個字元的國家或地區代號。如cn 為中國,kr 為韓國,us 為美國。

(3)反向域:這是個特殊域,名字為in-addr.arpa,用於將IP 地址對映到名字(反向查詢)。

 根域: 全球根伺服器節點只有13個,10個在美國,1個荷蘭,1個瑞典,1個日本
 一級域名:Top Level Domain: tld
三類:組織域、國家域(.cn, .ca, .hk, .tw)、反向域
com, edu, mil, gov, net, org, int,arpa
 二級域名:abc.com
 三級域名:study.abc.com
 最多可達到127級域名

區(Zone)

區是DNS 名稱空間的一部分,其包含了一組儲存在 DNS 伺服器上的資源記錄。

DNS 相關概念:

(1)DNS 伺服器
執行DNS 伺服器程式的計算機,儲存DNS 資料庫資訊。DNS 伺服器會嘗試解析客戶機的查詢請求。在解答查詢時,如果DNS 伺服器能提供所請求的資訊,就直接回應解析結果,如果該DNS 伺服器沒有相應的域名資訊,則為客戶機提供另一個能幫助解析查詢的伺服器地址,如果以上兩種方法均失敗,則迴應客戶機沒有所請求的資訊或請求的資訊不存在。

(2)DNS 快取
DNS 伺服器在解析客戶機請求時,如果本地沒有該DNS 資訊,則可以會詢問其他DNS 伺服器,當其他域名伺服器返回查詢結果時,該DNS 伺服器會將結果記錄在本地的快取中,成為DNS 快取。當下一次客戶機提交相同請求時,DNS 伺服器能夠直接使用快取中的DNS 資訊進行解析。

(3)DNS查詢方式:遞迴查詢和迭代查詢
一個DNS查詢過程,通過8個步驟的解析過程就使得客戶端可以順利訪問www.163.com 這個域名,但實際應用中,通常這個過程是非常迅速的

兩種查詢方式:

(1) 遞迴查詢
遞迴查詢是一種DNS 伺服器的查詢模式,在該模式下DNS 伺服器接收到客戶機請求,必須使用一個準確的查詢結果回覆客戶機。如果DNS 伺服器本地沒有儲存查詢DNS 資訊,那麼該伺服器會詢問其他伺服器,並將返回的查詢結果提交給客戶機。
(2)迭代查詢
DNS 伺服器另外一種查詢方式為迭代查詢,當客戶機發送查詢請求時,DNS 伺服器並不直接回複查詢結
果,而是告訴客戶機另一臺DNS 伺服器地址,客戶機再向這臺DNS 伺服器提交請求,依次迴圈直到返回查詢的結果為止。

正向解析與反向解析:

正向解析:----》正向解析是指域名到IP 地址的解析過程,如圖所示。域名---》IP地址

反向解析:---》是從IP 地址到域名的解析過程。反向解析的作用為伺服器的身份驗證,如圖所示。
http://dns.aizhan.com/

DNS資源記錄:

區域解析庫:由眾多資源記錄RR(Resource Record)組成
記錄型別:A, AAAA, PTR, SOA, NS, CNAME, MX
 SOA:Start Of Authority,起始授權記錄;一個區域解析庫有且僅能有一個SOA記錄,必須位於解析庫的第一條記錄
 A:internet Address,作用,FQDN --> IP
 AAAA:FQDN --> IPv6
 PTR:PoinTeR,IP --> FQDN
 NS:Name Server,專用於標明當前區域的DNS伺服器
 CNAME : Canonical Name,別名記錄
 MX:Mail eXchanger,郵件交換器
 TXT:對域名進行標識和說明的一種方式,一般做驗證記錄時會使用此項,如:SPF(反垃圾郵件)記錄,https驗證等,如下示例:

資源記錄定義的格式:

注意:
1. TTL可從全域性繼承
2. 使用 “@” 符號可用於引用當前區域的名字
3. 同一個名字可以通過多條記錄定義多個不同的值;此時DNS伺服器會以輪詢方式響應
4. 同一個值也可能有多個不同的定義名字;通過多個不同的名字指向同一個值進行定義;此僅表示通
過多個不同的名字可以找到同一個主機

1.SOA 資源記錄(Start of Authority Record)
每個區在區的開始處都包含了一個起始授權記錄(Start of Authority Record),簡稱SOA 記錄。
SOA 定義了域的全域性引數,進行整個域的管理設定。一個區域檔案只允許存在唯一的SOA 記錄。
name: 當前區域的名字,例如“fish.org.”
value: 有多部分組成
注意:
1. 當前區域的主DNS伺服器的FQDN,也可以使用當前區域的名字
2. 當前區域管理員的郵箱地址;但地址中不能使用@符號,一般用.替換
例如:admin.fish.org
3. 主從服務區域傳輸相關定義以及否定的答案的統一的TTL

例如:

2.NS 資源記錄
NS(Name Server)記錄是域名伺服器記錄,用來指定該域名由哪個DNS伺服器來進行解析。每個區在區根處至少包含一個NS 記錄。
name: 當前區域的名字
value: 當前區域的某DNS伺服器的名字,例如ns.fish.org.
注意:
1. 相鄰的兩個資源記錄的name相同時,後續的可省略
2. 對NS記錄而言,任何一個ns記錄後面的伺服器名字,都應該在後續有一個A記錄
3. 一個區域可以有多個NS記錄

3.A 資源記錄
地址(A)資源記錄把FQDN 對映到IP 地址。 因為有此記錄,所以DNS伺服器能解析FQDN域名對應的IP 地址。
name: 某主機的FQDN,例如:www.fish.org.
value: 主機名對應主機的IP地址
避免使用者寫錯名稱時給錯誤答案,可通過泛域名解析進行解析至某特定地址

4.PTR 資源記錄
相對於A 資源記錄,指標(PTR)記錄把IP地址對映到FQDN。 用於反向查詢,通過IP地址,找到域名。
name: IP,有特定格式,把IP地址反過來寫,1.2.3.4,要寫作4.3.2.1;而有特定字尾:inaddr.arpa.,所以完整寫法為:4.3.2.1.in-addr.arpa.
value: FQDN
注意:網路地址及字尾可省略;主機地址依然需要反著寫

5.CNAME 資源記錄
別名記錄(CNAME)資源記錄建立特定FQDN 的別名。使用者可以使用CNAME 記錄來隱藏使用者網路的
實現細節,使連線的客戶機無法知道真正的域名。

name: 別名的FQDN
value: 真正名字的FQDN

6.MX 資源記錄
郵件交換(MX)資源記錄,為DNS 域名指定郵件交換伺服器,郵件交換伺服器是為DNS 域名處理或轉發郵件的主機。處理郵件指把郵件投遞到目的地或轉交另一不同型別的郵件傳送者。轉發郵件指把郵件傳送到最終目的伺服器,用簡單郵件傳輸協議SMTP 把郵件傳送給離最終目的地最近的郵件交換伺服器,或使郵件經過一定時間的排隊。
name: 當前區域的名字
value: 當前區域的某郵件伺服器(smtp伺服器)的主機名
注意:
1. 一個區域內,MX記錄可有多個;但每個記錄的value之前應該有一個數字(0-99),表示此伺服器的優先順序;數字越小優先順序越高
2. 對MX記錄而言,任何一個MX記錄後面的伺服器名字,都應該在後續有一個A記錄

7.AAAA記錄
將主機名(或域名)指向一個IPv6地址(例如:ff03:0:0:0:0:0:0:c1),需要新增AAAA記錄。
DNS的模式: C/S 模式
NDS監聽的埠號:
# vim /etc/services #檢視services檔案。

二、DNS的安裝配置

DNS伺服器軟體:bind,powerdns,dnsmasq,unbound,coredns

(1)使用Unbound配置快取名稱伺服器

1. 安裝unbound。

[root@servera ~]# yum install unbound -y

2. 按要求編輯server子句。

[root@servera ~]# vim /etc/unbound/unbound.conf

interface: 172.25.250.10
access-control: 172.25.250.0/24 allow
domain-insecure: "example.com"
forward-zone:
name: .
forward-addr: 172.25.250.254

3. 生成私鑰和伺服器證書。

[root@servera ~]# unbound-control-setup

4. 檢查unbound配置檔案的語法

[root@servera ~]# unbound-checkconf

5. 配置防火牆允許DNS流量。

[root@servera ~]# firewall-cmd --permanent --add-service=dns

[root@servera ~]# firewall-cmd --reload

6. 啟用並啟動unbound服務。