dns主從複製及區域傳送

DNS主從複製及區域傳送

  DNS:Domain Name System  域名系統

  DNS是由解析器和域名服務器組成的。

  域名服務器是指保存有該網絡中所有的域名和對應IP地址,並具有將域名轉換爲IP地址功能的服務器。

  DNS使用TCP與UDP端口號都是53,只要使用UDP,服務器之間備份是用tcp連接

  DNS解析查詢主要有兩者:遞歸查詢(進行一次查詢就能得到最終結果)

                         迭代查詢(需要進行多次查詢,才能得到最終結果)

  互聯網上的應用方式一般是:本地遞歸,互聯網部分迭代。所有DNS都不知道其他DNS在哪裏,但都知道根在哪裏,

  本地主機向本地DNS遞歸,本地DNS出去迭代查詢後向本地返回最終結果。

  DNS常見的記錄類型:

   A記錄:  由主機名解析IP地址  

PTR記錄:由IP地址解析主機名  

NS記錄: 用來指定本地的域名服務器(有主,有輔)  

MX記錄: 用來指定本地的郵件服務器  

CNAME:  用來指定一個主機的別名  

SOA:    起始授權記錄,用來說明本域的主域名服務器

區域傳送:從域名服務器每隔一段時間要去主域名服務器上去查詢更新,以保證數據的一致性。這個過程叫區域傳送。

區域傳送過程使用TCP協議 ,53號端口。

區域傳送有兩種類型:

增量區域傳送:ixfr

完全區域傳送:axfr


實驗環境:

      Master Dns Server:CentOS 6.4(2.6.32-358.el6.x86_64)IP:192.168.28.128 hostname:www.ajj.com

  Slave Dns Server:CentOS 6.4(2.6.32-358.el6.x86_64)IP:192.168.28.129

  Domain name:ajj.com


  需要安裝的軟件:bind

  在連網的環境下直接下載安裝:yum install -y bind

  首先要在兩臺虛擬機上把防火牆關閉掉,因爲iptables會影響到區域傳送,主從複製實現不了。

在命令行輸入:service iptables stop(我個人覺得可能版本的問題,有些版本是不用關的,也可能是網絡問題吧)


開始配置DNS實驗:

我們安裝好bind包後進入DNS的主配置文件:

options {

       listen-on port 53 { any; };//將127.0.0.1修改爲any,對監聽任何電腦

       listen-on-v6 port 53 { any; };//同上,

       directory       "/var/named";

       dump-file       "/var/named/data/cache_dump.db";

       statistics-file "/var/named/data/named_stats.txt";

       memstatistics-file "/var/named/data/named_mem_stats.txt";

       allow-query     { any; };//允許所以主機查詢

       recursion yes;


       dnssec-enable yes;

       dnssec-validation yes;

       dnssec-lookaside auto;


       /* Path to ISC DLV key */

       bindkeys-file "/etc/named.iscdlv.key";


       managed-keys-directory "/var/named/dynamic";

};


logging {

       channel default_debug {

               file "data/named.run";

               severity dynamic;

       };

};

zone "." IN {

       type hint;

       file "named.ca";

};

zone "ajj.com" IN {#定義正向區域

       type master;#指定爲主dns

       file "ajj.com";#定義正向資源記錄文件名

       allow-transfer { 192.168.28.129; };#允許將更新的文件傳送到從dns上,ip是從dns地址

};

zone "28.168.192.in-addr.arpa" IN {#定義反向區域

       type master;#指定爲主dns

       file "28.168.192.in-addr.arpa";#定義反向資源記錄文件名

       allow-transfer { 192.168.28.129; };#允許將更新的文件傳送到從dns上,ip是從dns地址

};


include "/etc/named.rfc1912.zones";

include "/etc/named.root.key";


編輯正向解析資源記錄:

[root@localhost named]# vim /var/named/ajj.com


$TTL 1D

@       IN SOA  @ rname.invalid. (

                               2013070611      ; serial

#每次更新後服務器都將此號碼更改,從服務器若查詢到該號碼改變就想服務器請求更新。

                                       1D      ; refresh#從服務器的更新時間

                                       1H      ; retry#從服務器若更新失敗後的重試時間

                                       1W      ; expire#重試多久後就宣告失敗不再更新

                                       3H )    ; minimum#若主服務器找不到對應的請求,允許客戶端再次查詢的時間

@                       NS      ns1.ajj.com.#域名服務器

                       NS      slave.ajj.com.#域名服務器

ns1             IN      A       192.168.28.128#域名到ip記錄

slave.ajj.com.  IN      A       192.168.28.129#域名到ip記錄


編輯正向解析資源記錄:

[root@localhost named]# vim 28.168.192.in-addr.arpa


$TTL 1D

@       IN SOA  @ rname.invalid. (

                               2013070612      ; serial

                                       1D      ; refresh

                                       1H      ; retry

                                       1W      ; expire

                                       3H )    ; minimum

@       NS      ns1.ajj.com.

@       NS      slave.ajj.com.

128 IN  PTR     www.ajj.com.#由ip到域名

129 IN  PTR     slave.ajj.com.#由ip到域名


修改主從DNS SERVER的/etc/resolv.conf

主dns上

[root@localhost named]# vim /etc/resolv.conf


; generated by /sbin/dhclient-script


nameserver 192.168.28.128

nameserver 192.168.28.129


從dns上

[root@localhost slaves]# vim /etc/resolv.conf


; generated by /sbin/dhclient-script

nameserver 192.168.28.129

nameserver 192.168.28.128


我在配置的時候第一次重啓出現

[root@localhost ~]# service named restart

Stopping named:                                            [  OK  ]

Generating /etc/rndc.key:


這裏我們需要執行[root@localhost ~]# rndc-confgen -r /dev/urandom -a

wrote key file "/etc/rndc.key"

[root@localhost ~]#

[root@localhost ~]# service named restart

Stopping named:                                            [  OK  ]

Starting named:                                            [  OK  ]

這樣就可以重啓成功了。這裏要生成一個rndc的密鑰,是用來做遠程連接用的。


到這裏主dns基本配置完成,接下來配置從dns

安裝bind和一些基本操作和主的一樣

從的只要修改從dns的配置文件就可以了

options {

listen-on port 53 { any; };

listen-on-v6 port 53 { any; };

directory "/var/named";

dump-file "/var/named/data/cache_dump.db";

       statistics-file "/var/named/data/named_stats.txt";

       memstatistics-file "/var/named/data/named_mem_stats.txt";

allow-query     { any; };

recursion yes;


dnssec-enable yes;

dnssec-validation yes;

dnssec-lookaside auto;


/* Path to ISC DLV key */

bindkeys-file "/etc/named.iscdlv.key";


managed-keys-directory "/var/named/dynamic";

};


logging {

       channel default_debug {

               file "data/named.run";

               severity dynamic;

       };

};


zone "." IN {

type hint;

file "named.ca";

};

zone "ajj.com" IN {#定義正向區域

type slave;#指定爲從dns

file "slaves/ajj";#定義正向資源記錄文件名

masters { 192.168.28.128; };#定義從dns去ip爲192.168.28.128的 主dns上覆制文件

};

zone "28.168.192.in-addr.arpa" IN {#定義反向區域

type slave;#指定爲從dns

file "slaves/28.168.192";#定義反向資源記錄文件名

masters { 192.168.28.128; };#定義從dns去ip爲192.168.28.128的 主dns上覆制文件


};


include "/etc/named.rfc1912.zones";

include "/etc/named.root.key";


從dns配置完成接下來測試下

我們來看下從dns上是否將主dns上的資源記錄文件複製過來了

[root@localhost ~]# cd /var/named/slaves/

[root@localhost slaves]# ls

28.168.192  ajj


[root@localhost slaves]# cat ajj

$ORIGIN .

$TTL 86400; 1 day

ajj.comIN SOAajj.com. rname.invalid. (

2013070611 ; serial

86400      ; refresh (1 day)

3600       ; retry (1 hour)

604800     ; expire (1 week)

10800      ; minimum (3 hours)

)

NSns1.ajj.com.

NSslave.ajj.com.

$ORIGIN ajj.com.

ns1A192.168.28.128

slaveA192.168.28.129

[root@localhost slaves]# cat 28.168.192

$ORIGIN .

$TTL 86400; 1 day

28.168.192.in-addr.arpaIN SOA28.168.192.in-addr.arpa. rname.invalid. (

2013070612 ; serial

86400      ; refresh (1 day)

3600       ; retry (1 hour)

604800     ; expire (1 week)

10800      ; minimum (3 hours)

)

NSns1.ajj.com.

NSslave.ajj.com.

$ORIGIN 28.168.192.in-addr.arpa.

128PTRwww.ajj.com.

129PTRslave.ajj.com.

複製成功,表示任務基本完成了。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章