Linux中國

如何在CentOS中創建輔域名伺服器

當創建一個輔DNS伺服器的時候,下面的因素需要仔細考慮。

  • 在輔域名伺服器中,你不需要手動創建正向和反向區域文件。這些區域文件會定期從主域名伺服器上面同步。
  • 當主域名伺服器上的任何區域文件被修改的時候,'serial'參數也應當被更新。只有當主伺服器上面區域文件的serial被修改之後,輔DNS伺服器才會進行同步。

我們假設輔DNS伺服器的IP地址是172.16.1.4。讓我們來進行安裝。

設置主機名

就像主域名伺服器一樣,輔域名伺服器的主機名也應當是一個完全限定域名(FQDN)。

# vim /etc/sysconfig/network
HOSTNAME=ns2.example.tst

注意,在該文件中設置的主機名在伺服器啟動的時候會被使用。因此,如果你在系統啟動之後修改該文件,修改結果不會立刻生效。下面的命令可以用來在系統運行的時候修改並及時生效。

# hostname ns2.example.tst

設置之後,可以用下面的命令來查看主機名稱。

# hostname
ns2.example.tst

在進行下面的步驟之前,確保所有三台伺服器的主機名稱已經被正確設置。

安裝軟體包

就像主伺服器一樣,配置一台輔域名伺服器可以使用chroot或者不用。必須的軟體包可以使用yum輕鬆安裝。

不使用 chroot:

# yum install bind

使用 chroot:

# yum install bind-chroot

為區域文件的傳輸準備配置文件

在CentOS中使用bind創建域名伺服器後,默認設置允許所有的區域文件被任意伺服器同步。安全起見,我們需要配置主域名伺服器,只允許它允許輔域名伺服器進行同步。

1. 主域名伺服器

不使用chroot:

# vim /etc/named.conf

使用chroot:

# vim /var/named/chroot/etc/named.conf
zone "example.tst" IN {
    type master;
    file "example-fz"; ## 文件example-fz在主域名伺服器上 ##
    allow-update { none; };
    allow-transfer {172.16.1.4; }; ## 允許輔域名伺服器進行傳輸 ##
};

zone "1.16.172.in-addr.arpa" IN {
    type master;
    file "rz-172-16-1"; ##文件rz-172-16-1在主域名伺服器上##
    allow-update { none; };
    allow-transfer {172.16.1.4; }; ## 允許輔域名伺服器進行傳輸 ##
};

2. 輔域名伺服器

軟體安裝後提供的默認配置文件就可以用來配置輔域名伺服器。但是,我們使用會使用另外一個實例配置文件來進行配置,因為這樣便於調整。

不使用chroot:

# cp /usr/share/doc/bind-9.8.2/sample/etc/named.rfc1912.zones /etc/named.conf

使用chroot:

# cp /usr/share/doc/bind-9.8.2/sample/etc/named.rfc1912.zones /var/named/chroot/etc/named.conf

當執行完上面的命令進行文件拷貝後,添加下面的內容到剛才那個拷貝後的文件中。

options {
        directory "/var/named";
        forwarders {8.8.8.8; };

};

zone "example.tst" IN {
        type slave;  ## 該主機為輔域名伺服器 ##
        file "example-fz"; ## 這個文件會被自動創建 ##
        //allow-update { none; };
        allow-transfer {172.16.1.3; };  ## 定義必要時進行從其傳輸的主域名伺服器 ##
        masters {172.16.1.3; }; ## 定義主域名伺服器 ##
};

zone "1.16.172.in-addr.arpa" IN {
        type slave; ## 該主機被定義為輔域名伺服器 ##
        file "rz-172-16-1"; ## 這個文件會被自動創建 ##
//      allow-update { none; };
        allow-transfer {172.16.1.3; };  ## 定義主域名伺服器 ##
        masters {172.16.1.3; };
};

結束工作

為了確保沒有許可權相關的問題,我們需要做如下調整。

不使用chroot:

chmod 770 /var/named/

使用chroot,你需在named服務啟動後按照下面的命令修改許可權。

# chmod 770 /var/named/chroot/var/named

現在萬事俱備,我們可以重啟named服務。或者,確保named服務已經被加到了開始列表中。

# service named restart
# chkconfig named on

如果不出意外,輔域名伺服器應該會向主域名伺服器請求一個區域的傳輸,並且產生自己的/var/named目錄。日誌文件/var/log/messages會包含一些named服務的有用信息,包括區域文件傳輸過程中的信息。

測試一個輔域名伺服器

我們可以使用dig或者nslookup進行DNS測試操作。在本篇教程中我們會使用nslookup來進行演示。必要的軟體包可以通過yum進行安裝。

# yum install bind-utils
# nslookup
> server 172.16.1.4
Default server:     172.16.1.4
Address:            172.16.1.4#53

> example.tst
Server:             172.16.1.4
Address:    172.16.1.4#53

Name:       example.tst
Address:    172.16.1.3

> set type=mx
> example.tst
Server:             172.16.1.4
Address:            172.16.1.4#53

example.tst         mail exchanger = 10 mail.example.tst.

> exit

排錯提示

  1. 我們無需在輔域名伺服器上創建任何區域文件。所有的區域文件都會與主域名伺服器進行同步。
  2. 輔域名伺服器上的named服務會定期與主伺服器進行同步。如果你想來一次及時的同步,可以使用命令"rncd retransfer "。如下:
# rndc retransfer example.tst
  1. 只有當主伺服器上區域文件的serial數字被修改變大的時候,輔域名伺服器才會進行更新。
  2. 確保用戶named可以對文件夾/var/named或者/var/named/chroot/var/named(使用chroot的情況下)進行寫操作。
  3. /var/log/messages會包含有用的信息。
  4. 我已經將SELinux關閉了。
  5. 確保防火牆對UDP53埠開放。

希望這個可以幫到你。

via: http://xmodulo.com/2014/04/secondary-dns-server-centos.html

譯者:zzlyzq 校對:wxy

本文由 LCTT 原創翻譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國