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