如何在 CentOS 中设置辅助 DNS 服务器如何在 CentOS 中设置辅助 DNS 服务器如何在 CentOS 中设置辅助 DNS 服务器如何在 CentOS 中设置辅助 DNS 服务器
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在 CentOS 中设置辅助 DNS 服务器

在上一教程中,我们为测试域 example.tst 创建了主 DNS 服务器 (ns1)。在本教程中,我们将使用 CentOS 上的 bind 包为同一域创建辅助 DNS 服务器 (ns2)。

在设置辅助 DNS 服务器时,应牢记以下因素。

  • 您不需要需要在辅助 DNS 服务器中手动创建正向和反向区域文件。区域文件将定期自动从主 DNS 服务器同步。

  • 每当主 DNS 服务器中修改任何区域文件时,都应更新参数 serial。仅当主服务器上的serial发生更改时,辅助 DNS 服务器才会启动同步(区域传输)。

我们假设要设置的辅助DNS服务器的IP地址是172.16.1.4。让我们开始安装吧。

设置主机名

就像主 DNS 服务器一样,辅助名称服务器的主机名应正确定义为 FQDN。


# vim /etc/sysconfig/network 

HOSTNAME=ns2.example.tst

请注意,此文件中指定的主机名参数在服务器启动时使用。因此,更改不会立即生效。以下命令可用于在运行时立即更改服务器的主机名。


# hostname ns2.example.tst 

设置后,可以使用以下命令验证主机名。


# hostname 

ns2.example.tst

在继续下一步之前,请确保所有三台服务器的主机名均已正确设置。

安装软件包

就像主服务器一样,辅助 DNS 服务器可以设置为带或不带 chroot。使用 yum 可以轻松安装必要的软件包。

没有chroot:


# yum install bind

使用chroot:


# yum install bind-chroot

准备区域传输的配置文件

CentOS 上由 bind 提供支持的 DNS 服务器默认允许任何请求服务器进行区域传输。出于安全原因,我们需要配置主 DNS 服务器,使其仅允许区域传输到辅助 DNS 服务器 (172.16.1.4)。

1.主DNS服务器

没有chroot:


# vim /etc/named.conf

使用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.辅助DNS服务器

安装时提供的默认配置文件可用于配置辅助服务器。但是,我们将使用另一个示例配置文件,因为它更容易调整。

没有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;  ## 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; };
};

完成安装

为了确保不存在与权限相关的问题,我们需要调整以下内容。

没有chroot:


chmod 770 /var/named/

使用chroot,您需要在named服务启动后按如下方式修改权限。


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

现在一切准备就绪,我们可以重新启动 named 服务。另外,请确保 named 服务已添加到启动列表中。


# service named restart
# chkconfig named on

如果一切顺利,辅助 DNS 服务器应向主 DNS 服务器请求区域传输,并填充其自己的 /var/named。日志文件 /var/log/messages 应包含有关 named 服务以及区域传输状态的有用信息。

测试辅助 DNS 服务器

我们可以使用 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. 我们不需要在辅助DNS服务器中创建任何区域文件。所有区域文件将从主服务器同步。

2. 辅助服务器上的 named 服务将定期启动与主服务器的区域传输。如果要强制进行一次性区域传输,可以使用命令“rndc retransfer ”。例如:


# rndc retransfer example.tst

3. 仅当主服务器上的序列已被修改/增加时,辅助 DNS 服务器才会更新其区域文件。

4. 确保目录 /var/named 或 /var/named/chroot/var/named(如果是 chroot)可由 named 用户写入。

5. /var/log/messages 应包含有用的信息。

6. 我关闭了SELinux。

7. 确保防火墙允许 UDP 端口 53。

希望这可以帮助。

©2015-2025 艾丽卡 support@alaica.com