1. 程式人生 > >BIND9私有DNS伺服器小環境搭建實驗

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

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

2013.8.22

Author: db.

1. 伺服器基本配置

1) 主根伺服器   192.168.56.101

2) 從根伺服器    192.168.56.102

3) COM伺服器   192.168.56.103

4) 解析伺服器     192.168.56.104

2. 編譯及安裝BIND9

1) # tar xvf bind-9.6.1.tar.gz

# cd bind-9.6.1

#  ./configure --prefix=/usr/local/named  --enable-threads
         //開啟多執行緒處理能力

# make && make install

2)  從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

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. 配置主根伺服器 在IP192.168.56.101的伺服器上

1) 開啟named.conf, 新增如下內容

# vi named.conf

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

$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

[email protected]:/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 

[email protected]:/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. 配置從根伺服器 在IP192.168.56.102

1) 開啟named.conf, 新增如下內容

# vi named.conf

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

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

[email protected]:/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

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

$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

 
$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

 
   
[email protected]:/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

[email protected]:/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

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

$TTL 8600
@ IN SOA @ root (
        1
        1m
        1m
        1m
        1m
)
 
. IN NS root.ns.
root.ns. IN A 192.168.56.101


 

其中:  這裡只需給出根 的NS 記錄即可

3) 啟動BIND 並測試

#  cd /usr/local/named

#  sbin/named -g &

Dig 預設是傳送遞迴查詢

#  dig @192.168.56.104 com. SOA

    
[email protected]:/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

[email protected]:/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
 
 

後面在寫篇講 在BIND9 上開啟 DNSSEC的文章。

相關推薦

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

BIND9私有DNS伺服器小環境搭建實驗 2013.8.22 Author: db. 1. 伺服器基本配置 1) 主根伺服器   192.168.56.101 2) 從根伺服器    192.168.56.102 3) COM伺服器   192.168.56.10

BIM開發------BIMServer伺服器環境搭建

 1 前言 BIMServer版本:1.5.88 相關外掛版本:見2下載檔案部分 最近在學習一下BIMServer,首先第一步就是對BIMServer環境的安裝。 主要是兩種安裝和配置方法,一種是通過jar包直接進行執行來安裝,一種是通過war包,將其放置在tomcat目錄

Redis主從配置和哨兵監控配置——伺服器環境搭建

一:介紹 公司用到的redis框架,主要分為cluster的快取叢集和sentinel中的哨兵主從。這種的選用方式一般需要更具業務場景來做區分,兩種框架的配置圖為:右圖為哨兵主從框架和cliuster的叢集框架。sentienl的叢集框架,適用於redis的key值都屬於熱

Ubuntu採用bind9配置DNS伺服器

 Ubuntu採用bind9配置DNS伺服器 最近公司專案需要用到dns伺服器,就搭建了dns伺服器。   1. BIND9 的安裝與配置1.1 bind簡介BIND (Berkeley Inter

主從DNS伺服器叢集的搭建,同步,更新及加密,DDNS的搭建

主從DNS伺服器叢集的搭建 前面的內容已經講到如何搭建DNS伺服器了,現在要給主DNS伺服器配置其他從屬DNS伺服器來分擔壓力 主伺服器: vim /etc/named.conf還原配置 vim /etc/named.rfc1912.zones 修改引數如下:當主DNS有更新時

Hadoop 伺服器基礎環境搭建

虛擬機器linux使用的是centos7作業系統 1. 安裝sz rz工具,用於以後用rz sz上傳下載檔案 yum install -y lrzsz 2. 安裝系統常用軟體 yum install -y openssh-server vim gcc gcc-c++

【Hadoop基礎教程】1、Hadoop之伺服器基礎環境搭建

本blog以K-Master伺服器基礎環境配置為例分別演示使用者配置、sudo許可權配置、網路配置、關閉防火牆、安裝JDK工具等。使用者需參照以下步驟完成KVMSlave1~KVMSlave3伺服器的基礎環境配置。 開發環境 硬體環境:Centos

WebRTC伺服器——Licode 環境搭建

WebRTC伺服器——Licode 環境搭建 系統配置 阿里雲伺服器 Ubuntu 14.04.5 LTS Docker 環境搭建 在一臺空的機器上搭建docker環境,先要安裝docker,執行下面的命令即可: apt-get update apt-get install docker.io

Linux伺服器基礎環境搭建

1.想要安裝golang,sudo apt-get,提示命令找不到2.聽一個人說要安裝yum,於是在網上找到,wget http://yum.baseurl.org/download/3.2/yum-3.2.28.tar.gz,提示wget:命令找不到3.無意中看到yum -

CentOS6.8伺服器LAMP環境搭建(一) 安裝Apache2.4.25

一、系統環境 系統平臺:CentOS 6.8 64位Apache版本: httpd-2.4.25.tar.gzMySQL版本: mysql-5.7.18.tar.gzPHP版本: php-7.1.4.tar.gz phpMyAdmin版本:phpMyAdmin-4.7.0-all-languages.tar

hadoop伺服器基礎環境搭建之Hadoop伺服器配置教程

虛擬機器以及Linux系統安裝在之前的兩篇分享中已經詳細的介紹了方法,並且每一步的都配圖了。如果有朋友還是看不懂,那我也愛莫能助了。本篇主要就hadoop伺服器作業系統配置進行詳細說明,hadoop安裝會在下一篇文章中詳細的介紹。 hadoop安裝包用的是大快DKHadoo

阿里雲伺服器部署環境搭建

我們遇上了雲的時代,系統運維比以前任何一個時代都簡單直接。 將自己最近阿里雲伺服器環境部署的步驟記錄下來,分享給大家,也是自己做個記錄 OS資訊: Linux version 2.6.32-696.3.2.el6.x86_64 ([email

CentOS7上基於BIND9部署DNS伺服器

最近在做GTM方面的測試,就考慮使用Linux下部署的DNS伺服器作為測試平臺。以前零星的用過一段時間BIND,感覺功能挺強大的,鑑於BIND是開源的,就在CentOS上部署一下進行測試。以下是我安裝BIND9的詳細步驟。我的CentOS版本資訊如下:(192.168.55.

快取DNS伺服器和主DNS伺服器的快速搭建詳解

一、設定配置內容 假設我們已經在網上註冊了wangej.com域名,得到的IP網路是172.16.12.0/24 ns伺服器是:172.16.12.1 www伺服器:172.16.12.1,另外一個地址:172.16.12.3 mail伺服器:172.16.12.2 ftp主機在www伺服器上,即ftp為ww

阿里雲伺服器javaweb環境搭建筆記

rpm -qa |grep java檢視是否安裝javagetconf LONG_BIT檢視作業系統位數mkdir /usr/www/java到java目錄下安裝jdk:tar zxvf jdk-8u121-linux-i586.tar.gzcat /etc/profilev

郵件伺服器james環境搭建

nano /usr/local/james-2.3.2/apps/james/SAR-INF/config.xml <!--將兩個true改為false,autodetct設為true會自動偵測你的主機名,設成false會用你指定的server name; autodetectIP設為true會為你

Hadoop 通過bind9配置DNS伺服器替代hosts的IP對映(ubuntu版)

最開始搭建hadoop叢集時,我是用hosts的ip對映實現的各個主機名與IP之間的對映關係。 但是,hosts的ip對映的缺點是,當我們在叢集裡面增加一個機器時,所有機器都要更新他們的hosts檔案,這樣就顯得很繁瑣。 通過查詢資料,可以使用bind9配置DNS來替代原先

linux下用bind9DNS伺服器

我用的是ubuntu server 7.10,很簡單,安裝時就裝了bind9,因此DNS伺服器預設就建立起來了。如果不做額外配置,則可以作為一個DNS快取伺服器使用。安裝bind9: sudo apt-get insta

CentOS 7 伺服器基本環境搭建

JDKSSH 登入伺服器cd /usr mkdir java cp /opt/jdk-8u161-linux-x64.tar.gz /usr/java/ tar -zxvf jdk-8u161-linux-x64.tar.gz #建立短連結 ln -s /usr/java/j

【Linux】伺服器執行環境搭建

前言 ​ Linux伺服器對於我們開發者想必都不陌生,在現在大資料雲服務時代開發者或多或少都需要知道部分Linux的知識,本文詳細介紹在Linux系統的執行環境搭建(採用centos7),包括JDK、Mysql、Tomcat。 採用工具 ​ 這裡我使用VMwa