1. 程式人生 > >搭建主從DNS服務器

搭建主從DNS服務器

linux 主從DNS

在DNS域名解析服務中,從服務器可以從主服務器上獲取指定的區域數據文件,從而起到備份解析記錄與負載均衡的作用,所以通過搭建從服務器可以減輕主服務器的負載壓力,還可以提升用戶的查詢的效率。

實驗環境:

系統:Redhat6.5

IP: 主DNS 192.168.10.50 從DNS 192.168.10.10

以正向解析實驗為案例

第1步:主從DNS服務器都安裝bind軟件,提供named服務

yum install bind -y   #yum安裝bind

第2步:配置主DNS服務器

  • 編輯主DNS服務器的主配置文件(/etc/named.conf)
vim /etc/named.conf

options {

listen-on port 53 { any; };
#設置監聽的地址和端口
listen-on-v6 port 53 { ::1; };
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;
};
#允許使用DNS服務的地址
recursion yes;

  • 編輯主DNS服務器的區域配置文件-添加正向“benet.com”區域(/etc/named.rfc1912.zones)

    vim /etc/named.rfc1912.zones

    zone "benet.com" IN {
    #正向“benet.com”區域
    type master; #主區域
    file "benet.com.local"; #正向區域數據文件
    allow-transfer { 192.168.10.10; };


    #允許從服務器下載正向區域數據

  • 編輯主DNS服務器的區域數據文件(/var/named/benet.com.zone)
cd  /var/named
cp -p named.localhost benet.com.local #創建區域數據文件,保留文件的屬性
vim /var/named/benet.com.local
 $TTL 1D
@       IN SOA  benet.com. admin.benet.com. ( #域名、域名管理員的郵箱(不要用@符號)
                                        0       ; serial         #更新序列號
                                        1D      ; refresh        #更新時間
                                        1H      ; retry          #重試延時
                                        1W      ; expire         #失效時間
                                        3H )    ; minimum        #無效解析記錄的緩存時間
        NS      benet.com.        #域名服務器記錄
        A       192.168.10.50    #服務器IPv4地址
        AAAA    ::1                   #服務器IPv6地址
bbs  IN A       192.168.10.45    #正向解析記錄bbs.benet.com.
  • 啟動named服務
    service named start
  • 關閉iptables防火墻,方便從服務器可以下載主服務器的數據文件
    service iptables stop

第3步:配置從DNS服務器

  • 編輯從DNS服務器的主配置文件(/etc/named.conf)
    vim /etc/named.conf

    options {
    listen-on port 53 { any; };
    #設置監聽的地址和端口
    listen-on-v6 port 53 { ::1; };
    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;};
    #允許使用DNS服務的地址
    recursion yes;

  • 編輯從DNS服務器的區域配置文件-添加正向“benet.com”區域(/etc/named.rfc1912.zones)

    vim /etc/named.rfc1912.zones

    zone "benet.com" IN {
    #正向“benet.com”區域
    type slave;
    #類型為從區域
    file "slaves/benet.com.local";
    #下載的區域數據文件保存到slaves/目錄下
    masters { 192.168.10.50; };
    #指定主服務器的IP地址

  • 啟動named服務
    service named start
    • 查看區域數據文件是否下載到/var/named/slaves/目錄下
      [root@RedHat6-1 ~]#  ls -l /var/named/
      總用量 4
      -rw-r--r--. 1 named named 329 3月  20 04:07 benet.com.local
      [root@RedHat6-1 ~]# cat benet.com.local                            
      $ORIGIN .
      $TTL 86400  ; 1 day
      benet.com       IN SOA  benet.com. admin.benet.com. (
              0          ; serial
              86400      ; refresh (1 day)
              3600       ; retry (1 hour)
              604800     ; expire (1 week)
              10800      ; minimum (3 hours)
              )
          NS  benet.com.
          A   192.168.10.50
          AAAA    ::1
      $ORIGIN benet.com.
      bbs         A   192.168.10.45
    • 關閉iptables防火墻,方便客戶端訪問DNS服務器
      service iptables stop

      第4步:用Redhat7的Linux主機測試主從DNS服務器解析結果

在DNS配置文件(/etc/resolv.conf)添加nameserver參數指定DNS服務器IP地址,用nslookup命令進行域名正向解析。

vim /etc/resolv.conf
 nameserver 192.168.10.50  #指定DNS服務器IP地址是主DNS服務器IP地址
[root@RedHat7-1 ~]# nslookup bbs.benet.com
Server:     192.168.10.50               #主DNS服務器解析域名
Address:    192.168.10.50#53

Name:   bbs.benet.com
Address: 192.168.10.45
vim /etc/resolv.conf
 nameserver 192.168.10.10  #指定DNS服務器IP地址是從DNS服務器IP地址
[root@RedHat7-1 ~]# nslookup bbs.benet.com
Server:     192.168.10.10             #從DNS服務器解析域名
Address:    192.168.10.10#53

Name:   bbs.benet.com
Address: 192.168.10.45

搭建主從DNS服務器