溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

詳解Linux搭建DNS服務(wù)器

發(fā)布時間:2020-08-29 14:40:22 來源:腳本之家 閱讀:449 作者:風(fēng)語夜蝶 欄目:服務(wù)器

1.DNS服務(wù)器概念

在互聯(lián)網(wǎng)上通信需要借助于IP地址,但人類對于數(shù)字的記憶能力遠不如文字,那么將IP地址轉(zhuǎn)換成容易記憶的文字是個好辦法,可是計算機只能識別0、1代碼,這時就需要一種機制來解決IP地址與主機名的轉(zhuǎn)換問題,DNS全稱為Domain Name System,即域名系統(tǒng),其作用就是將我們經(jīng)常使用的“網(wǎng)址”解析為IP地址 聯(lián)機分布式數(shù)據(jù)庫系統(tǒng),DNS大多數(shù)名字在本地解析,僅少量需要在網(wǎng)上通訊,所以效率高

2.DNS相關(guān)概念

DNS利用樹形目錄結(jié)構(gòu),將主機名的管理分配給不同的層級,這樣可以實現(xiàn)更加快速的完成主機名的查找, 修改主機名解析時也更加方便

域:

TLD:   Top Level Domain (頂級域名)

組織域:.com, .org, .net, .edu,.gov,.mil,.cc,…

國家域:.cn, .us, .tw, .iq,…

詳解Linux搭建DNS服務(wù)器

反向域:.in-addr-arpa

FQDN:

FQDN全稱為Fully Qualified Domain Name,即完全合格域名
FQDN由兩個部分組成:主機名和域名。
因為DNS是逐級管理的 ,所以在不同的層級中主機名與域名也是不同的;
以www.google.com為例:
在第二層中,.com就是域名,google就是主機名;
而到了第三層中,.google.
正向解析: 從FQDN轉(zhuǎn)換為IP地址稱為正向解析

反向解析: 從IP地址轉(zhuǎn)換為FQDN稱為反向解析

區(qū)域:正向解析或反向解析中,每個域的記錄就是一個區(qū)域

3.DNS服務(wù)器解析

DNS的主要作用是進行主機名的解析

解析:

根據(jù)用戶提供一種名稱,去查詢解析庫,以得到另一種名稱。 域名—>IP,IP—>域名

資源記錄:rr(resource record) 有類型的概念;用于此記錄解析的屬性

  1. *SOA記錄:起始授權(quán)記錄,一個區(qū)域文件只能有一個
  2. *A記錄:用來指定主機名(或域名)對應(yīng)的IP(ipv4)地址記錄。(AAAA ipv6)
  3. *CNAME記錄:別名解析(域名)
  4. *NS記錄:域名服務(wù)器記錄,用來指定該域名由哪個DNS服務(wù)器來進行解析。
  5. *MX記錄:郵件交換記錄,指向郵件服務(wù)器
  6. *PTR記錄:反向DNS記錄,A記錄的反向
  7. *TTL值:生存時間,DNS記錄在DNS服務(wù)器上緩存時間

4.DNS服務(wù)器原理

詳解Linux搭建DNS服務(wù)器

DNS采用兩種查詢機制:遞歸和迭代

客戶端向DNS服務(wù)器發(fā)起查詢請求,DNS服務(wù)器搜索本地解析庫沒有結(jié)果,于是向根域發(fā)起查詢請求,根域告訴DNS服務(wù)器.com服務(wù)器上有它需要的資源,DNS服務(wù)器又向.com服務(wù)器發(fā)起查詢請求,結(jié)果被告知.google.com服務(wù)器上有它想要的結(jié)果,后終于在.google.com服務(wù)器上找到了解析記錄,并返回給了客戶端 在上面的查詢過程中,客戶端只發(fā)起了一次請求,并得到了后的結(jié)果,這種查詢方式被稱為遞歸
而DNS服務(wù)器在查詢過程中不停的發(fā)起請求,直到找到想要的結(jié)果,這種查詢方式被稱為迭代

5.DNS查詢順序

  1. 本地hosts文件
  2. 本地DNS緩存
  3. 本地DNS服務(wù)器
  4. 發(fā)起迭代查詢

 詳解Linux搭建DNS服務(wù)器

6.DNS服務(wù)器端口 TCP UDP 53

7.DNS服務(wù)器類型

主DNS服務(wù)器:

為客戶端提供域名解析的主要區(qū)域,主DNS服務(wù)器宕機,會啟用從DNS服務(wù)器提供服務(wù)

從DNS服務(wù)器:

  1. 1.主服務(wù)器DNS長期無應(yīng)答,從服務(wù)器也會停止提供服務(wù)
  2. 2.主從區(qū)域之間的同步采用周期性檢查+通知的機制
  3. 3.從服務(wù)器周期性的檢查主服務(wù)器上的記錄情況,一旦發(fā)現(xiàn)修改就會同步,另外主服務(wù)器上如果有數(shù)據(jù)被修改了,會立即通知從服務(wù)器更新記錄

緩存服務(wù)器:

服務(wù)器本身不提供解析區(qū)域,只提供非權(quán)威應(yīng)答

轉(zhuǎn)發(fā)服務(wù)器:

當(dāng)DNS服務(wù)器的解析區(qū)域(包括緩存)中無法為當(dāng)前的請求提供權(quán)威應(yīng)答時,將請求轉(zhuǎn)發(fā)至其它的DNS服務(wù)器,此時本地DNS服務(wù)器就是轉(zhuǎn)發(fā)服務(wù)器

配置:

nslookup,dig dns客戶端測試工具
#tcpdump,wireshark抓包分析工具

DNS服務(wù)器搭建,正向解析、反向解析

1.關(guān)閉防火墻&Selinux

systemctl stop firewalld 
systemctl disable firewalld 
setenforce 0 
getenforce

 2.安裝DNS服務(wù)器軟件

yum install bind-chroot 
#主配置文件/etc/named.conf
#區(qū)域配置文件/etc/named.rfc1912.zones 用來保存域名和IP地址對應(yīng)關(guān)系 
#數(shù)據(jù)配置文件目錄/var/named 用來保存域名和IP地址對應(yīng)關(guān)系的所在位置

3.修改主配置文件

vi /etc/named.conf 
listen-on port 53 { any; }; #服務(wù)器上的所有IP地址均可提供DNS域名解析服務(wù) 
allow-query { any; };  #允許所有人對本服務(wù)器發(fā)送DNS查詢請求 
#named-checkconf 命令檢測語法

4.修改區(qū)域配置文件

#用來保存域名和IP地址對應(yīng)關(guān)系的所在位置,在這個文件中,定義了域名與IP地址解析規(guī)則,保存的文件位置,以及服務(wù)類型等內(nèi)容,而沒有包含具體的域名、IP地址對應(yīng)關(guān)系等信息。服務(wù)類型有三種,分別為hint(根區(qū)域)、master(主區(qū)域)、slave(輔助區(qū)域),其中常用的master和slave指的就是主服務(wù)器和從服務(wù)器 
zone "c74.com" IN {  
     type master; #服務(wù)類型  
     file "c74.com.zone";  #域名與IP地址解析規(guī)則保存文件  
     allow-update { none; };  #允許哪些客戶機動態(tài)更新解析信息 
     }; #正向解析參數(shù)
zone "1.168.192.in-addr.arpa" IN {  #表示為192.168.1.0/24網(wǎng)段的反射解析區(qū)域  
     type master;  
     file "192.168.1.arpa"; 
     }; #反向解析參數(shù)

5.正向解析

5.1 vi /etc/named.rfc1912.zones

可在原有的基礎(chǔ)上進行修改,也可清空,保留只用的信息 
zone "c74.com" IN {        #服務(wù)類型
     type master; #域名與IP地址解析規(guī)則保存文件 
     file "c74.com.zone";    #允許哪些客戶機動態(tài)更新解析信息 
     allow-update { none; }; 
     }; 
#named-checkzone 檢測zone文件的配置

5.2#編輯數(shù)據(jù)配置文件。從/var/named目錄中復(fù)制一份正向解析的模板文件(named.localhost),然后把域名和IP地址的對應(yīng)數(shù)據(jù)填寫到數(shù)據(jù)配置文件中并保存。在復(fù)制時記得加上-a參數(shù),這可以保留原始文件的所有者、所屬組、權(quán)限屬性等信息

cd /var/named
cp -a named.localhost c74.com.zone #將named.localhost中的文件內(nèi)容(模板)復(fù)制到c74.com.zone里
vi c74.com.zone 
$TTL 1D #生存周期為1天 @  IN SOA c74.com. root.c74.com.( #@當(dāng)前的域名 #授權(quán)信息開始 #DNS區(qū)域的地址 #域名管理員郵箱不要用@符號 
        0  ; serial #更新序列號          
        1D  ; refresh #更新時間          
        1H  ; retry  #重試延時          
        1W  ; expire #失效時間          
        3H ) ; minimum #無效解析記錄時間  
       NS  ns.c74.com.  #域名服務(wù)器記錄 
 ns  IN A 192.168.5.153 #地址記錄ns.c74.com.  
 IN MX 10 mail.c74.com. #郵箱交換記錄10為優(yōu)先級數(shù)字越小級別越高 
 mail IN A 192.168.5.153 #地址記錄mail.c74.com. 
 www  IN A 192.168.5.153 #地址記錄www.c74.com. 
 news IN A 192.168.5.153 #地址記錄news.c74.com. 

5.3 啟動服務(wù)及測試

 systemctl restart named 
 yum install bind-utils -y 
 #bind-utils為客戶端 測試dns使用
 nslookup 
 > www.c74.com 
 Server:   192.168.5.153 
 Address:  192.168.5.153#53
 #其它也要測試,這里省略

6.反向解析

#反向解析的作用是將用戶提交的IP地址解析為對應(yīng)的域名信息,它一般用于對某個IP地址上綁定的所有域名進行整體屏蔽,屏蔽由某些域名發(fā)送的垃圾郵件

6.1 vi /etc/named.rfc1912.zones

zone "1.168.192.in-addr.arpa" IN { 
 type master; 
 file "192.168.1.arpa";
 };

6.2 編輯配置文件

 #從/var/named目錄中復(fù)制一份反向解析的模板文件(named.loopback),然后把下面的參數(shù)填寫到文件中 
 cd /var/named 
 cp -a named.loopback 192.168.1.arpa 
 vi 192.168.1.arpa 
 $TTL 1D 
 @  IN SOA c74.com. root.c74.com. (          
       0  ; serial          
       1D  ; refresh          
       1H  ; retry          
       1W  ; expire          
       3H ) ; minimum  
      NS  ns.c74.com. 
  ns  A  192.168.5.153 
  153  PTR  ns.c74.com.  #PTR為指針記錄,僅用于反向解析中
  153  PTR  mail.c74.com.
  153  PTR  www.c74.com. 
  153  PTR  news.c74.com.

6.3 測試

 systemctl restart named 
  nslookup

7.DNS高級之主從服務(wù)

 #由于上邊已部署主服務(wù)器,下主要介紹從服務(wù)器
 #在DNS域名解析服務(wù)中,從服務(wù)器可以從主服務(wù)器上獲取指定的區(qū)域數(shù)據(jù)文件,從而起到備份解析記錄與負載均衡的作用,因此通過部署從服務(wù)器可以減輕主服務(wù)器的負載壓力,還可以提升用戶的查詢效率
#測試需要兩臺服務(wù)器!主192.168.10.10,從192.168.10.20

7.1#在主服務(wù)器的區(qū)域配置文件中允許該從服務(wù)器的更新請求,即修改allow-update {允許更新區(qū)域信息的主機地址;};參 數(shù),然后重啟主服務(wù)器的DNS服務(wù)程序

 vi /etc/named.rfc1912.
  zones zone "c74.com" IN { 
        type master;
        file "c74.com.zone"; 
        allow-update { 192.168.10.20; }; 
        }; 
  zone "10.168.192.in-addr.arpa" IN { 
        type master; file "192.168.10.arpa"; 
        allow-update { 192.168.10.20; };
        }; 
  systemctl restart named 

7.2#在從服務(wù)器中填寫主服務(wù)器的IP地址與要抓取的區(qū)域信息,然后重啟服務(wù)。注意此時的服務(wù)類型應(yīng)該是slave(從), 而不再是master(主)。masters參數(shù)后面應(yīng)該為主服務(wù)器的IP地址,而且file參數(shù)后面定義的是同步數(shù)據(jù)配置文件后 要保存到的位置,稍后可以在該目錄內(nèi)看到同步的文件

 vi /etc/named.rfc1912.zones 
  zone "c74.com" IN {
       type slave; 
       masters { 192.168.10.10; }; 
       file "slaves/c74.com.zone"; 
       }; 
  zone "10.168.192.in-addr.arpa" IN { 
       type slave; 
       masters { 192.168.10.10; }; 
       file "slaves/192.168.10.arpa"; 
       };   #file參數(shù)后面定義的是同步數(shù)據(jù)配置文件后 要保存到的位置,稍后可以在該目錄內(nèi)看到同步的文件}; systemctl restart named

7.3 #檢驗解析結(jié)果。當(dāng)從服務(wù)器的DNS服務(wù)程序在重啟后,一般就已經(jīng)自動從主服務(wù)器上同步了數(shù)據(jù)配置文件,而且該文件 默認會放置在區(qū)域配置文件中所定義的目錄位置中。隨后修改從服務(wù)器的網(wǎng)絡(luò)參數(shù),把DNS地址參數(shù)修改成 192.168.10.20,這樣即可使用從服務(wù)器自身提供的DNS域名解析服務(wù)。后就可以使用nslookup命令順利看到解析結(jié)果了

 cd /var/named/slaves
  ls #注意從服務(wù)器會同步主服務(wù)器的文件!
  nslookup 
  www.c74.com 
  192.168.10.10 

以上所述是小編給大家介紹的Linux搭建DNS服務(wù)器詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對億速云網(wǎng)站的支持!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI