天天看點

DNS伺服器的搭建和使用

DNS伺服器常見概念

DNS伺服器安裝及相關配置

實戰:配置DNS伺服器解析

實戰:搭建DNS轉發伺服器和DNS主從伺服器

測試工具:nslookup dig

DNS服務描述:

DNS(Domain Name System,域名系統),在TCP/IP網絡中有着非常重要的地位,能夠提供域名和IP位址的解析服務。DNS網際網路上作為域名和IP位址互相映射的一個分布式資料庫,命名系統采用層次的邏輯結構,如同一顆倒置的樹,這個邏輯的樹形結構稱為域名空間。由于DNS劃分了域名空間,是以各機構可以使用自己的域名空間建立DNS資訊。DNS協定運作在UDP協定之上,使用端口号53。

DNS伺服器的搭建和使用

名詞解釋:

1、域和域名:DNS中的每個節點代表一個域.通過這些節點,對整個域名空間進行劃分,成為一個層次結構.

域名空間的每個域的名字,通過域名進行表示的.

域名:通常由一個完全合格域名(FQDN)辨別。FQDN能準确表示出其相對于DNS 域樹根的位置,也就是節點到DNS 樹根的完整表述方式,從節點到樹根采用反向書寫,并将每個節點用“.”分隔,對于DNS 域google 來說,其完全正式域名(FQDN)為google.com。

例如,google為com域的子域,其表示方法為google.com,而www為google域中的子域,可以使用www.google.com表示.

注意:通常,FQDN 有嚴格的命名限制,長度不能超過256 位元組,隻允許使用字元a-z,0-9,A-Z和減号(-).點号(.)隻允許在域名标志之間(例如“google.com”)或者FQDN 的結尾使用。

域名不區分大小.

由最頂層到下層,可以分成:根域、頂級域、二級域、子域.

Internet 域名空間的最頂層是根域(root),其記錄着Internet 的重要DNS 資訊,由Internet域名注冊授權機構管理,該機構把域名空間各部分的管理責任配置設定給連接配接到Internet 的各個組織.

“.”全球有13個根(root)伺服器

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

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

位址域:采用兩個字元的國家或地區代号.如cn 為中國,kr 為南韓,us 為美國。

反向域:這是個特殊域,名字為in-addr.arpa,用于将IP 位址映射到名字(反向查詢)。

對于頂級域的下級域,Internet 域名注冊授權機構授權給Internet 的各種組織.當一個組織獲得了對域名空間某一部分的授權後,該組織就負責命名所配置設定的域及其子域,包括域中的計算機和其他裝置,并管理配置設定域中主機名與IP 位址的映射資訊。

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

使用區的概念,DNS 伺服器回答關于自己區中主機的查詢,每個區都有自己的授權伺服器。

3、主域名伺服器與輔助域名伺服器

當區的輔助伺服器啟動時,它與該區的主要伺服器進行連接配接并啟動一次區傳輸,區輔助伺服器定期與區主要伺服器通信,檢視區資料是否改變.如果改變了,它就啟動一次資料更新傳輸.每個區必須有主伺服器,另外每個區至少要有一台輔助伺服器,否則如果該區的主伺服器崩潰了,就無法解析該區的名稱。

輔助伺服器的優點:

1)容錯能力  2)減少廣域鍊路的通信量  3)減輕主伺服器的負載

4、DNS相關概念

(1)DNS 伺服器

運作DNS 伺服器程式的計算機,儲存DNS 資料庫資訊。DNS 伺服器會嘗試解析客戶機的查詢請求。

在解答查詢時,如果DNS 伺服器能提供所請求的資訊,就直接回應解析結果,如果該DNS 伺服器沒有相應的域名資訊,則為客戶機提供另一個能幫助解析查詢的伺服器位址,如果以上兩種方法均失敗,則回應客戶機沒有所請求的資訊或請求的資訊不存在。

(2)DNS 緩存

DNS 伺服器在解析客戶機請求時,如果本地沒有該DNS 資訊,則可以會詢問其他DNS 伺服器,當其他域名伺服器傳回查詢結果時,該DNS 伺服器會将結果記錄在本地的緩存中,成為DNS 緩存。當下一次客戶機送出相同請求時,DNS 伺服器能夠直接使用緩存中的DNS 資訊進行解析。

(3)DNS查詢過程

看一個DNS查詢過程:

① 客戶機送出域名解析請求,并将該請求發送給本地的域名伺服器。

② 當本地的域名伺服器收到請求後,就先查詢本地的緩存。

如果有查詢的DNS 資訊記錄,則直接傳回查詢的結果。

如果沒有該記錄,本地域名伺服器就把請求發給根域名伺服器。

③ 根域名伺服器再傳回給本地域名伺服器一個所查詢域的頂級域名伺服器的位址。

④ 本地伺服器再向傳回的域名伺服器發送請求。

⑤ 接收到該查詢請求的域名伺服器查詢其緩存和記錄,如果有相關資訊則傳回客戶機查詢結果,否則通知客戶機下級的域名伺服器的位址。

⑥ 本地域名伺服器将查詢請求發送給傳回的DNS 伺服器。

⑦ 域名伺服器傳回本地伺服器查詢結果(如果該域名伺服器不包含查詢的DNS 資訊,查詢過程将重複⑥、⑦步驟,直到傳回解析資訊或解析失敗的回應)。

⑧ 本地域名伺服器将傳回的結果儲存到緩存,并且将結果傳回給客戶機。

5、兩種查詢方式

(1)遞歸查詢

遞歸查詢是一種DNS 伺服器的查詢模式,在該模式下DNS 伺服器接收到客戶機請求,必須使用一個準确的查詢結果回複客戶機。如果DNS 伺服器本地沒有存儲查詢DNS 資訊,那麼該伺服器會詢問其他伺服器,并将傳回的查詢結果送出給客戶機。

(2)疊代查詢

DNS 伺服器另外一種查詢方式為疊代查詢,當客戶機發送查詢請求時,DNS 伺服器并不直接回複查詢結果,而是告訴客戶機另一台DNS 伺服器位址,客戶機再向這台DNS 伺服器送出請求,依次循環直到傳回查詢的結果為止。

6、正向解析與反向解析

1)正向解析

正向解析是指域名到IP 位址的解析過程。

2)反向解析

反向解析是從IP 位址到域名的解析過程。反向解析的作用為伺服器的身份驗證。

7、DNS資源記錄

1)SOA 資源記錄(全區唯一)

每個區在區的開始處都包含了一個起始授權記錄(Start of Authority Record),簡稱SOA 記錄.

SOA 定義了域的全局參數,進行整個域的管理設定。一個區域檔案隻允許存在唯一的SOA 記錄。

例:@  86400   IN   SOA    ns.magedu.com.   nsadmin.magedu.com.

2)NS 資源記錄

NS(Name Server)記錄是域名伺服器記錄,用來指定該域名由哪個DNS伺服器來進行解析。每個區在區根處至少包含一個NS 記錄。

例:magedu.com.  IN  NS  ns1.magedu.com. 注意:(1) 相鄰的兩個資源記錄的name相同時,後續的可省略 (2) 對NS記錄而言,任何一個ns記錄後面的伺服器名字,都應該在後續有一個A記錄

3)A 資源記錄

位址(A)資源記錄把FQDN 映射到IP 位址。 因為有此記錄,是以DNS伺服器能解析FQDN域名對應的IP 位址。

例:www.magedu.com.  IN  A   1.1.1.1

4)PTR 資源記錄

相對于A 資源記錄,指針(PTR)記錄把IP位址映射到FQDN.。用于反向查詢,通過IP位址,找到域名。

例如:4.3.2.1.in-addr.arpa.   IN   PTR   www.magedu.com. 如1.2.3為網絡位址,可簡寫成:4 IN PTR www.magedu.com. 注意:網絡位址及字尾可省略;主機位址依然需要反着寫

5)CNAME 資源記錄

别名記錄(CNAME)資源記錄建立特定FQDN 的别名。使用者可以使用CNAME 記錄來隐藏使用者網絡的實作細節,使連接配接的客戶機無法知道真正的域名。

例:ping百度時,解析到了百度的别名伺服器.百度有個cname=www.a.shifen.com.的别名。

6)MX 資源記錄

郵件交換(MX)資源記錄,為DNS 域名指定郵件交換伺服器。

郵件交換伺服器是為DNS 域名處理或轉發郵件的主機。處理郵件指把郵件投遞到目的地或轉交另一不同類型的郵件傳送者。轉發郵件指把郵件發送到最終目的伺服器,用簡單郵件傳輸協定SMTP 把郵件發送給離最終目的地最近的郵件交換伺服器,或使郵件經過一定時間的排隊。

例:magedu.com.   IN   MX   10    mx1.magedu.com. 注意:(1) 對MX記錄而言,任何一個MX記錄後面的伺服器名字,都應該在後續有一個A記錄

以上是相關概念。

補充:資源記錄定義的格式:

文法:name  [TTL](緩存時間 s為機關) IN  rr_type(類型) value(ip位址)

注意:

(1) TTL可從全局繼承

(2) @可用于引用目前區域的名字

(3) 同一個名字可以通過多條記錄定義多個不同的值;此時DNS伺服器會以輪詢方式響應

(4) 同一個值也可能有多個不同的定義名字;通過多個不同的名字指向同一個值進行定義;此僅表示通過多個不同的名字可以找到同一個主機

DNS的安裝

yum install bind          #服務端安裝

<a></a>

DNS服務的啟動和關閉

/etc/init.d/named  start      #開啟DNS服務

chkconfig named on        #開啟自啟動

chkconfig add named     #添加named開機啟動項

chkconfig --list named    #檢視named開機啟動狀态

/etc/init.d/named  stop    #關閉DNS服務

DNS伺服器監聽端口:

vim /etc/services

PORT: udp/tcp  53  ---&gt; 用戶端查詢

PORT: udp/tcp 953  ---&gt; 主從伺服器同步

DNS服務主要配置檔案

/etc/named.conf        #主配置檔案

/etc/named.rfc1912.zones   #域名設定檔案

/var/named/              #目錄包含名稱伺服器所使用的其他資料檔案

DNS主配置檔案/etc/named.conf 參數

listen-on              #控制 named 偵聽的 IPv4 位址

listen-on-v6        #控制 named 偵聽的 IPv6 位址

allow-query         #控制哪些用戶端可以向 DNS 伺服器詢問資訊

1)、修改配置檔案:vim /etc/named.conf

options {

// listen-on port 53 { 127.0.0.1; };     #監聽任意IPV4位址53号端口,注釋掉

   listen-on-v6 port 53 { ::1; };

   directory "/var/named";

   dump-file "/var/named/data/cache_dump.db";

  statistics-file "/var/named/data/named_stats.txt";

  memstatistics-file "/var/named/data/named_mem_stats.txt";

// allow-query    { localhost; };    #允許任何位址通過,注釋掉

2)、添加内容:vim /etc/named.rfc1912.zones

zone "magedu.com" IN {      # 指定區域名為 magedu.com

type master;          # 指定工作模式為主dns伺服器

file "named.magedu.com.zone";};  # 指定配置檔案為named.magedu.com.zone

3)、建立zone配置檔案named.magedu.com.zone

cp -a  /var/named/named.localhost   /var/named/magedu.com.zone

vim /var/named/magedu.com.zone

$TTL 1D

# 設定有效位址解析記錄的預設緩存時間,預設為1天也就是1D

@  IN SOA  dns1  admin.magedu.com.  (

                        2017100801    ; serial    # 更新序列号

                        86400  ; refresh      #重新整理時間

                       1H      ; retry            # 重試延時

                      1W      ; expire          #失效時間

                      3H )    ; minimum      #預設緩存時間

           NS      dns1                 #  域名伺服器記錄

dns1    A      192.168.159.135

websrv  A      6.6.6.6

www    CNAME  websrv

準備:需要6台虛拟機

根ip:192.168.159.100

com的ip:192.168.159.129(它下面有主,從伺服器)

magedu.com的主伺服器ip:192.168.159.135

magedu.com的從伺服器ip:192.168.159.136

電信的ip:192.168.159.138

用戶端的ip:192.168.159.125

1)、先從主伺服器(192.168.159.135)開始,建立

DNS伺服器的搭建和使用
DNS伺服器的搭建和使用

修改vim /etc/named.conf

DNS伺服器的搭建和使用

修改vim /var/named/named.ca

DNS伺服器的搭建和使用
DNS伺服器的搭建和使用

修改區域資料庫的配置檔案:vim /etc/named.rfc1912.zones

DNS伺服器的搭建和使用
DNS伺服器的搭建和使用
DNS伺服器的搭建和使用
DNS伺服器的搭建和使用

在客戶機上測試:

DNS伺服器的搭建和使用

2)、在從伺服器(192.168.159.136)開始建立

準備工作:

DNS伺服器的搭建和使用
DNS伺服器的搭建和使用

修改從伺服器配置檔案

DNS伺服器的搭建和使用
DNS伺服器的搭建和使用
DNS伺服器的搭建和使用
DNS伺服器的搭建和使用

3)、在com(192.168.159.129)上進行委派

DNS伺服器的搭建和使用
DNS伺服器的搭建和使用

cp -a /var/named/named.localhost   /var/named/com.zone

##建立的檔案屬性必須與named.localhost相同

vim  /var/named/com.zone

DNS伺服器的搭建和使用
DNS伺服器的搭建和使用

4)、在根(192.168.157.100)上進行修改

①在com的主機上檢視:cat /var/named/named.ca

.              518400 IN  NS  a.root-servers.net

a.root-servers.net. 3600000 IN A  192.168.159.100

②vim /etc/named.rfc1912.zones

DNS伺服器的搭建和使用

③vim /etc/named.conf

DNS伺服器的搭建和使用

注意:開啟轉發需要開啟:dnssec-enable no;  dnssec-validation no;

④進行委派:

DNS伺服器的搭建和使用
DNS伺服器的搭建和使用
DNS伺服器的搭建和使用

5)、在電信(192.168.159.138)修改

DNS伺服器的搭建和使用
DNS伺服器的搭建和使用

在客戶機上測試:dig www.wang.com @192.168.159.138

測試工具:

nslookup 測試域名解析

(1)非互動式模式

文法: nslookup 域名或IP 位址

例:

[root@centos6 ~]# nslookup www.wang.cn

Server: 8.8.8.8

Address: 8.8.8.8 #53

Non-authoritative answer:

Name: www.xuegod.cn

Address: 112.124.185.97

(2)互動模式

[root@centos6 ~]# nslookup

&gt; www.g.cn

Server: 192.168.31.64

Address: 192.168.31.64#53

Name: www.g.cn

Address: 203.208.49.178

Address: 203.208.49.179

Address: 203.208.49.180

Address: 203.208.49.176

Address: 203.208.49.177

dig指令:

linux下使用dig指令來查詢域名資訊,當然也可以使用nslookup,但dig比nslookup更友善更強大一些。

安裝:

[root@centos6 ~]# rpm -qf `which dig`

bind-utils-9.7.3-8.P3.el6.x86_64

使用114.114.114.114

DNS伺服器解析www.xuegod.cn

[root@centos6 ~]# dig @114.114.114.114 www.xuegod.cn

; &lt;&lt;&gt;&gt; DiG 9.7.3-P3-RedHat-9.7.3-8.P3.el6 &lt;&lt;&gt;&gt; @114.114.114.114 www.xuegod.cn

; (1 server found)

;; global options: +cmd

;; Got answer:

;; -&gt;&gt;HEADER&lt;&lt;- opcode: QUERY, status: NOERROR, id: 23192

;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:

;www.xuegod.cn. IN A

;; ANSWER SECTION:

www.xuegod.cn. 30 IN A 112.124.185.97

;; Query time: 19 msec

;; SERVER: 114.114.114.114#53(114.114.114.114)

;; WHEN: Wed Mar 11 21:02:29 2015

;; MSG SIZE  rcvd: 47

本文轉自 優果馥思 51CTO部落格,原文連結:http://blog.51cto.com/youguofusi/1972298