如何在 CentOS 中創(chuàng)建輔域名服務(wù)器?
在上篇教程里,我們?yōu)橐粋€(gè)測(cè)試域exmample.tst創(chuàng)建了一個(gè)主域名服務(wù)器(ns1)。在本篇中,我們會(huì)在CentOS中使用bind包為相同的域創(chuàng)建一個(gè)輔域名服務(wù)器(ns2)。
當(dāng)創(chuàng)建一個(gè)輔DNS服務(wù)器的時(shí)候,下面的因素需要仔細(xì)考慮。
- 在輔域名服務(wù)器中,你不需要手動(dòng)創(chuàng)建正向和反向區(qū)域文件。這些區(qū)域文件會(huì)定期從主域名服務(wù)器上面同步。
- 當(dāng)主域名服務(wù)器上的任何區(qū)域文件被修改的時(shí)候,'serial'參數(shù)也應(yīng)當(dāng)被更新。只有當(dāng)主服務(wù)器上面區(qū)域文件的serial被修改之后,輔DNS服務(wù)器才會(huì)進(jìn)行同步。
我們假設(shè)輔DNS服務(wù)器的IP地址是172.16.1.4。讓我們來(lái)進(jìn)行安裝。
設(shè)置主機(jī)名
就像主域名服務(wù)器一樣,輔域名服務(wù)器的主機(jī)名也應(yīng)當(dāng)是一個(gè)完全限定域名(FQDN)。
- # vim /etc/sysconfig/network
- HOSTNAME=ns2.example.tst
注意,在該文件中設(shè)置的主機(jī)名在服務(wù)器啟動(dòng)的時(shí)候會(huì)被使用。因此,如果你在系統(tǒng)啟動(dòng)之后修改該文件,修改結(jié)果不會(huì)立刻生效。下面的命令可以用來(lái)在系統(tǒng)運(yùn)行的時(shí)候修改并及時(shí)生效。
- # hostname ns2.example.tst
設(shè)置之后,可以用下面的命令來(lái)查看主機(jī)名稱。
- # hostname
- ns2.example.tst
在進(jìn)行下面的步驟之前,確保所有三臺(tái)服務(wù)器的主機(jī)名稱已經(jīng)被正確設(shè)置。
安裝軟件包
就像主服務(wù)器一樣,配置一臺(tái)輔域名服務(wù)器可以使用chroot或者不用。必須的軟件包可以使用yum輕松安裝。
不使用 chroot:
- # yum install bind
使用 chroot:
- # yum install bind-chroot
為區(qū)域文件的傳輸準(zhǔn)備配置文件
在CentOS中使用bind創(chuàng)建域名服務(wù)器后,默認(rèn)設(shè)置允許所有的區(qū)域文件被任意服務(wù)器同步。安全起見,我們需要配置主域名服務(wù)器,只允許它允許輔域名服務(wù)器進(jìn)行同步。
1. 主域名服務(wù)器
不使用chroot:
- # vim /etc/named.conf
使用chroot:
- # vim /var/named/chroot/etc/named.conf
- zone "example.tst" IN {
- type master;
- file "example-fz"; ## 文件example-fz在主域名服務(wù)器上 ##
- allow-update { none; };
- allow-transfer {172.16.1.4; }; ## 允許輔域名服務(wù)器進(jìn)行傳輸 ##
- };
- zone "1.16.172.in-addr.arpa" IN {
- type master;
- file "rz-172-16-1"; ##文件rz-172-16-1在主域名服務(wù)器上##
- allow-update { none; };
- allow-transfer {172.16.1.4; }; ## 允許輔域名服務(wù)器進(jìn)行傳輸 ##
- };
2. 輔域名服務(wù)器
軟件安裝后提供的默認(rèn)配置文件就可以用來(lái)配置輔域名服務(wù)器。但是,我們使用會(huì)使用另外一個(gè)實(shí)例配置文件來(lái)進(jìn)行配置,因?yàn)檫@樣便于調(diào)整。
不使用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
當(dāng)執(zhí)行完上面的命令進(jìn)行文件拷貝后,添加下面的內(nèi)容到剛才那個(gè)拷貝后的文件中。
- options {
- directory "/var/named";
- forwarders {8.8.8.8; };
- };
- zone "example.tst" IN {
- type slave; ## 該主機(jī)為輔域名服務(wù)器 ##
- file "example-fz"; ## 這個(gè)文件會(huì)被自動(dòng)創(chuàng)建 ##
- //allow-update { none; };
- allow-transfer {172.16.1.3; }; ## 定義必要時(shí)進(jìn)行從其傳輸?shù)闹饔蛎?wù)器 ##
- masters {172.16.1.3; }; ## 定義主域名服務(wù)器 ##
- };
- zone "1.16.172.in-addr.arpa" IN {
- type slave; ## 該主機(jī)被定義為輔域名服務(wù)器 ##
- file "rz-172-16-1"; ## 這個(gè)文件會(huì)被自動(dòng)創(chuàng)建 ##
- // allow-update { none; };
- allow-transfer {172.16.1.3; }; ## 定義主域名服務(wù)器 ##
- masters {172.16.1.3; };
- };
結(jié)束工作
為了確保沒(méi)有權(quán)限相關(guān)的問(wèn)題,我們需要做如下調(diào)整。
不使用chroot:
- chmod 770 /var/named/
使用chroot,你需在named服務(wù)啟動(dòng)后按照下面的命令修改權(quán)限。
- # chmod 770 /var/named/chroot/var/named
現(xiàn)在萬(wàn)事俱備,我們可以重啟named服務(wù)。或者,確保named服務(wù)已經(jīng)被加到了開始列表中。
- # service named restart
- # chkconfig named on
如果不出意外,輔域名服務(wù)器應(yīng)該會(huì)向主域名服務(wù)器請(qǐng)求一個(gè)區(qū)域的傳輸,并且產(chǎn)生自己的/var/named目錄。日志文件/var/log/messages會(huì)包含一些named服務(wù)的有用信息,包括區(qū)域文件傳輸過(guò)程中的信息。
測(cè)試一個(gè)輔域名服務(wù)器
我們可以使用dig或者nslookup進(jìn)行DNS測(cè)試操作。在本篇教程中我們會(huì)使用nslookup來(lái)進(jìn)行演示。必要的軟件包可以通過(guò)yum進(jìn)行安裝。
- # 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
排錯(cuò)提示
-
我們無(wú)需在輔域名服務(wù)器上創(chuàng)建任何區(qū)域文件。所有的區(qū)域文件都會(huì)與主域名服務(wù)器進(jìn)行同步。
-
輔域名服務(wù)器上的named服務(wù)會(huì)定期與主服務(wù)器進(jìn)行同步。如果你想來(lái)一次及時(shí)的同步,可以使用命令"rncd retransfer "。如下:
- # rndc retransfer example.tst
-
只有當(dāng)主服務(wù)器上區(qū)域文件的serial數(shù)字被修改變大的時(shí)候,輔域名服務(wù)器才會(huì)進(jìn)行更新。
-
確保用戶named可以對(duì)文件夾/var/named或者/var/named/chroot/var/named(使用chroot的情況下)進(jìn)行寫操作。
-
/var/log/messages會(huì)包含有用的信息。
-
我已經(jīng)將SELinux關(guān)閉了。
-
確保防火墻對(duì)UDP53端口開放。
希望這個(gè)可以幫到你。
via: http://xmodulo.com/2014/04/secondary-dns-server-centos.html