DNS和BIND配置(第二部分)

接第一部分課后練習

三、課后練習:

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; };

重啟服務,使用IP252.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  ]

步驟四:檢測

首先使用telcomacl中定義的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

再使用unicomacl中定義的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

(0)
SilencePavilionSilencePavilion
上一篇 2016-10-17
下一篇 2016-10-17

相關推薦

  • 初學Linux的感受

    我是馬哥25期的學員,之前從來沒有接觸過Linux,近幾天學習Linux下來,收獲很多,懂了一些基本命令,以及安裝Linux系統. 我知道從一個什么也不懂的小白變成站在云端的大神,這之間需要付出多少的努力和汗水.開學典禮有幸見到馬哥本人,也見到 我的授課教師老王,之前看到兩位上課的視頻,詼諧幽默,我很喜歡! 但愿我這四個月痛并快樂著. 努力,然后看到勝利的曙…

    Linux干貨 2017-07-11
  • Nginx及其相關配置詳解(一)

    Nginx: Nginx (engine x) 是一個高性能的HTTP和反向代理服務器,也是一個IMAP/POP3/SMTP服務器。Nginx是由Igor Sysoev為俄羅斯訪問量第二的Rambler.ru站點開發的,第一個公開版本0.1.0發布于2004年10月4日。其將源代碼以類BSD許可證的形式發布,因它的穩定性、豐富的功能集、示例配置文件和低系統資…

    2017-06-22
  • rsyslog日志存儲到mysql數據庫中并利用loganalyzer進行web圖形化分析管理

    概述     系統日志的重要性,相信大家都深有體會,當發生故障后,第一時間就是查看相關報錯信息和日志信息,以定位問題所在,還可以基于日志,進行日志的分析,從而獲取系統運行狀態的一些規律,本篇就介紹關于系統日志的先關內容,具體分為:     1、rsyslog相關概念的介紹 &nb…

    Linux干貨 2016-10-18
  • N26-第十周

    1、請詳細描述CentOS系統的啟動流程(詳細到每個過程系統做了哪些事情)     看到同學的圖不錯拿來用用 ~ ~      2、為運行于虛擬機上的CentOS 6添加一塊新硬件,提供兩個主分區;  (1) 為硬盤新建兩個主分區;并為其安裝grub;  (2) 為硬盤的第一個主…

    2017-03-26
  • Linux磁盤陣列RAID以及mdadm實現軟件RAID

    一、概要 RAID(磁盤陣列):由眾多價格較便宜的磁盤,組合成一個容量巨大的磁盤組,利用個別磁盤提供數據所產生加成效果來提升整個磁盤的性能。 二、RAID的級別及其優缺點 讀性能提升 寫性能提升 容錯能力 組合后空間大小 RAID0 上升 上升 無 n*單個磁盤大小 RAID1 上升 下降 有(最多壞一塊磁盤) 1*單個磁盤大小 RAID4 上升 上升 有(…

    2015-04-20
  • Shell腳本編程

    Shell腳本編程 關于腳本的調試     bash -n /path/to/some_script                   &…

    Linux干貨 2016-08-15
欧美性久久久久