?DNS子域授權、view配置詳解
子域授權:其實就是將一個比較大的域再分割成小區域,每個小區域可以交由一組或多組服務器管理,這些服務器只解析其管轄範圍內的域名,超出其範圍的解析請求一般會轉發給父域或直接轉發給根域。子域是相對而言的,對於根來說頂級域名就是它的子域,依次類推,我們這裏講提到的子域授權是針對二級域名來說的,也就是三級域名授權。
正向區域的子域授權:使用膠水記錄(glue record),也就是在父域中添加一條NS記錄和一條A記錄即可。如果客戶端的請求超出子域的解析範文,那麽我們就需要定義轉發服務器。
定義轉發服務器:
註意:被轉發的服務器需要能夠為請求者做遞歸,否則,轉發請求不予進行;
(1) 全部轉發: 凡是對非本機所有負責解析的區域的請求,統統轉發給指定的服務器;
Options {
forward {first|only}
fowwarders
}
(2) 區域轉發:僅轉發對特定的區域的請求至某服務器;
zone "ZONE_NAME" IN {
type forward;
forward {first|only}
forwarders
}
配置子域授權:
1、在父DNS服務器的區域解析庫中添加如下幾條記錄
[root@bogon named]# vim czcedu.com.zone
23 ops IN NS ns1.ops
24 ops IN NS ns2.ops
25 ns1.ops IN A 192.168.1.107
26 ns2.ops IN A 192.168.1.108
2、在子域DNS服務器的區域文件中添加子域定義
[root@bogon ~]# vim /etc/named.rfc1912.zones
60 zone "ops.czcedu.com." IN {
61 type master;
62 file "ops.czcedu.com.zone";
63 };
3、編輯子域服務器的區域解析庫文件
[root@bogon named]# vim ops.czcedu.com.zone
1 $TTL 1d
2 $ORIGIN ops.czcedu.com.
3 @ IN SOA ns1.ops.czcedu.com. admin.ops.czcedu.com. (
4 2015042701
5 1H
6 10M
7 1W
8 1D )
9 IN NS ns1
10 IN NS ns2
11 ns1 IN A 192.168.1.107
12 ns2 IN A 192.168.1.108
13 www IN A 172.16.200.1
14 mail IN CNAME www
15 ops.czcedu.com A 192.168.1.107
16 * IN A 192.168.1.107
[root@bogon named]# dig -t A www.ops.czcedu.com @192.168.1.107 #測試子域解析是否正確 這裏在父域和子域解析都是正確的
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.30.rc1.el6 <<>> -t A www.ops.czcedu.com @192.168.1.107
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 31108
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2
;; QUESTION SECTION:
;www.ops.czcedu.com. IN A
;; ANSWER SECTION:
www.ops.czcedu.com. 86400 IN A 172.16.200.1
;; AUTHORITY SECTION:
ops.czcedu.com. 86400 IN NS ns1.ops.czcedu.com.
ops.czcedu.com. 86400 IN NS ns2.ops.czcedu.com.
;; ADDITIONAL SECTION:
ns1.ops.czcedu.com. 86400 IN A 192.168.1.107
ns2.ops.czcedu.com. 86400 IN A 192.168.1.108
;; Query time: 5 msec
;; SERVER: 192.168.1.107#53(192.168.1.107)
;; WHEN: Fri Apr 24 13:02:47 2015
;; MSG SIZE rcvd: 120
4、在子域服務器中添加轉發服務器將對父域的解析請求轉發給父域服務器
[root@bogon named]# vim /etc/named.conf
44 zone "czcedu.com" IN {
45 type forward;
46 forward only;
47 forwarders { 192.168.1.108; };
48 };
5、測試解析父域成功
Bind中基礎的安全相關的配置:
acl: (訪問控制列表)把一個或多個地址歸並為一個集合,並通過一個統一的名稱調用;
acl acl_name {
ip;
ip;
net/prelen;
};
示例:
acl mynet {
172.16.0.0/16;
}
bind有四個內置的acl:
none: 沒有一個主機;
any: 任意主機;
local: 本機;
localnet: 本機的IP同掩碼運算後得到的網絡地址
Bind中的view實現:
View的主要作用是將來自不同網絡的主機分發到不同網段的服務器上,以提高訪問速度降低服務器壓力。就以我們國家情況為例,電信和網通用戶之間的訪問帶寬是非常小的,但是它們內部的訪問帶寬卻非常大,所以我們可以將對同一域名的訪問通過DNS分發到不同的IP之上,那麽就可以實現電信用戶訪問電信的服務器,聯通用戶訪問聯通的服務器,這甚至也是CDN(內容分發網絡)的一種解決方法,但是CDN還可以實現將對同一域名的訪問只解析到一個IP之上,但是擁有這個IP的服務器不做任何內容的反饋,只是將來自不同區域的IP調度到不同區域的緩存服務器上,這樣可以實現高並發高速率的響應用戶請求,後續的博客中也會提到。
配置view:
1、 在DNS服務器中定義acl
2、 定義區域文件view
[root@bogon named]# vim /etc/named.rfc1912.zones
13 view internel { #定義內網訪問策略
14 match-clients { mynet; };
15 allow-recursion { mynet; }; #僅允許內網做遞歸請求
16
17 zone "." IN { #可以做遞歸請求的網段才需要根提示
18 type hint;
19 file "named.ca";
20 };
21
22 zone "localhost.localdomain" IN {
23 type master;
24 file "named.localhost";
25 allow-update { none; };
26 };
27
28 zone "localhost" IN {
29 type master;
30 file "named.localhost";
31 allow-update { none; };
32 };
33
34 zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {
35 type master;
36 file "named.loopback";
37 allow-update { none; };
38 };
39
40 zone "1.0.0.127.in-addr.arpa" IN {
41 type master;
42 file "named.loopback";
43 allow-update { none; };
44 };
45
46 zone "0.in-addr.arpa" IN {
47 type master;
48 file "named.empty";
49 allow-update { none; };
50 };
62
63 zone "czcedu.com." IN {
64 type master;
65 file "czcedu.com.zone"; #定義內網解析庫文件
66 allow-update { none; };
67 };
74 };
75
76 view internet { #定義外網視圖
77 match-clients { internet;};
78 allow-recursion { none; }; #不可做遞歸請求
79
80 zone "czcedu.com." IN {
81 type master;
82 file "czcedu.com.internet"; #定義外網解析庫文件
83 allow-update { none; };
84 };
85 };
3、 創建兩個解析庫文件
4、 從不同客戶端發出的DNS查詢請求返回不同的IP
好了,到此為止我們DNS服務器的應用就告一段落了,如有錯誤敬請指正。
?DNS子域授權、view配置詳解