接第一部分課后練習
三、課后練習:
2、配置反向解析:
步驟一:寫主配置文件:改成與上個實驗相同,也可以自己寫一個簡單的配置文件,如下:
[root@localhost tmp]# cat named.conf.new options { directory "/var/named"; }; zone "." IN { type hint; file "named.ca" }; zone "localhost" IN { type master file "named.localhost"; }; zone "0.0.127.in-addr.arpa" IN { type master; file "named.loopback"; };
步驟二:編輯區域輔助配置文件和解析庫文件:
區域文件:在最后添加如下幾行,格式仿照(IP反寫):
zone "1.10.in-addr.apra" IN {
type master;
file "magedu.com.arpa.zone";
};
解析庫文件:
$TTL 600
@ IN SOA ns1.magedu.com. admin.magedu.com. (
2016092301
1H
5M
1W
1D)
IN NS ns1.magedu.com.
250.54 IN PTR ns1.magedu.com.
2.1 IN PTR qq.magedu.com.
步驟三:測試(關閉防火墻):
[root@centos68 ~]# dig -x 10.1.54.250 ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6 <<>> -x 10.1.54.250 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 54104 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1 ;; QUESTION SECTION: ;250.54.1.10.in-addr.arpa. IN PTR ;; ANSWER SECTION: 250.54.1.10.in-addr.arpa. 600 IN PTR ns1.magedu.com. ;; AUTHORITY SECTION: 1.10.in-addr.arpa. 600 IN NS ns1.magedu.com. ;; ADDITIONAL SECTION: ns1.magedu.com. 600 IN A 10.1.54.250 ;; Query time: 3 msec ;; SERVER: 10.1.54.250#53(10.1.54.250) ;; WHEN: Sat Sep 24 20:37:45 2016 ;; MSG SIZE rcvd: 100
使用nslookup測試:
[root@centos68 ~]# nslookup > 10.1.1.2 Server: 10.1.54.250 Address: 10.1.54.250#53 2.1.1.10.in-addr.arpa name = qq.magedu.com.
3、配置子域DNS服務器和轉發(關閉selinux):
步驟一:更改主配置文件:更改為以上(不變),但是之后可以配置轉發;
步驟二:更改區域輔助配置文件和解析庫文件:寫入子域配置:
定義區域配置文件:添加如下內容:
zone "game.magedu.com" IN {
type master;
file "game.magedu.com.zone";
};
子域解析庫文件,此處無需父域信息,解析時會迭代找根DNS服務器,但本地不能聯網,因此需要設置轉發;若能聯網,會在解析一次后緩存,再有同樣請求就會直接解析(遞歸),只要本地能夠聯網并開啟named服務,就可以提供解析(將請求轉發至根并緩存)):
[root@centos68 ~]# cat /var/named/game.magedu.com.zone $TTL 3600 @ IN SOA ns1.game.magedu.com. admin.game.magedu.com. ( 2016092302 1H 30M 1W 1D ) IN NS ns1.game.magedu.com. ns1 IN A 10.1.252.60 game.magedu.com. IN MX 10 mail.game.magedu.com. mail.game.magedu.com. IN A 10.1.4.4 www.game.magedu.com. IN A 10.1.5.5
更改父域的解析庫文件,給子域授權:添加如下兩行:
game IN NS ns1.game.magedu.com.
ns1.game.magedu.com. IN A 10.1.5.4
檢測文件:
[root@localhost named]#named-checkzone "game.magedu.com" game.magedu.com.zone zone game.magedu.com/IN: loaded serial 2016092302 OK
步驟三:添加轉發:被轉發的服務器需要能夠為請求者做遞歸,否則轉發請求不予進行;
全局轉發:對本機所負責解析區域的請求,全部轉發給指定服務器;
options {
forward first|only;(first是指僅轉發一次,若不能解析就自己解析;only指只向此IP轉發,不會自己解析。)
forwarders { IP; };
};
特定區域轉發:僅轉發對特定的區域的請求,全局轉發優先級高:
zone “ZONE_NAME” IN {
type forward;
forward first|only;
forwarders { IP; };
};
更改主配置文件:在options中添加如下兩行(全局轉發):
forward only;
forwarders { 10.1.54.250; };
或者添加如下(特定區域優先級更高):
zone "magedu.com" IN {
type forward;
forward only;
forwarders { 10.1.54.250; };
};
步驟四:重啟服務和檢測:
直接使用命令測試子域服務器的解析,可以成功:
[root@centos68 ~]# dig -t A www.game.magedu.com @10.1.252.60 ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6 <<>> -t A www.game.magedu.com @10.1.252.60 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 3392 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1 ;; QUESTION SECTION: ;www.game.magedu.com. IN A ;; ANSWER SECTION: www.game.magedu.com. 3600 IN A 10.1.5.5 ;; AUTHORITY SECTION: game.magedu.com. 3600 IN NS ns1.game.magedu.com. ;; ADDITIONAL SECTION: ns1.game.magedu.com. 3600 IN A 10.1.252.60 ;; Query time: 2 msec ;; SERVER: 10.1.252.60#53(10.1.252.60) ;; WHEN: Sat Sep 24 22:51:01 2016 ;; MSG SIZE rcvd: 87
檢測設置全局轉發之后的父域:通過子域IP檢測父域:
[root@centos68 ~]# dig -t A www.magedu.com @10.1.252.60 ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6 <<>> -t A www.magedu.com @10.1.252.60 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12858 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2 ;; QUESTION SECTION: ;www.magedu.com. IN A ;; ANSWER SECTION: www.magedu.com. 600 IN A 10.1.4.2
設置特定區域轉發之后的檢測:
[root@centos68 ~]# dig -t A ns1.magedu.com @10.1.252.60 ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6 <<>> -t A ns1.magedu.com @10.1.252.60 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 54867 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 1 ;; QUESTION SECTION: ;ns1.magedu.com. IN A ;; ANSWER SECTION: ns1.magedu.com. 600 IN A 10.1.54.250
3、配置緩存DNS服務器:
更改主配置文件:
options {
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
allow-query { any; };
datesize 100M;
recursion yes;
dnssec-enable no;
dnssec-validation no;
};
若主機聯網,使用命令例如dig -t A www.baidu.com @10.1.252.134,第一次先去找根,返回結果并緩存,第二次直接從緩存中提取。若不能聯網則不能解析,但是可以自己模擬一個根服務器,更改根文件,測試也可以使用。
4、配置根服務器:
使用兩臺主機,一臺做根DNS服務器,一臺用來做二級域;首先配置根服務器;因為根服務器必須自己也配置一個域,別人才可以訪問,而這個域就是根“.”。
步驟一:在根服務器編輯主配置文件,除了正常要注釋和改動的地方之外,注釋以下內容:
//zone "." IN {
// type hint;
// file "named.ca";
//};
步驟二:根服務器的區域輔助文件,添加根域:
zone "." IN {
type master;
file "root.zone";
};
步驟三:根服務器的解析庫root.zone文件,添加授權,此處授權一個名為com的子域:
$TTL 64300
@ IN SOA ns1. admin.com. (
2016092307
1D
1H
1W
1H )
IN NS ns1.
ns1. IN A 10.1.252.60
com IN NS ns2.com.
ns2.com IN A 10.1.252.134
步驟四:更改根配置文件name.ca,注釋其他根服務器,僅指向自己:
. 3600000 NS A.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET. 3600000 A 10.1.252.60
步驟五:更改二級域的主配置文件,正常改動;再更改區域輔助文件,添加內容:
zone "com" IN {
type master;
file "root.com.zone";
};
步驟六:更改二級域的解析庫文件:
$TTL 86200
@ IN SOA ns2.com. admin.mage.com. (
2016092306
1H
5M
1W
1D )
IN NS ns2.com.
ns2.com. IN A 10.1.252.134
www.com. IN A 194.1.2.4
步驟七:更改二級域主機的根服務器配置文件,添加新的根服務器:
. 3600000 NS B.ROOT-SERVERS.NET.
B.ROOT-SERVERS.NET. 3600000 A 10.1.252.60
步驟八:更改文件屬組和權限;重啟服務:
步驟九:測試機測試,關閉防火墻,測試機也需要更改根配置文件,將其指向新根:
首先通過根查找二級域:
[root@centos68 ~]# dig -t NS com @10.1.252.60 ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6 <<>> -t NS com @10.1.252.60 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 36809 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; QUESTION SECTION: ;com. IN NS ;; ANSWER SECTION: com. 86010 IN NS ns2.com.
再通過二級域查找根:
[root@centos68 ~]# dig -t NS . @10.1.252.134 ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6 <<>> -t NS . @10.1.252.134 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 48123 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; QUESTION SECTION: ;. IN NS ;; ANSWER SECTION: . 63579 IN NS ns1.
5、bind中的acl:
ACL:把一個或多個地址歸為一個集合,并通過一個統一的名稱調用,在主配置文件中在option之前添加如下幾行:
acl myhost {
10.1.252.134;
1.2.3.4/24;
};
將此列表添加至允許查詢中:
allow-query { myhost; };
重啟服務,使用IP為252.134的主機測試:
[root@centos68 ~]# dig -t A www.magedu.com @10.1.54.250 ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6 <<>> -t A www.magedu.com @10.1.54.250 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 50166 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2 ;; QUESTION SECTION: ;www.magedu.com. IN A ;; ANSWER SECTION: www.magedu.com. 600 IN A 10.1.4.2
使用252.28的主機測試,無法查詢:
[root@localhost ~]# dig -t A www.magedu.com ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6 <<>> -t A www.magedu.com ;; global options: +cmd ;; connection timed out; no servers could be reached [root@localhost ~]# dig -t A www.magedu.com @10.1.54.250 ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6 <<>> -t A www.magedu.com @10.1.54.250 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 6944 ;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0 ;; WARNING: recursion requested but not available ;; QUESTION SECTION: ;www.magedu.com. IN A
注意:配置文件中訪問控制的指令有四種:
allow-query {}; 允許查詢的主機;白名單;
allow-transfer {}; 允許區域傳送的主機;白名單;
allow-recursion {}; 允許遞歸的主機,建議全局使用,any;
allow-update {}; 允許更新區域數據庫中的內容。
6、視圖:
步驟一:編輯主配置文件,添加別名(為了方便使用添加,若少量IP可不添加)。
acl telcom {
10.1.252.134;
192.168.2.6/16;
};
acl unicom {
10.1.54.250;
2.2.4.1/24;
};
步驟二:編輯區域輔助文件和解析庫文件:
區域輔助文件:named.rfc1912.zones:將所有的zone都放入視圖中,包括默認存在的本機的解析以及主配置文件中的根區域:
view unicom1 {
match-clients { unicom; };
zone "unicom.com" IN {
type master;
file "unicom.com.zone";
};
};
view telcom1 {
match-clients { telcom; };
zone "unicom.com" IN {
type master;
file "telcom.com.zone";
};
};
使用any指定剩余所有IP,按順序any應該放在最后。含有本地所有內容(此處省略):
view local1 {
match-clients { any; };
zone "magedu.com" IN {
type slave;
masters { 10.1.54.250; };
file "magedu.com.zone";
};
};
解析庫文件(www不同,DNS相同):
[root@localhost ~]# cat /var/named/unicom.com.zone $TTL 43200 @ IN SOA ns1.unicom.com. admin.unicom.com. ( 2016092304 1H 5M 1W 1D ) IN NS ns1.unicom.com. ns1 IN A 10.1.252.28 www IN A 195.26.13.4 [root@localhost ~]# cat /var/named/telcom.com.zone $TTL 43200 @ IN SOA ns1.unicom.com. admin.unicom.com. ( 2016092304 1H 5M 1W 1D ) IN NS ns1.unicom.com. ns1 IN A 10.1.252.28 www IN A 195.26.120.120
步驟三:更改權限和屬組,重啟服務:
[root@localhost ~]# service named restart Stopping named: [ OK ] Starting named: [ OK ]
步驟四:檢測:
首先使用telcom的acl中定義的252.134測試:
[root@centos68 ~]# dig -t A www.unicom.com @10.1.252.28 ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6 <<>> -t A www.unicom.com @10.1.252.28 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 25877 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1 ;; QUESTION SECTION: ;www.unicom.com. IN A ;; ANSWER SECTION: www.unicom.com. 43200 IN A 195.26.120.120 ;; AUTHORITY SECTION: unicom.com. 43200 IN NS ns1.unicom.com. ;; ADDITIONAL SECTION: ns1.unicom.com. 43200 IN A 10.1.252.28 ;; Query time: 1 msec ;; SERVER: 10.1.252.28#53(10.1.252.28) ;; WHEN: Sun Sep 25 18:03:50 2016 ;; MSG SIZE rcvd: 82
再使用unicom的acl中定義的54.250測試:
[root@localhost ~]# dig -t A www.unicom.com @10.1.252.28 ; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7 <<>> -t A www.unicom.com @10.1.252.28 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 30278 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;www.unicom.com. IN A ;; ANSWER SECTION: www.unicom.com. 43200 IN A 195.26.13.4 ;; AUTHORITY SECTION: unicom.com. 43200 IN NS ns1.unicom.com. ;; ADDITIONAL SECTION: ns1.unicom.com. 43200 IN A 10.1.252.28 ;; Query time: 1 msec ;; SERVER: 10.1.252.28#53(10.1.252.28) ;; WHEN: 日 9月 25 16:02:27 CST 2016 ;; MSG SIZE rcvd: 93
可以發現,訪問同一個網址,使用的解析地址都為252.28,但是返回的IP不同。
原創文章,作者:SilencePavilion,如若轉載,請注明出處:http://www.www58058.com/51662