diff --git a/sources/tech/How to set up a secondary DNS server in CentOS.md b/sources/tech/How to set up a secondary DNS server in CentOS.md deleted file mode 100644 index 2aaa0d0095..0000000000 --- a/sources/tech/How to set up a secondary DNS server in CentOS.md +++ /dev/null @@ -1,187 +0,0 @@ -How to set up a secondary DNS server in CentOS -================================================================================ -In the [previous tutorial][1], we created a primary DNS server (ns1) for a test domain example.tst. In this tutorial, we will create a secondary DNS server (ns2) for the same domain by using bind package on CentOS. - -When it comes to setting up a secondary DNS server, the following factors should be kept in mind. - -- You do NOT need to manually create forward and reverse zone files in the secondary DNS server. The zone files will be periodically synced from the primary DNS server automatically. -- Whenever any zone file is modified in the primary DNS server, the parameter 'serial' should be updated. The secondary DNS server will initiate synchronization (zone transfer) only if serial at the primary server has been changed. - -We assume that the IP address of the secondary DNS server to be set up is 172.16.1.4. Let us start installing. - -### Setting up Hostnames ### - -Just like the primary DNS server, the hostname of the secondary name server should be defined as FQDN properly. - - # vim /etc/sysconfig/network - -> HOSTNAME=ns2.example.tst - -Note that the hostname parameter specified in this file is used while the server is booting up. Therefore, the change does not take effect immediately. The following command can be used to change the hostname of a server immediately at run-time. - - # hostname ns2.example.tst - -Once set, hostname can be verified using the following command. - - # hostname - -> ns2.example.tst - -Before proceeding to the next step, make sure that the hostname of all three servers are set properly. - -### Installing Packages ### - -Just like a [primary server][2], a secondary DNS server can be set up with or without chroot. Necessary packages can be easily installed using yum. - -Without chroot: - - # yum install bind - -With chroot: - - # yum install bind-chroot - -### Preparing Configuration File for Zone Transfers ### - -The DNS server powered by bind on CentOS will by default allow zone transfers for any requesting server. For security reasons, we need to configure the primary DNS server, such that it permits zone transfers to the secondary DNS server (172.16.1.4) only. - -#### 1. Primary DNS Server #### - -Without chroot: - - # vim /etc/named.conf - -With chroot: - - # vim /var/named/chroot/etc/named.conf - ----------- - - zone "example.tst" IN { - type master; - file "example-fz"; ## the zone file hosted at NS1 ## - allow-update { none; }; - allow-transfer {172.16.1.4; }; ## NS2 is permitted ## - }; - - zone "1.16.172.in-addr.arpa" IN { - type master; - file "rz-172-16-1"; ##the zone file hosted at NS1## - allow-update { none; }; - allow-transfer {172.16.1.4; }; ## NS2 is permitted ## - }; - -#### 2. Secondary DNS Server #### - -The default configuration file provided with the installation could be used to configure the secondary server. However, we will be using another sample configuration file as it is easier to tune. - -Without chroot: - - # cp /usr/share/doc/bind-9.8.2/sample/etc/named.rfc1912.zones /etc/named.conf - -With chroot: - - # cp /usr/share/doc/bind-9.8.2/sample/etc/named.rfc1912.zones /var/named/chroot/etc/named.conf - -After the sample configuration file is copied over, the following lines are added/modified. - - options { - directory "/var/named"; - forwarders {8.8.8.8; }; - - }; - - zone "example.tst" IN { - type slave; ## NS2 role is defined ## - file "example-fz"; ## the name of the zone file to be automatically created ## - //allow-update { none; }; - allow-transfer {172.16.1.3; }; ## NS1 is allowed for zone transfer when necessary ## - masters {172.16.1.3; }; ## the master NS1 is defined ## - }; - - zone "1.16.172.in-addr.arpa" IN { - type slave; ## NS2 role is defined ## - file "rz-172-16-1"; ## the name of the zone file to be automatically created ## - // allow-update { none; }; - allow-transfer {172.16.1.3; }; ## the master NS1 is defined ## - masters {172.16.1.3; }; - }; - -### Finalizing Installation ### - -To make sure that there is no permission related issues, we need to adjust the following. - -Without chroot: - - chmod 770 /var/named/ - -With chroot, you need to modify the permission as follows AFTER named service has started. - - # chmod 770 /var/named/chroot/var/named - -Now that everything is ready, we can restart named service. Also, make sure that named service is added to startup list. - - # service named restart - # chkconfig named on - -If all goes well, the secondary DNS server should request a zone transfer from the primary DNS server, and populate its own /var/named. The log file /var/log/messages should contain useful information about the status of the named service as well as the zone transfer. - -### Testing a Secondary DNS Server ### - -We can use dig or nslookup to test DNS operations. We will be demonstrating the use of nslookup in this tutorial. Necessary packages can be installed using 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 - -### Troubleshooting ### - -1. We do not need to create any zone files in the secondary DNS server. All the zone files will be synchronized from the primary server. - -2. The named service at the secondary server will periodically initiate zone transfers with the primary server. If you want to force a one-time zone transfer, the command "rndc retransfer " can be used. For example: - - # rndc retransfer example.tst - -3. A secondary DNS server will update its zone files only if the serial at the primary server has been modified/incremented. - -4. Make sure that the directory /var/named or /var/named/chroot/var/named (in case of chroot) is writable by named user. - -5. /var/log/messages should contain useful information. - -6. I have SELinux turned off. - -7. Make sure UDP port 53 is allowed in the firewall. - -Hope this helps. - --------------------------------------------------------------------------------- - -via: http://xmodulo.com/2014/04/secondary-dns-server-centos.html - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://xmodulo.com/2014/04/primary-dns-server-using-centos.html -[2]:http://xmodulo.com/2014/04/primary-dns-server-using-centos.html \ No newline at end of file diff --git a/translated/tech/How to set up a secondary DNS server in CentOS.md b/translated/tech/How to set up a secondary DNS server in CentOS.md new file mode 100644 index 0000000000..e265462b0a --- /dev/null +++ b/translated/tech/How to set up a secondary DNS server in CentOS.md @@ -0,0 +1,194 @@ +[Translated by zzlyzq] + +如何在CentOS中创建辅域名服务器 +================================================================================ +在[上篇教程][1]里,我们为一个测试域exmample.tst创建了一个主域名服务器(ns1)。在本篇中,我们会在CentOS中使用bind包为相同的域创建一个辅域名服务器(ns2)。 + +当创建一个辅DNS服务器的时候,下面的因素需要仔细考虑。 + +- 在辅域名服务器中,你不需要手动创建正向和反向区域文件。这些区域文件会定期从主域名服务器上面同步。 +- 当主域名服务器上的任何区域文件被修改的时候,'serial'参数也应当被更新。只有当主服务器上面区域文件的serial被修改之后,辅DNS服务器才会进行同步。 + +我们假设辅DNS服务器的IP地址是172.16.1.4。让我们来进行安装。 + +### 设置主机名 ### + +就像主域名服务器一样,辅域名服务器的主机名也应当是一个合适的正式域名。 + + # vim /etc/sysconfig/network + +> HOSTNAME=ns2.example.tst + +注意,在该文件中设置的主机名在服务器启动的时候会被使用。因此,如果你在系统启动之后修改该文件,修改结果不会立刻生效。下面的命令可以用来在系统运行的时候修改并及时生效。 + + # hostname ns2.example.tst + +设置之后,可以用下面的命令来查看主机名称。 + + # hostname + +> ns2.example.tst + +在进行下面的步骤之前,确保所有三台[3]服务器的主机名称已经被正确设置。 + +### 安装软件包 ### + +就像[主服务器][2]一样,配置一台辅域名服务器可以使用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 + +3. 只有当主服务器上区域文件的serial数字被修改/变大的时候,辅域名服务器才会进行更新。 + +4. 确保用户named可以对文件夹/var/named或者/var/named/chroot/var/named(使用chroot的情况下)进行写操作。 + +5. /var/log/messages会包含有用的信息。 + +6. 我已经将SELinux关闭了。 + +7. 确保防火墙对UDP53端口开放。 + +希望这个可以帮到你。 + +-------------------------------------------------------------------------------- + +via: http://xmodulo.com/2014/04/secondary-dns-server-centos.html + +译者:[zzlyzq](https://github.com/zzlyzq) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://xmodulo.com/2014/04/primary-dns-server-using-centos.html +[2]:http://xmodulo.com/2014/04/primary-dns-server-using-centos.html +[3]:译者注,怎么可能是三呢,我认为应该是二