如何在CentOS中建立輔域名伺服器
在上篇教程裡,我們為一個測試域exmample.tst建立了一個主域名伺服器(ns1)。在本篇中,我們會在CentOS中使用bind包為相同的域建立一個輔域名伺服器(ns2)。
當建立一個輔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
排錯提示
-
我們無需在輔域名伺服器上建立任何區域檔案。所有的區域檔案都會與主域名伺服器進行同步。
-
輔域名伺服器上的named服務會定期與主伺服器進行同步。如果你想來一次及時的同步,可以使用命令"rncd retransfer "。如下:
# rndc retransfer example.tst
-
只有當主伺服器上區域檔案的serial數字被修改變大的時候,輔域名伺服器才會進行更新。
-
確保使用者named可以對資料夾/var/named或者/var/named/chroot/var/named(使用chroot的情況下)進行寫操作。
-
/var/log/messages會包含有用的資訊。
-
我已經將SELinux關閉了。
-
確保防火牆對UDP53埠開放。
希望這個可以幫到你。
via: http://xmodulo.com/2014/04/secondary-dns-server-centos.html
相關文章
- 如何在 CentOS 中設定 NTP 伺服器CentOS伺服器
- 如何在CentOS 8中安裝OpenLiteSpeed Web伺服器CentOSWeb伺服器
- 如何在 CentOS 7 上安裝 Redis 伺服器CentOSRedis伺服器
- 如何在已有內網網路中增加專案專用域名解析伺服器(DNS)內網伺服器DNS
- Mac小教程:如何在Mac中開啟輔助鍵盤?Mac
- 如何在 CentOS 7 上安裝 Percona伺服器CentOS伺服器
- 如何在 Fedora 上建立一個 TFTP 伺服器FTP伺服器
- 如何在iView中動態建立表格View
- 如何在 Linux 中建立 SSH 別名Linux
- 如何在macOS中建立訪客帳戶Mac
- 如何在 Ubuntu中建立可引導 USB?Ubuntu
- 在一臺Apache伺服器上建立多個站點(不同域名)Apache伺服器
- 教你如何在CentOS中自行編譯升級GitCentOS編譯Git
- 如何在Centos8中新增附加的IPCentOS
- 在vmare中建立centos虛擬機器CentOS虛擬機
- DNS域名伺服器DNS伺服器
- 如何在Ubuntu 16.04中建立GIF動圖Ubuntu
- 如何在 Linux 中從 PDF 建立視訊Linux
- 在CentOS 7中搭建Git伺服器CentOSGit伺服器
- 如何在 CentOS 8 上安裝和配置 Postfix 郵件伺服器CentOS伺服器
- 如何在 Centos 8 / RHEL 8 上安裝和配置 VNC 伺服器CentOSVNC伺服器
- 如何在 CentOS8/RHEL8 中配置 Rsyslog 伺服器CentOS伺服器
- 如何在 CentOS 7 / RHEL 7 終端伺服器上安裝 KVMCentOS伺服器
- 建立Laravel自定義Helper輔助方法Laravel
- redhat開源版本(如centos)oracle安裝事宜RedhatCentOSOracle
- 如何在CentOS 7中使用nmcli工具管理網路CentOS
- 如何在Centos8中安裝GitLab-CECentOSGitlab
- 如何在CentOS 7中安裝和配置OrientDB社群版CentOS
- 如何在 Centos8 中安裝 Lynis審計工具CentOS
- 什麼是域名伺服器?域名伺服器的作用是什麼?伺服器
- 如何在鬆弛中建立互動式按鈕
- 如何在 Laravel 5.1 中建立服務 Service ProviderLaravelIDE
- 如何在 CentOS 8 和 RHEL 8 伺服器上啟用 EPEL 倉庫CentOS伺服器
- 如何在 RHEL8 /CentOS8 上建立多節點 Elastic stack 叢集CentOSAST
- 如何在 Fedora、CentOS、RHEL 中啟用 RPM Fusion 倉庫CentOS
- 如何在Android中避免建立不必要的物件Android物件
- 如何在企業中建立軟體測試的威望
- 如何在 Linux 中建立非登入使用者?Linux