dns :domain name service,一種重要的網路基礎服務協議,採用c/s架構,屬於應用層協議dns協議是基於兩個更基礎的協議,使用情況為:bind :berkerley internet name domain,isc組織負責維護,是dns協議的一種實現,監聽於53/tcp埠,53/udp埠,named是bind程式的執行的服務程序名
使用udp協議 :主機名稱解析過程時使用
使用tcp協議 :區域傳輸時使用
本地名稱解析配置檔案:hosts
centos系統的位置:/etc/hosts
windows系統位置 :%windows%/system32/drivers/etc/hosts
dns伺服器:向客戶端提供網域名稱解析服務的伺服器·
dns伺服器的型別;
4.1. 主dns伺服器:維護所負責解析的域內解析庫伺服器;解析庫由管理維護;讀寫操作均可進行;
4.2從dns伺服器:從主dns伺服器或從其他的從dns伺服器那裡區域傳遞(類似「複製」)乙份解析庫,只能進行讀操作
4.3快取dns伺服器:負責**客戶機的遞迴查詢工作,並且採用迭代查詢的伺服器
4.4**器:如果目標網域名稱在本dns伺服器轄區內,直接**
完整的dns解析請求經過的流程:
dns查詢型別
區域解析庫:由眾多rr組成
bind配置:
主配置檔案:/etc/named.conf
或包含進來其它檔案;
/etc/named.iscdlv.key
/etc/named.rfc1912.zones
/etc/named.root.key
解析庫檔案:
/var/named/目錄下;
一般名字為:zone_name.zone
注意:
(1) 一台dns伺服器可同時為多個區域提供解析;
(2) 必須要有根區域解析庫檔案: named.ca;
(3) 還應該有兩個區域解析庫檔案:localhost和127.0.0.1的正反向解析庫;
正向:named.localhost
反向:named.loopback
準備兩台虛擬機器a,b(以centos6為例),分別安裝bind程式包,進行如下操作
1.配置主dns伺服器(a號虛擬機器):
service named start;ss -tnl
2.設定服務主配置檔案
vim /etc/named.conf
#修改以下內容
options ;
//listen-on-v6 port 53 ;
allow-query ;
recursion yes;
#學習時,建議關閉dnssec
dnssec-enable no;
dnssec-validation no;
3.檢查配置檔案語法錯誤:
named-checkconf [/etc/named.conf]
4.修改域配置檔案,包含正反解
vim /etc/named.rfc1912.zones
#增加以下內容
zone
"main.cjl.io"
in ;
zone
"16.172.in-addr.arpa"
in ;
5.配置正解的解析庫檔案cjl.io.zone
cd /var/named/;ls
vim cjl.io
.zone
$ttl 86400
$origin cjl.io.
@ in soa ns.cjl
.io.nsadmin
.cjl
.io. (
2017052305
;serial number
1h ;refresh
5m ;retry
1w ;deadline
1d ) ;neagtive ttl
in ns ns1.cjl
.io.
in ns ns2.cjl
.io.
ns1.cjl
.io. in a 172.16
.254
.22ns2.cjl
.io. in a 172.16
.253
.30www.cjl
.io. in a 172.16
.254
.1web in cname www
bbs in a 172.16
.254
.2
6.配置反解的解析庫檔案16.172.zone
$ttl 86400
$origin 16.172
.in-addr.arpa.
@ in soa ns1.cjl
.com. admin.cjl
.com. (
2017052901
1h 10m
1w1d )
in ns ns1.cjl
.com.
22.254
in ptr ns1.cjl
.com.
30.253
in ptr ns2.cjl
.com.
1.254
in ptr www.cjl
.com.
2.254
in ptr bbs.cjl
.com.
注意
(1)」 com 「後面的 」 . 「符號為必須,不可省略; 分號 ; 「後為注釋內容
(2) ttl可以從全域性繼承,ttl : time to live,快取時長,此項內容可省略,如果ttl值未明確單位的話,預設單位為秒
(3) @ 可用於表示當前網域名稱
(4) 相鄰的兩個資源記錄的name相同時,後續的可以省略
(5) 同乙個名字可以通過多條記錄定義多個不同的值,此時dns伺服器會以輪調方式響應並解析
(6)對soa記錄而言:
(7)對ns記錄而言:
(10)對ptr記錄而言:
正解與反解是兩個不同的解析庫檔案,所以二者沒有任何關係,這裡將正解的一級域設定為.io. ,反解的一級域設定為.com. ,以示區分。網路位址和字尾可省略,但主機位址不可省且需要反過來寫。
許可權及屬組修改:
chgrp named /var/named/cjl.io
.zone
chmod o= /var/named/cjl.io
.zone
7.檢查語法錯誤:
named-checkzone zone_name zone_file
named-checkconf
8.讓伺服器過載配置檔案和區域資料檔案
rndc reload
#或systemctl reload named.service
9.測試a號dns伺服器的解析功能是否實現:
測試正解
dig www.cjl
.io#檢視解析結果,以下為成功示例
;; answer section:
www.cjl
.io. 86400
in a 172.16
.254
.1
dig bbs.cjl
.io#檢視解析結果,以下為成功示例
;; answer section:
bbs.cjl
.io. 86400
in a 172.16
.254
.1
測試反解
dig -x
172.16
.254
.1#檢視解析結果,以下為成功示例
;; answer section:
1.254
.16.172
.in-addr.arpa. 86400
in ptr www.cjl
.com.
dig -x
172.16
.254
.2#檢視解析結果,以下為成功示例
;; answer section:
1.254
.16.172
.in-addr.arpa. 86400
in ptr bbs.cjl
.com.
Linux基礎服務 DNS正向解析 bind
dns安裝 yum y install bind bind chroot後面是dns安全包,改變預設dns根目錄,可以防止某乙個服務出現漏洞進而丟失所有資料的情況發生,可選安裝。這裡以使用bind chroot為例 啟動命令 不使用chroot模式 systemctl start named使用ch...
DNS網域名稱服務 BIND (下
檢視bind版本 named v root localhost packages named v bind 9.7.0 p2 redhat 9.7.0 5.p2.el6 dns查詢的過程當客戶端程式要通過乙個主機名稱來訪問網路中的一台主機時,它首先要得到這個主機名稱所對應的ip位址,因為ip資料報中...
使用Bind服務配置DNS伺服器
bind是dns伺服器軟體 他的服務名稱是named 主程式 usr sbin named 主配置檔案 etc named.conf 區域配置檔案 etc named.rfc1912.zones yum install y bind vi etc named.conf listen on port ...