CentOS7 DNS 服務 bind9實戰


 

目錄

一、DNS理論基礎

1,DNS 的出現及演化

IP地址通信 》》hosts文件解析》》DNS系統

 

2,DNS概述入門

DNS (Domain Name System,域名系統),域名與IP的相互映射,提供用戶訪問互聯網;
DNS端口:53 UDP協議
DNS的分布式數據庫是以域名為索引的,每個域名實際上就是一顆很大的逆向樹,樹深最大127層,每個節點都有63個字符的文本標號;

3,DNS域名解析過程

首先,客戶端先在本地緩存查找有沒有域名緩存,如果沒有,客戶端發出DNS請求翻譯IP地址或主機名。DNS服務器在收到客戶機的請求后:

(4步描述)
1)檢查DNS服務器的緩存,若查到請求的地址或名字,即向客戶機發出應答信息;
2)若沒有查到,則在數據庫中查找,若查到請求的地址或名字,即向客戶機發出應答信息;
3)若沒有查到,則將請求發給根域DNS服務器,並依序從根域查找頂級域,由頂級查找二級域,二級域查找三級,直至找到要解析的地址或名字,即向客戶機所在網絡的DNS服務器發出應答信息,DNS服務器收到應答后現在緩存中存儲,然后,將解析結果發給客戶機。
4)若沒有找到,則返回錯誤信息。

 

4,Dns的分類

DNS服務器:就是一台存儲着原始資料的DNS服務器。
DNS服務器:使用自動更新方式從主DNS服務器同步數據的DNS服務器。也成輔助DNS服務器。
緩存服務器:不負責本地解析,采用遞歸方式轉發客戶機查詢請求,並返回結果給客戶機的DNS服務器。同時緩存查詢回來的結果,也叫遞歸服務器。
轉發器:這台DNS發現非本機負責的查詢請求時,不再向根域發起請求,而是直接轉發給指定的一台或者多台服務器。自身並不緩存查詢結果。

5,DNS記錄類型

A記錄:
將域名指向一個IPv4地址(例如:10.10.10.10),需要增加A記錄
CNAME記錄:
如果將域名指向一個域名,實現與被指向域名相同的訪問效果,需要增加CNAME記錄
MX記錄:
建立電子郵箱服務,將指向郵件服務器地址,需要設置MX記錄
NS記錄:
域名解析服務器記錄,如果要將子域名指定某個域名服務器來解析,需要設置NS記錄
TXT記錄:
可任意填寫(可為空),通常用做SPF記錄(反垃圾郵件)使用
AAAA記錄:
將主機名(或域名)指向一個IPv6地址(例如:ff03:0:0:0:0:0:0:c1),需要添加AAAA記錄
SRV記錄:
記錄了哪台計算機提供了哪個服務。格式為:服務的名字.協議的類型(例如:_example-server._tcp)
顯性URL:
將域名指向一個http(s)協議地址,訪問域名時,自動跳轉至目標地址(例如:將www.net.cn顯性轉發到www.hichina.com后,訪問www.net.cn時,地址欄顯示的地址為:www.hichina.com)。
隱性URL:
與顯性URL類似,但隱性轉發會隱藏真實的目標地址(例如:將www.net.cn隱性轉發到www.hichina.com后,訪問www.net.cn時,地址欄顯示的地址仍然為:www.net.cn)。

二、環境介紹

[root@localhost ~]# uname -a

Linux  3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

[root@localhost ~]# cat /etc/redhat-release

CentOS Linux release 7.4.1708 (Core)

三、部署bind

3.1 yum 安裝bind 9

[root@localhost ~]# yum -y install bind*.x86_64

[root@localhost ~]# systemctl enable named

[root@localhost ~]# systemctl start named

[root@localhost ~]# systemctl status named

3.2 查看端口狀態

[root@localhost ~]# netstat -lntup|grep 53

tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN      4363/named          

tcp        0      0 127.0.0.1:953           0.0.0.0:*               LISTEN      4363/named          

tcp6       0      0 ::1:53                  :::*                    LISTEN      4363/named          

tcp6       0      0 ::1:953                 :::*                    LISTEN      4363/named          

udp        0      0 127.0.0.1:53            0.0.0.0:*                           4363/named          

udp6       0      0 ::1:53                  :::*                                4363/named   

# 記得關閉selinux

如上,則bind啟動完成

四、修改配置文件

4.1調整網絡訪問權限

[root@localhost ~]#  vim /etc/named.conf

 

##options中的listen-on那一行的 “127.0.0.1” “any”allow-query 中的“localhost” ”any”,意思是接受其他主機的訪問和查詢,如下:

 


重啟bind服務

[root@localhost ~]# systemctl restart named

4.2 遠程測試53端口是否可以訪問

使用telnet 命令測試,如果沒有自己去百度如何添加這個服務

 

4.3 添加配置zone

[root@localhost ~]# vim /etc/named.conf

 

zone "qiu.com." IN {

        type master;

        file "qiu.com.zone";

};

4.4 編輯qiu.com.zone 正向解析文件

[root@localhost ~]#  cd /var/named/

[root@localhost named]# cp named.localhost qiu.com.zone

[root@localhost named]# chown named.named qiu.com.zone

[root@localhost named]# chmod 640 qiu.com.zone

改為如下配置:

$TTL 1D

@       IN SOA  ns.qiu.com. xx.qiu.com. (

                                        0       ; serial

                                        1D      ; refresh

                                        1H      ; retry

                                        1W      ; expire

                                        3H )    ; minimum

        NS      ns.test.com.

ns      A       192.168.56.11

master  A       192.168.56.11

www    CNAME    master

web    CNAME    slave

4.5 檢查配置文件

[root@localhost named]# named-checkconf /etc/named.conf

[root@localhost named]# named-checkzone "qiu.com." /var/named/qiu.com.zone

zone qiu.com/IN: loaded serial 0

OK  #輸出OK 代表正常,否則自行查詢日志,或加入qq群 逗哥為您排查

五、重啟named.server,測試域名解析

[root@localhost named]#  systemctl restart named

[root@localhost named]#  dig www.qiu.com @192.168.56.11

 


如上,在dns 服務器 192.168.56.11 上查到 www.qiu.com 指向 master.test.com,然后master.test.com 指向 192.168.56.11

六、配置反向解析

6.1 編輯 /etc/named.conf 在3添加的 zone 下面 添加:

zone "0.168.192.in-addr.arpa." IN {

        type master;

        file "192.168.56.rev";

};

 

 

6.2 創建rev文件

[root@localhost named]# cp qiu.com.zone 192.168.56.rev

[root@localhost named]# chown named.named 192.168.56.rev

6.3 編輯 192.168.56.rev

[root@localhost named]# cat 192.168.56.rev

$TTL 1D

$TTL 1D

@       IN SOA  ns.qiu.com. xx.qiu.com. (

                                        0       ; serial

                                        1D      ; refresh

                                        1H      ; retry

                                        1W      ; expire

                                        3H )    ; minimum

@       NS    ns.qiu.com.

11     PTR    ns.qiu.com.    #11masterIP

11     PTR    master.qiu.com.

12     PTR    slave.qiu.com  #12slaveiP

6.4 檢查配置文件

[root@localhost named]# named-checkconf /etc/named.conf

[root@localhost named]# named-checkzone "56.168.192.in-addr.arpa" /var/named/192.168.56.rev

zone 56.168.192.in-addr.arpa/IN: loaded serial 0

OK  ##正常

七、測試反向解析

[root@localhost named]# systemctl restart named

[root@localhost named]# dig -x 192.168.56.12 @192.168.56.11

 

 

至此,主DNS 服務器上的 正向、反向解析已配置成功。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM