centos6.7搭建主從DNS服務器

linux下構建DNS服務器BIND

DNS:域名解析。

域名分類

v 頂級域由兩三個字母組成的名稱用於指示國家地區或使用名稱的單位的類型。如

v 組織域.net, .com, .org,.mil, .edu, .gov, .cc, .mobi

v 國家域.jp, .tw, .hk, .iq,.ir, .cn, .uk, .us

wKioL1YCA__wTCcIAAEvBw6VXkM982.jpg

 

全球有13臺根服務器

v A INTERNIC.NET美國弗吉尼亞州 198.41.0.4

v B 美國信息科學研究所美國加利弗尼亞州 128.9.0.107

v C PSINet公司美國弗吉尼亞州 192.33.4.12

v D 馬里蘭大學美國馬里蘭州 128.8.10.90

v E 美國航空航天管理局美國加利弗尼亞州 192.203.230.10

v F 因特網軟件聯盟美國加利弗尼亞州 192.5.5.241

v G 美國國防部網絡信息中心美國弗吉尼亞州 192.112.36.4

v H 美國陸軍研究所美國馬里蘭州 128.63.2.53

v I Autonomica公司瑞典斯德哥爾摩 192.36.148.17

v J VeriSign公司美國弗吉尼亞州 192.58.128.30

v K RIPE NCC英國倫敦 193.0.14.129

v L IANA美國弗吉尼亞州 198.32.64.12

v M WIDE Project日本東京 202.12.27.33

 

DNS服務器類型有

  緩存域名服務器

  也稱爲唯高速緩存服務器

  通過向其他域名服務器查詢獲得域名->IP地址記錄

  將域名查詢結果緩存到本地提高重複查詢時的速度

  主域名服務器

  特定DNS區域的官方服務器具有唯一性

  從域名服務器

  也稱爲輔助域名服務器

   

DNS查詢方式

遞歸查詢

  一般客戶機和服務器之間屬遞歸查詢即當客戶機向DNS服務器發出請求後,DNS服務器本身不能解析,則會向另外的DNS服務器發出查詢請求得到結果後轉交給客戶機

迭代查詢

  一般DNS服務器之間屬迭代查詢如若DNS2不能響應DNS1的請求則它會將DNS3IPDNS2以便其再向DNS3發出請求

 

DNS解析過程

wKioL1YCBHCzMtDMAAIJiDtm9_g591.jpg 

v DNS服務器的主從如何協調

v 區域數據文件有版本號(序列號): serial

v 刷新時間(檢查週期)refresh  --從服務器刷新數據到主服務器拿文件的時間間隔

v 重試時間(重試周期): retry      --從服務器拿數據失敗後多長時間後重試

v 過期時間(失效時長): expire    --如果主服務器掛了從服務器頂上後過多久失效

v 否定應答的TTL                 --多長時間內不接受客戶端的某個地址解析請求

 

v 協調過程從服務器在間隔達到refresh指定的時長後發起同步請求至主服務器主服務器響應serial從服務器與本地的serial進行比較如果主服務器serial大於本地意味主服務器區域數據文件更新了因此請求同步

 

DNS服務使用53號端口

TCP 53端口  服務器與服務器之間的連接

UDP  53 端口  客戶端與DNS服務器的連接

 

zone  區域

type  類型

master 

slave 

include  包含鏈接到另一個文件

 

實例一搭建DNS正向和反向解析服務器。

DNS ip:172.16.1.232

DNS ip:172.16.1.231

 

1  系統環境(兩臺機一樣)

[root@yy slaves]# cat/etc/redhat-release 
CentOS release 6.7 (Final)
[root@yy slaves]# uname -r
2.6.32-573.el6.x86_64 
[root@yy slaves]# iptables -F
[root@yy slaves]# setenforce 0


 

2.安裝bind程序包兩臺機一樣

[root@yy slaves]# rpm -qa bind
[root@yy slaves]# yum install -y bind


 

3.配置DNS配置文件在主DNS

[root@yy named]# vim /etc/named.conf
 
options {
        listen-on port 53 { 172.16.1.232; };                                                    --監聽本一IP
        listen-on-v6 port53 { ::1; };                                                                       
                   forwarders      { 202.96.134.133; };                                        --DNS轉發指向
        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     { 0.0.0.0/0; };                                   --允許哪些客戶端請求。
        recursion yes;
 
        dnssec-enable yes;
        dnssec-validationyes;
        dnssec-lookasideauto;
 
        /* Path to ISC DLVkey */
        bindkeys-file"/etc/named.iscdlv.key";
 
        managed-keys-directory"/var/named/dynamic";
};
 
logging {
        channeldefault_debug {
                file"data/named.run";
                severitydynamic;
        };
};
 
zone "." IN {
        type hint;
        file"named.ca";
};
 
zone "yy.com" IN {
        type master;                                                  數據庫類型
        file"yy.com.zone";                                       
        allow-transfer {172.16.1.231; };               允許哪個主機同步數據庫文件
        allow-update   { none; };                         是否允許更新。
 
};
 
zone "1.16.172.in-addr.arpa" IN {
        type master;
        file"172.16.1.zone";
        allow-transfer {172.16.1.231; };
        allow-update   { none; };
};
 
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

 

[root@yy yy]# vim yy.com.zone


 

$TTL 3H
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1H      ; refresh
                                        1H      ; retry
                                        1D      ; expire
                                       3D )    ; minimum
        NS              ns.yy.com.
        MX      5      mail.yy.com.
mail     IN     A       172.16.1.100
ns       IN     A       172.16.1.232
www    IN      A      172.16.1.100
file         IN     A       172.16.1.110
ftp       IN     A       172.16.1.120


 

 [root@yy yy]# vim192.168.1.zone


 

$TTL 3H
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H)    ; minimum
        NS              ns.yy.com.
ns      IN      A      172.16.1.232
232     IN      PTR    ns.yy.com.
100     IN      PTR    www.yy.com.
110     IN      PTR    file.yy.com.
120     IN      PTR    ftp.yy.com.
100     IN      PTR    mail.yy.com.


 

 

4.檢查配置文件語法錯誤

[root@yy named]# named-checkzone yy.com yy.com.zone 
zone yy.com/IN: loaded serial 0
OK


 

[root@yy named]# named-checkzone yy.com 172.16.1.zone 
zone yy.com/IN: loaded serial 0
OK


 

[root@yy named]# named-checkconf /etc/named.conf


 

5.啓動服務

[root@yy named]# service named restart
停止 named                                              [確定]
啓動 named                                              [確定]


 

 

6.配置主從同步

從服務器配置文件

[root@yy named]# vim /etc/named.conf
 
options {
        listen-on port 53{ 127.0.0.1; };
        listen-on-v6 port53 { ::1; };
                   forwarders      { 202.96.134.133; };
        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     { localhost; };
        recursion yes;
 
        dnssec-enable yes;
        dnssec-validationyes;
        dnssec-lookasideauto;
 
        /* Path to ISC DLVkey */
        bindkeys-file"/etc/named.iscdlv.key";
 
        managed-keys-directory"/var/named/dynamic";
};
 
logging {
        channeldefault_debug {
                file"data/named.run";
                severitydynamic;
        };
};
 
zone "." IN {
        type hint;
        file"named.ca";
};
 
zone "yy.com" IN {
        type slave;
        file"slaves/yy.com.zone";
        masters {172.16.1.232; };
 
 
};
 
zone "1.16.172.in-addr.arpa" IN {
        type slave;                                             數據庫類型爲從
        file"slaves/172.16.1.zone";
        masters {172.16.1.232; };                指定從哪個主服務器下載數據
};
 
 
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";


 

 

啓動從DNS服務器

[root@yy named]# chown -R named.named /var/named/slaves/ 
[root@yy named]# service named restart


 

檢查是否同步成功了區域數據庫文件

[root@yy named]# ls slaves/
172.16.1.zone  yy.com.zone


看到文件同步過來主從成功。


剩下就是找臺客戶機試驗啦!!!

 


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