BIND9私人DNS伺服器小環境搭建實驗

來源:互聯網
上載者:User

BIND9私人DNS伺服器小環境搭建實驗 1. 伺服器基本配置 1) 主根伺服器   192.168.56.1012) 從根伺服器    192.168.56.1023) COM伺服器   192.168.56.1034) 解析伺服器     192.168.56.104  2. 編譯及安裝BI11:01 2013-8-22ND91) # tar xvf bind-9.6.1.tar.gz# cd bind-9.6.1#  ./configure --prefix=/usr/local/named  --enable-threads         //開啟多執行緒能力# make && make install2)  從rndc.conf檔案中提取named.conf用的key# cd /usr/local/named# sbin/rndc-confgen > etc/rndc.conf#cd etc/# tail -10 rndc.conf | head -9 | sed s/#\//g > named.conf# cat named.conf [plain]key "rndc-key" {          algorithm hmac-md5;          secret "wk7NzsvLaCobiCFxHB2LXQ==";   };      controls {          inet 127.0.0.1 port 953          allow { 127.0.0.1; } keys { "rndc-key"; };   };    以上環境安裝設定在每台伺服器上是一樣的。  3. 配置主根伺服器 在IP為192.168.56.101的伺服器上1) 開啟named.conf, 添加如下內容# vi named.conf[plain]key "rndc-key" {          algorithm hmac-md5;          secret "wk7NzsvLaCobiCFxHB2LXQ==";   };      controls {          inet 127.0.0.1 port 953                  allow { 127.0.0.1; } keys { "rndc-key"; };   };     options {          directory "/var/named/";          pid-file "/var/named/named.pid";          recursion no;  };     zone "." IN {          type master;          file "db.root";          allow-transfer {192.168.56.102;};  };       其中: recursion no; 關閉遞迴查詢。            allow-transfer {192.168.56.102;}; 允許地區傳送,且僅對給出的IP地址的伺服器             有效。 這裡192.168.56.102是我們的從根伺服器 2) 建立區設定檔# cd /var # mkdir named# cd named# touch db.root# vi db.root[plain]$TTL 86400  @ IN SOA @ root (          12169          1m          1m          1m          1m )     . IN NS root.ns.  root.ns. IN A 192.168.56.101  com. IN NS ns.com.  ns.com. IN A 192.168.56.103      其中: com. IN NS ns.com. 這裡必須要授權出去, 否則遞迴解析時,將找不到類似                           My.com 所對應的地址3) 啟動BIND 並測試#  cd /usr/local/named#  sbin/named -g &#  dig @192.168.56.101 . NS[plain]root@simba-1:/var/named# dig @192.168.56.101 . NS     ; <<>> DiG 9.9.2-P1 <<>> @192.168.56.101 . NS  ; (1 server found)  ;; global options: +cmd  ;; Got answer:  ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 10193  ;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 2  ;; WARNING: recursion requested but not available     ;; OPT PSEUDOSECTION:  ; EDNS: version: 0, flags:; udp: 4096  ;; QUESTION SECTION:  ;.                              IN      NS     ;; ANSWER SECTION:  .                       86400   IN      NS      root.ns.     ;; ADDITIONAL SECTION:  root.ns.                86400   IN      A       192.168.56.101     ;; Query time: 19 msec  ;; SERVER: 192.168.56.101#53(192.168.56.101)  ;; WHEN: Wed Aug 21 07:15:38 2013  ;; MSG SIZE  rcvd: 64         # dig @192.168.56.101 com. NS [plain]root@simba-1:/var/named# dig @192.168.56.101 com. NS     ; <<>> DiG 9.9.2-P1 <<>> @192.168.56.101 com. NS  ; (1 server found)  ;; global options: +cmd  ;; Got answer:  ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 20443  ;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 2  ;; WARNING: recursion requested but not available     ;; OPT PSEUDOSECTION:  ; EDNS: version: 0, flags:; udp: 4096  ;; QUESTION SECTION:  ;com.                           IN      NS     ;; AUTHORITY SECTION:  com.                    86400   IN      NS      ns.com.     ;; ADDITIONAL SECTION:  ns.com.                 86400   IN      A       192.168.56.103     ;; Query time: 17 msec  ;; SERVER: 192.168.56.101#53(192.168.56.101)  ;; WHEN: Wed Aug 21 07:18:16 2013  ;; MSG SIZE  rcvd: 65          4. 配置從根伺服器 在IP為192.168.56.102上1) 開啟named.conf, 添加如下內容# vi named.conf[plain]key "rndc-key" {          algorithm hmac-md5;          secret "JaHjteR5sZxVrMWWcOne9g==";   };     controls {          inet 127.0.0.1 port 953                  allow { 127.0.0.1; } keys { "rndc-key"; };   };     options {          directory "/var/named";          pid-file "/var/run/named/named.pid";          transfer-format many-answers;          recursion no;  };     zone "." IN {          type slave;          file "db.root";          masters { 192.168.56.101; };  };     其中: recursion no; 關閉遞迴查詢。            masters  {192.168.56.101;};  指明主伺服器地址,這樣就可以根據SOA中指定的重新整理時間去與主根同步 2) 建立區設定檔# cd /var # mkdir named從伺服器不需要手動建立 地區檔案。因為從伺服器會自動向主伺服器更新。 3)  啟動BIND 並測試#  cd /usr/local/named#  sbin/named -g & 等待一段時間,確定已經擷取到了區檔案# ls /var/named/  db.root #  dig @192.168.56.102 . NS[plain]; <<>> DiG 9.9.2-P1 <<>> @192.168.56.102 . NS  ; (1 server found)  ;; global options: +cmd  ;; Got answer:  ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 18918  ;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 2  ;; WARNING: recursion requested but not available     ;; OPT PSEUDOSECTION:  ; EDNS: version: 0, flags:; udp: 4096  ;; QUESTION SECTION:  ;.                              IN      NS     ;; ANSWER SECTION:  .                       86400   IN      NS      root.ns.     ;; ADDITIONAL SECTION:  root.ns.                86400   IN      A       192.168.56.101     ;; Query time: 12 msec  ;; SERVER: 192.168.56.102#53(192.168.56.102)  ;; WHEN: Wed Aug 21 07:27:18 2013  ;; MSG SIZE  rcvd: 64            # dig @192.168.56.102 com. NS [plain]root@simba-2:/usr/local/named/etc# dig @192.168.56.102 com. NS     ; <<>> DiG 9.9.2-P1 <<>> @192.168.56.102 com. NS  ; (1 server found)  ;; global options: +cmd  ;; Got answer:  ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 17412  ;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 2  ;; WARNING: recursion requested but not available     ;; OPT PSEUDOSECTION:  ; EDNS: version: 0, flags:; udp: 4096  ;; QUESTION SECTION:  ;com.                           IN      NS     ;; AUTHORITY SECTION:  com.                    86400   IN      NS      ns.com.     ;; ADDITIONAL SECTION:  ns.com.                 86400   IN      A       192.168.56.103     ;; Query time: 19 msec  ;; SERVER: 192.168.56.102#53(192.168.56.102)  ;; WHEN: Wed Aug 21 07:35:10 2013  ;; MSG SIZE  rcvd: 65          5. 配置COM伺服器 在伺服器192.168.56.103上 1) 開啟named.conf, 添加如下內容# vi named.conf[plain]key "rndc-key" {          algorithm hmac-md5;          secret "kMOStrdGYC5WmE1obk7LJg==";   };      controls {          inet 127.0.0.1 port 953                  allow { 127.0.0.1; } keys { "rndc-key"; };   };     options {          directory "/var/named";          pid-file "/var/run/named/named.pid";          allow-query {any;};          recursion no;  };     zone "." IN {          type hint;          file "db.root";  };     zone "com." IN {          type master;          file "db.com";  };     其中: recursion no; 關閉遞迴查詢。             2) 建立區設定檔# cd /var # mkdir named# cd named# touch db.root# vi db.root[plain]$TTL 86000  @ IN SOA @ root (          1          1m          1m          1m          1m  )     . IN NS root.ns.  root.ns. IN A 192.168.56.101  com. IN NS  ns.com.  ns.com. IN A 192.168.56.103      其中: com. IN NS ns.com. 這裡必須要授權出去, 否則遞迴解析時,將找不到類似                           My.com 所對應的地址該檔案和主伺服器上的db.root一樣  # vi db.com[plain]   $TTL 86400  @ IN SOA @ root (          2          1m          1m          1m          1m  )     com. IN NS ns.com.  ns.com. IN A 192.168.56.103  my.com. IN A 192.168.56.201      3) 啟動BIND 並測試#  cd /usr/local/named#  sbin/named -g &#  dig @192.168.56.103 com. NS[plain]        root@simba-2:/usr/local/named/etc# dig @192.168.56.103 com. NS     ; <<>> DiG 9.9.2-P1 <<>> @192.168.56.103 com. NS  ; (1 server found)  ;; global options: +cmd  ;; Got answer:  ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 19097  ;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 2  ;; WARNING: recursion requested but not available     ;; OPT PSEUDOSECTION:  ; EDNS: version: 0, flags:; udp: 4096  ;; QUESTION SECTION:  ;com.                           IN      NS     ;; ANSWER SECTION:  com.                    86400   IN      NS      ns.com.     ;; ADDITIONAL SECTION:  ns.com.                 86400   IN      A       192.168.56.103     ;; Query time: 21 msec  ;; SERVER: 192.168.56.103#53(192.168.56.103)  ;; WHEN: Wed Aug 21 07:45:15 2013  ;; MSG SIZE  rcvd: 65     # dig @192.168.56.103  my.com.  A[plain]root@simba-2:/usr/local/named/etc# dig @192.168.56.103 my.com. A     ; <<>> DiG 9.9.2-P1 <<>> @192.168.56.103 my.com. A  ; (1 server found)  ;; global options: +cmd  ;; Got answer:  ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 23466  ;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2  ;; WARNING: recursion requested but not available     ;; OPT PSEUDOSECTION:  ; EDNS: version: 0, flags:; udp: 4096  ;; QUESTION SECTION:  ;my.com.                                IN      A     ;; ANSWER SECTION:  my.com.                 86400   IN      A       192.168.56.201     ;; AUTHORITY SECTION:  com.                    86400   IN      NS      ns.com.     ;; ADDITIONAL SECTION:  ns.com.                 86400   IN      A       192.168.56.103     ;; Query time: 17 msec  ;; SERVER: 192.168.56.103#53(192.168.56.103)  ;; WHEN: Wed Aug 21 07:46:41 2013  ;; MSG SIZE  rcvd: 84         6. 配置解析伺服器 在伺服器 192.168.56.104上 1) 開啟named.conf, 添加如下內容# vi named.conf[plain]key "rndc-key" {          algorithm hmac-md5;          secret "kMOStrdGYC5WmE1obk7LJg==";   };      controls {          inet 127.0.0.1 port 953                  allow { 127.0.0.1; } keys { "rndc-key"; };   };     options {          directory "/var/named";          pid-file "/var/run/named/named.pid";          allow-query {any;};          recursion yes;          allow-recursion {any;};  };     zone "." IN {          type hint;          file "db.root";  };           其中: recursion  yes; 開啟遞迴查詢。            allow-recursion {any;};  也是開啟遞迴查詢的另一個方法,具體區別再次不表。    2) 建立區設定檔# cd /var # mkdir named# cd named# touch db.root# vi db.root[plain]$TTL 8600  @ IN SOA @ root (          1          1m          1m          1m          1m  )     . IN NS root.ns.  root.ns. IN A 192.168.56.101     其中:  這裡只需給出根 的NS 和A 記錄即可   3) 啟動BIND 並測試#  cd /usr/local/named#  sbin/named -g & Dig 預設是發送遞迴查詢 #  dig @192.168.56.104 com. SOA [plain]      root@simba-2:/usr/local/named/etc# dig @192.168.56.104 com. SOA     ; <<>> DiG 9.9.2-P1 <<>> @192.168.56.104 com. SOA  ; (1 server found)  ;; global options: +cmd  ;; Got answer:  ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 44824  ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2     ;; OPT PSEUDOSECTION:  ; EDNS: version: 0, flags:; udp: 4096  ;; QUESTION SECTION:  ;com.                           IN      SOA     ;; ANSWER SECTION:  com.                    86358   IN      SOA     com. root.com. 2 60 60 60 60     ;; AUTHORITY SECTION:  com.                    86354   IN      NS      ns.com.     ;; ADDITIONAL SECTION:  ns.com.                 86354   IN      A       192.168.56.103     ;; Query time: 16 msec  ;; SERVER: 192.168.56.104#53(192.168.56.104)  ;; WHEN: Wed Aug 21 07:52:46 2013  ;; MSG SIZE  rcvd: 106     可以看出 ;; flags: qr rd ra; 此處沒有aa, 表明是非 權威查詢 # dig @192.168.56.104  my.com.  A[plain]root@simba-2:/usr/local/named/etc# dig @192.168.56.104 my.com. A     ; <<>> DiG 9.9.2-P1 <<>> @192.168.56.104 my.com. A  ; (1 server found)  ;; global options: +cmd  ;; Got answer:  ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21228  ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2     ;; OPT PSEUDOSECTION:  ; EDNS: version: 0, flags:; udp: 4096  ;; QUESTION SECTION:  ;my.com.                                IN      A     ;; ANSWER SECTION:  my.com.                 86286   IN      A       192.168.56.201     ;; AUTHORITY SECTION:  com.                    86259   IN      NS      ns.com.     ;; ADDITIONAL SECTION:  ns.com.                 86259   IN      A       192.168.56.103     ;; Query time: 15 msec  ;; SERVER: 192.168.56.104#53(192.168.56.104)  ;; WHEN: Wed Aug 21 07:54:21 2013  ;; MSG SIZE  rcvd: 84     

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.