共计 5723 个字符,预计需要花费 15 分钟才能阅读完成。
在上篇教程里(http://www.linuxidc.com/Linux/2014-05/102307.htm),我们为一个测试域 exmample.tst 创建了一个主域名服务器(ns1)。在本篇中,我们会在 CentOS 中使用 bind 包为相同的域创建一个辅域名服务器(ns2)。
RHEL6 服务器搭建 DNS 服务器 http://www.linuxidc.com/Linux/2013-10/91256.htm
精解 Linux RHEL 6.x DNS 服务器 http://www.linuxidc.com/Linux/2013-08/88986.htm
Ubuntu DNS 服务器配置 http://www.linuxidc.com/Linux/2013-07/87181.htm
Solaris 中配置 DNS 服务器 http://www.linuxidc.com/Linux/2013-06/86724.htm
CentOS 6.3 x64 下借助 MySQL 和 DNS view 实现智能 DNS http://www.linuxidc.com/Linux/2013-06/86430.htm
当创建一个辅 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;};
- };
更多详情见请继续阅读下一页的精彩内容 :http://www.linuxidc.com/Linux/2014-05/102308p2.htm
结束工作
为了确保没有权限相关的问题,我们需要做如下调整。
不使用 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 端口开放。
希望这个可以帮到你。
更多 CentOS 相关信息见 CentOS 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=14
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2014-05/102308.htm
在上篇教程里(http://www.linuxidc.com/Linux/2014-05/102307.htm),我们为一个测试域 exmample.tst 创建了一个主域名服务器(ns1)。在本篇中,我们会在 CentOS 中使用 bind 包为相同的域创建一个辅域名服务器(ns2)。
RHEL6 服务器搭建 DNS 服务器 http://www.linuxidc.com/Linux/2013-10/91256.htm
精解 Linux RHEL 6.x DNS 服务器 http://www.linuxidc.com/Linux/2013-08/88986.htm
Ubuntu DNS 服务器配置 http://www.linuxidc.com/Linux/2013-07/87181.htm
Solaris 中配置 DNS 服务器 http://www.linuxidc.com/Linux/2013-06/86724.htm
CentOS 6.3 x64 下借助 MySQL 和 DNS view 实现智能 DNS http://www.linuxidc.com/Linux/2013-06/86430.htm
当创建一个辅 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;};
- };
更多详情见请继续阅读下一页的精彩内容 :http://www.linuxidc.com/Linux/2014-05/102308p2.htm