IP:正向解析第一段這種方式叫遞歸查詢,只發(fā)出去一次請..."/>
您好,登錄后才能下訂單哦!
DNS是應(yīng)用層的協(xié)議,默認使用UDP的53端口,也會用到TCP的53端口。
DNS名稱解析方式:
名稱 --> IP:正向解析
第一段這種方式叫遞歸查詢,只發(fā)出去一次請求,就給它返回答案;第二段這種方式就迭代查詢,要發(fā)出多次請求,需要自己查詢不同域名,最后才返回答案;這就是DNS的查詢類型。
一般內(nèi)網(wǎng)遞歸,外網(wǎng)迭代。
IP --> 名稱:反向解析
每一層服務(wù)器都有各自的數(shù)據(jù)庫,來存儲各自負責(zé)的網(wǎng)段,這與正向解析的數(shù)據(jù)庫是兩個各自獨立的數(shù)據(jù)庫。
一次完整的查詢請求經(jīng)過的流程:
Client --> hosts文件 --> DNS Local Cache --> DNS Server (recursion) --> 分兩種情況:
(1)自己負責(zé)解析的域:直接查詢數(shù)據(jù)庫并返回答案
(2)不是自己負責(zé)解析域:Server Cache --> iteration(迭代)
主-輔DNS服務(wù)器:
主DNS服務(wù)器:維護所負責(zé)解析的域數(shù)據(jù)庫的那臺服務(wù)器;讀寫操作均可進行
從DNS服務(wù)器:從主DNS服務(wù)器那里或其它的從DNS服務(wù)器那里“復(fù)制”一份解析庫;但只能進行讀操作
在linux系統(tǒng)上實現(xiàn)DNS服務(wù)的程序是bind,安裝bind程序,而bind程序安裝后運行的進程名為named;
]# yum install bind
主配置文件:/etc/named.conf、/etc/named.rfc1912.zones
解析庫文件/var/named/目錄下,以區(qū)域名字命名:ZONE_NAME.zone
正向解析庫文件:/var/named/named.localhost
反向解析庫文件:/var/named/named.loopback
注意:根區(qū)域解析庫文件named.ca、正向解析庫文件named.localhost、反向解析庫文件named.loopback都不是程序提供的,而是rpm包制作者提供的。
配置主DNS服務(wù)器
正向區(qū)域:
第一步:定義正向區(qū)域zone
]# vim /etc/named.con
修改內(nèi)容:
listen-on port 53 { 127.0.0.1; 172.18.252.23; };
dnssec-enable no
//allow-query { localhost; };
添加本地主機地址;把dnssec都改為no;關(guān)閉僅允許本地查詢即加//注釋:
]# vim /etc/named.rfc1912.zones
添加內(nèi)容:
zone "magedu.com" IN {
type master;
file "magedu.com.zone";
};
注意:在區(qū)域中定義的這個file指明的magedu.com.zone區(qū)域數(shù)據(jù)庫文件還不存在,需要自己創(chuàng)建,如果在上面配置文件的file中定義的是相對路徑,默認為在/var/named/目錄下創(chuàng)建,且這個目錄默認是不存在的。
第二步:建立正向區(qū)域解析數(shù)據(jù)庫文件(主要記錄為A或AAAA記錄)
一般默認在/var/named目錄下建立,為magedu.com.zone區(qū)域創(chuàng)建編輯一個正向區(qū)域數(shù)據(jù)庫文件,創(chuàng)建正向區(qū)域數(shù)據(jù)庫文件,自己取名為magedu.com.zone。
區(qū)域數(shù)據(jù)庫文件除了宏定義外,都是資源記錄,第一條必須為soa記錄。
]# vim /var/named/magedu.com.zone
$TTL 3600:單位是秒;
$ORIGIN magedu.com.
@ IN SOA ns1.magedu.com. 403868144.qq.com. (
2016041001
1H
10M
3D
1D )
IN NS ns1
IN NS ns2
IN MX 10 mx1
IN MX 20 mx2
ns1 IN A 172.18.11.2
ns2 IN A 172.18.11.3
mx1 IN A 172.18.11.4
mx2 IN A 172.18.11.5
www IN A 172.18.11.2
web IN CNAME www
bbs IN A 172.18.11.2
第三步:修改正向區(qū)域數(shù)據(jù)庫文件的權(quán)限為其它不可讀,屬組為named
]# chown :named magedu.com.zone
]# chmod o= magedu.com.zone
第四步:語法檢查
]# named-checkconf
]# named-checkzone magedu.com /var/named/magedu.com.zone
查看區(qū)域信息
]# rndc status
注意:正向區(qū)域名一定要與在/etc/named.rfc1912.zones文件中的zone定義的正向區(qū)域名一致;但zone中的區(qū)域名后的.可省略。
第五步:讓服務(wù)器重載配置文件和區(qū)域數(shù)據(jù)文件
]# rndc reload
第六步:測試DNS服務(wù)器是否能解析
]# dig -t A www.magedu.com @172.18.250.131
]# host -t A bbs.magedu.com @172.18.11.2
]# dig -t NS magedu.com @172.18.11.2
]# host -t MX magedu.com @172.18.11.2
配置反向區(qū)域,配置步驟同配置正向解析區(qū)域相同
第一步:定義反向區(qū)域
]# vim /etc/named.rfc1912.zones
zone "11.18.172.in-addr.arpa" IN {
type master;
file "172.18.11.zone";
};
第二步:定義反向區(qū)域解析庫文件(主要記錄為PTR)
一般默認在/var/named目錄下建立;反向區(qū)域解析庫文件自己取名為172.18.250.zone。
]# vim 172.18.11.zone
$TTL 3600
$ORIGIN 250.18.172.in-addr.arpa.設(shè)置自動補上完整IP的內(nèi)容;
@ IN SOA ns1.magedu.com. 403868144.qq.com. (
2016041001
1H
10M
3D
12H )
IN NS ns1.magedu.com.
2 IN PTR ns1.magedu.com.
3 IN PTR ns2.magedu.com.
4 IN PTR mx1.magedu.com.
5 IN PTR mx2.magedu.com.
2 IN PTR www.magedu.com.
2 IN PTR bbs.magedu.com.
2 IN PTR bbs.magedu.com.
第三步:修改反向區(qū)域數(shù)據(jù)庫文件的權(quán)限為其它不可讀,屬組為named
]# chgrp named 172.18.11.2.zone
]# chmod o= 172.18.11.2.zone
第四步:檢查語法
]# named-checkconf
]# named-checkzone 11.18.172.in-addr.arpa /var/named/172.18.11.zone
注意:反向區(qū)域名一定要與在/etc/named.rfc1912.zones文件中的zone定義的反向區(qū)域名一致;但zone中的區(qū)域名后的.可省略。
第五步:讓服務(wù)器重載配置文件和區(qū)域數(shù)據(jù)文件
]# rndc reload
第六步:測試DNS服務(wù)器是否能反向解析
]# dig -x 172.18.11.2
以上配置為主DNS服務(wù)器配置過程。
配置從DNS服務(wù)器:
首先配置正向區(qū)域的從,再配置反向區(qū)域的從。
在從服務(wù)器上配置:
第一步:定義從區(qū)域
]# vim /etc/named.conf
listen-on port 53 { 127.0.0.1; 172.18.252.23; };
dnssec-enable no
//allow-query { localhost; };
第二步:配置從服務(wù)器為正向區(qū)域的DNS服務(wù)器
]# vim /etc/named.rfc1912.zones
zone "magedu.com" IN {
type slave;
file "slaves/magedu.com.zone";
masters { 172.18.11.2; }
};
第三步:檢查語法
]# named-checkconf
第四步:在主服務(wù)器上配置
]# vim /var/named/magedu.com.zone
ns2 IN A 172.18.11.3
提示:添加一條ns記錄,例如可以為NS2,這個名字和從服務(wù)器的自身主機名沒關(guān)系,但是NS2要有一條A記錄,指向從服務(wù)器主機即172.18.11.3是從服務(wù)器的IP地址;這條記錄必須得有。
第五步:檢查主服務(wù)器區(qū)域文件語法
]# named-checkzone magedu.com /var/named/magedu.com.zone
第六步:重載配置文件
]# rndc reload
第七步:在從服務(wù)器上操作,重載配置文件
]# rndc reload
測試從DNS服務(wù)器正向解析
]# dig -t A www.magedu.com @172.18.11.3
驗證從服務(wù)器能同步到正向解析數(shù)據(jù)庫文件
在主服務(wù)器區(qū)域文件中新增一條pop3的記錄,并遞增序列號;
2016041003:系列號遞增;
pop3 IN A 172.18.11.6:添加pop3的A記錄;
]# rndc reload
在從服務(wù)器上查看是否收到更新的區(qū)域數(shù)據(jù)庫文件
]# dig -t A pop3.magedu.com @172.18.11.3
配置從服務(wù)器為反向區(qū)域的DNS服務(wù)器
第一步:在從服務(wù)器上主配置文件中添加反向區(qū)域
]# vim /etc/named.rfc1912.zones
zone "11.18.172.in-addr.arpa" IN {
type slave;
file "slaves/172.18.11.zone";
masters { 172.18.11.2; };
};
第二步:檢查主配置文件語法
]# named-checkconf
第三步:在主服務(wù)器的反向區(qū)域數(shù)據(jù)庫文件中要確保有一條NS記錄必須要有,還可以有ns對應(yīng)的ptr記錄
]# vim /var/named/172.18.11.zone
2016041002
IN NS ns2.magedu.com.
3 IN PTR ns2.magedu.com.
第四步:檢查反向區(qū)域文件語法
]# named-checkzone 11.18.172.in-addr.arpa /var/named/172.18.11.zone
第五步:重載
]# rndc reload
第六步:從服務(wù)器重載
]# rndc reload
查看從服務(wù)器是否同步到反向解析數(shù)據(jù)庫文件
]# ls /var/named/slaves
測試從DNS服務(wù)器反解析
]# dig -x 172.18.11.2 @172.18.11.3
子域授權(quán)方法:
第一步:在父域的主DNS服務(wù)器上的正向區(qū)域數(shù)據(jù)庫文件/var/named/magedu.com.zone上授權(quán)子域
]# vim /var/named/magedu.com.zone
2016041004
ops IN NS ns1.ops
ns1.ops IN A 172.18.11.4
第二步:重載
]# rndc reload
在子域服務(wù)器(172.18.11.4)上操作
第一步:編輯主配置文件
]# vim /etc/named.conf
listen-on port 53 { 127.0.0.1; 172.18.11.4; };
dnssec-enable no
//allow-query { localhost; };
第二步:啟動named程序
]# systemctl start named.service
第三步:配置172.18.11.4的服務(wù)器為ops.magedu.com子域的主服務(wù)器
]# vim /etc/named.rfc1912.zones
zone "ops.magedu.com" IN {
type master;
file "ops.magedu.com.zone";
};
第四步:在var/named/目錄下創(chuàng)建file中指明的ops.magedu.com.zone正向區(qū)域數(shù)據(jù)庫文件
]# vim var/named/ops.magedu.zone
$TTL 3600
$ORIGIN ops.magedu.com.
@ IN SOA ns1.ops.magedu.com. 403868144.qq.com. (
2016041101
1H
10M
1D
2H )
IN NS ns1
ns1 IN A 172.18.11.4
www IN A 172.18.11.4
第五步:修改正向區(qū)域數(shù)據(jù)庫文件權(quán)限為其它沒有寫權(quán)限,屬組為named
]# chmod o= ops.magedu.zone
]# chgrp named ops.magedu.zone
第六步:語法檢查
]# named-checkzone ops.magedu.com ops.magedu.com.zone
第七步:重載
]# rndc reload
第八步:測試正向解析
]# dig -t A www.ops.magedu.com @172.18.11.4
在子域服務(wù)器上定義轉(zhuǎn)發(fā)區(qū)域:
第一步:編輯主配置文件
]# vim /etc/named.rfc1912.zones
zone "magedu.com" IN {
type forward;
forward only;
forwaders { 172.18.11.2; 172.18.11.3; };
};
第二步:檢查語法
]# named-checkconf
第三步:重載
]# rndc reload
第四步:測試
在父域服務(wù)器上解析子域
]# dig -t A www.ops.magedu.com @172.18.11.2
在子域服務(wù)上解析父域
]# dig -t A www.magedu.com @172.18.11.4
在子域服務(wù)器上定義全局轉(zhuǎn)發(fā):
第一步:編輯主配置文件
]# vim /etc/named.conf
在options段編輯:
forward only;
forwarders { 172.18.11.2; };
第二步:重載
]# rndc reload
第三步:測試baidu
]# dig -t A www.baidu.com @172.18.11.4
安全相關(guān)的配置
在子域服務(wù)器上,應(yīng)該僅設(shè)定為允許從服務(wù)器區(qū)域傳送
在主服務(wù)器上配置:僅允許從服務(wù)器區(qū)域傳送;訪問控制列表allow-transfer
]# vim /etc/named.rfc1912.zones
zone "magedu.com" IN {
type master;
file "magedu.com.zone";
allow-transfer { slaves; };
};
在主服務(wù)器上配置訪問控制列表:
編輯/etc/named.conf配置文件,在options段前添加slaves訪問控制列表:
]# vim /etc/named.conf
acl slaves {
172.18.11.3;
127.0.0.1;
};
檢查語法:
]# named-checkconf
重載:
]# rndc reload
在非從服務(wù)器上測試:
]# dig -t axfr magedu.com @172.18.11.2
設(shè)置成功。
在從服務(wù)器上測試區(qū)域傳送:
]# dig -t axfr magedu.com @172.18.11.2
在主服務(wù)器上測試:
]# dig -t axfr magedu.com @172.18.11.2
]# dig -t axfr magedu.com @127.0.0.1
均顯示區(qū)域傳送失??;因為,使用本機172.18.11.2這個地址,在訪問控制列表中沒有定義所以不能傳送;而127.0.0.1這個地址即使在訪問控制列表中定義了,但因為沒有在options段定義監(jiān)聽的地址,所以也不能進行區(qū)域傳送;
修改主服務(wù)器配置文件/etc/named.conf,
]# vim /etc/named.conf
添加監(jiān)聽127.0.0.1:
listen-on port 53 { 127.0.0.1; 172.18.11.2; };
重啟服務(wù):
]# systemctl restart named.service
即可;
配置訪問控制列表中的遞歸,僅允許為本地客戶端做遞歸
修改主服務(wù)器配置文件/etc/named.conf,添加遞歸訪問控制列表;
]# vim /etc/named.conf
添加:
acl mynet {
127.0.0.0/8;
};
僅允許本地127網(wǎng)段做遞歸查詢;
(把recursion yes;改為:)allow-recursion { mynet; };
重載:
]# rndc reload
因此,使用其它主機做遞歸都拒絕,如使用子域服務(wù)器遞歸查詢baidu
]# dig -t A www.baidu.com @172.18.11.4
遞歸查詢失敗;
當(dāng)在主服務(wù)器配置文件/etc/named.conf,添加172.18.11.4到遞歸訪問控制列表即可實現(xiàn)遞歸;
]# vim /etc/named.conf
acl mynet {
172.18.11.4/16;
127.0.0.0/8;
};
重載:
]# rndc reload
此時,使用子域服務(wù)器遞歸查詢baidu;
]# dig -t A www.baidu.com @172.18.11.4
成功遞歸;
對于從服務(wù)器,也要修改主配置文件/etc/named.rfc1912.zones,設(shè)定區(qū)域傳送和遞歸查詢的訪問控制列表;
]# vim /etc/named.rfc1912.zones
zone "magedu.com" IN {
type slave;
file "slaves/magedu.com.zone";
masters { 172.18.11.2; };
allow-transfer { none; };
allow-update { none; }; 禁止進程動態(tài)更新,跟區(qū)域傳送沒關(guān)系;
};
zone "11.18.172.in-addr.arpa" IN {
type slave;
file "slaves/172.18.11.zone";
masters { 172.18.11.2; };
allow-transfer { none; };
allow-update { none; };
};
在子域服務(wù)器上測試是否能通過從服務(wù)器對magedu.com域進行區(qū)域傳送;
]# dig -t axfr magedu.com @172.18.11.3
顯示失??;
]# dig -t axfr ops.magedu.com @172.18.11.4:子域可以為自己進行傳送區(qū)域;因為子域沒有做訪問控制;
正常情況下,每一個域名服務(wù)器,只要沒有從服務(wù)器,allow-transfer都應(yīng)該是none,有從服務(wù)器,allow-transfer應(yīng)該僅指向從服務(wù)器;而且每一個區(qū)域都應(yīng)該是allow-update設(shè)為none,除非使用DDNS。
免責(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)容。