主服务器

准备二台linux虚拟机(一个服务器主服务器,一个为辅助服务器

[root@cs01 ~]# yum install bind -y #安装dns服务

[root@cs01 ~]# systemctl stop firewalld.service #关闭防火墙

[root@cs01 ~]# setenforce 0 #设置宽容模式 

[root@cs01 ~]# ls /etc/ |grep named #查看DNS配置文件

named

named.conf

named.iscdlv.key

named.rfc1912.zones

named.root.key

打开BIND的主配置文件    (修改下面红色字体,红色字体意思是所有可用)

[root@cs01 ~]# vim /etc/named.conf 

options {
        listen-on port 53 { any; };  //默认是any,表示允许所有网段的主机。可以改成自己所在的内网网段
        listen-on-v6 port 53 { ::1; };
        directory       "/var/named";  //定义named的固定工作路径
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";
        allow-query     { any; };  //表示接收所有网段
        recursion yes;
        allow-recursion { localhost; };
        forward first;  //下面这两行配置很重要,这个配置后,当客户端采用我们自己配置的内网DNS的NS服务器后,当访问别的网站,内网NS解析不>了的就转发给8.8.8.8的DS服务器解析,保证能正常上网。
        forwarders {
            223.5.5.5;             //阿里云的DNS服务器
            223.6.6.6;
            8.8.8.8;
            8.8.4.4;
          };

这个配置段指定了以下内容:

listen-on port 53 { any; };: 指定 DNS 服务器监听的端口为 53,即 DNS 标准端口。any 表示允许任何 IP 地址连接到该端口。

directory "/var/named";: 指定存储 BIND 相关文件的目录路径为 "/var/named"。这包括配置文件、区域文件和其他数据文件。

dump-file "/var/named/data/cache_dump.db";: 指定缓存转储文件的路径。缓存转储文件用于保存 DNS 缓存的内容。

statistics-file "/var/named/data/named_stats.txt";: 指定统计信息文件的路径。该文件记录了 BIND 服务器的运行统计信息,如查询数量、响应时间等。 memstatistics-file "/var/named/data/named_mem_stats.txt";: 指定内存统计信息文件的路径。该文件记录了 BIND 服务器使用的内存统计信息。

allow-query { any; };: 允许任何主机查询该 DNS 服务器。这样就允许任何主机向该服务器发送 DNS 查询请求。

如果想创建一个自定义的域名,通过域名来访问主机,还需要创建一个新的区域配置文件,以便配置有关域名的信息。打开 named.conf 文件,并在 zone 部分添加以下行,注意是单独配置:

zone "byd.com" IN {      //定义一个统一的域名后缀。正向解析的区域。此处可以加后面IN,也可以不加IN
        type master;        //类型属于master、属于自己的
        file "db.byd.com";    //指定正向解析的文件
        allow-transfer {192.168.137.3;};   //允许192.168.137.3(从DNS服务器)传送
};

上面的配置是BIND 配置文件的一部分,这里我指定了一个名为 "byd.com" 的 DNS 域,并指定了该域的类型为 master,同时指定了该域对应的区域文件为 "db.byd.com"。具体解读一下上面配置的含义:

zone "byd.com" IN {: 指定了该区域对应的 DNS 域名为 "byd.com"。 type master;: 指定了该域的类型为 master。这意味着该 DNS 服务器是 "byd.com" 域的主服务器,并负责管理该域的所有资源记录。 file "db.byd.com";: 指定了该域对应的区域文件为 "db.byd.com"。该文件包含了该域的所有资源记录,如主机名、IP 地址、邮件服务器等。

在上面的bind配置文件中,只是定义了域名,但是并没有建立起域名与主机的关系,这里创建一个区域配置文件,注意要给这个文件读、写、可执行三种权限。

touch /var/named/db.byd.com sudo chmod 777 /var/named/db.byd.com

在db.byd.com文件中添加类似以下内容的信息:

$TTL 1h
@       IN      SOA     cs01.byd.com. admin.byd.com. (
                        2024071401      ; 序列号
                        3h              ; 刷新时间
                        1h              ; 重试时间
                        1w              ; 过期时间
                        1h )            ; 默认 TTL
       IN      NS      cs01.byd.com.    ; 指定主域名服务器
       IN      NS      cs02.byd.com.    ; 指定备用域名服务器
@       IN      A       192.168.137.4    ; 指定域名的 IPv4 地址
cs01     IN      A       192.168.137.2    ; 主域名服务器的 IP 地址
cs02     IN      A       192.168.137.3    ; 备用域名服务器的 IP 地址
cs03     IN      A       192.168.137.4

上述配置内容的具体含义:

SOA 记录以 @ 表示当前域名,指定了域名的授权来源和一些其他信息,如上指定了主域名服务器为 cs01.byd.com,管理员邮箱为 admin.byd.com,序列号为 2024071401,刷新时间为 3 小时,重试时间为 1 小时,过期时间为 1 周,TTL(Time To Live)为 1 小时。

(温馨提示:对于主DNS的正反向解析文件中的序列号,每当做一次修改后,必须要同时修改这个序列号,这样才能触发主从同步机制!然后重启named服务,从DNS服务器那边才能同步过去,否则不能完成主从同步!)

NS 记录指定了域名服务器的名称,如上指定了主域名服务器为 cs01.byd.com,备用域名服务器为 cs02.byd.com

A 记录指定了域名的 IPv4 地址,如上:指定了域名 byd.com 的 IPv4 地址为 192.168.137.4。

还有两条记录指定了域名服务器的 IP 地址,这些记录分别指定了主域名服务器和备用域名服务器的 IPv4 地址为 192.168.137.2和192.168.137.3。

接着,启动并启用BIND服务(第二条命令用于把bind服务设置成为开机启动):

systemctl start named
systemctl enable named

 启动bind服务后,可以使用以下命令检查BIND服务的状态:

systemctl status named

确保服务已经启动并且没有错误。

centos7搭建DNS服务和DNS辅助服务_域名服务器

辅助服务器

安装bind服务同上不再描述

打开BIND的主配置文件    

打开 named.conf 文件,并在 zone 部分添加以下行,注意是单独配置:

[root@cs02 ~]# vim /etc/named.conf 

zone "byd.com" IN {
        type slave;
        masters { 192.168.137.2;};
        file "slave.byd.com";
};

[root@cs02 ~]# systemctl restart named

centos7搭建DNS服务和DNS辅助服务_服务器_02

重启bind服务之后,/var/named路径会自动同步出来slave.byd.com这个文件

至此辅助服务器也完成配置。