Centos7.9主从DNS部署

环境配置

主DNS——linux1:192.168.10.100
从DNS——linux2:192.168.10.101
客户机——Client:192.168.10.200

linux1-2安装DNS服务:yum install bind* -y

主DNS配置

编辑主DNS配置文件:

[root@linux1 ~]# vi /etc/named.conf
options {
        listen-on port 53 { 127.0.0.1; };  //将127.0.0.1改为any
        listen-on-v6 port 53 { ::1; };
        directory       "/var/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     { localhost; };  //将localhost改为any
...
}
[root@linux1 ~]#

编辑主DNS区域文件:

[root@linux1 ~]# vi /etc/named.rfc1912.zones
#在文件末尾添正反向解析文件
...
zone "cetrp.com" IN {
        type master;  #类型为主DNS
        file "cetrp.zone";  #正向解析文件名
        allow-update { 192.168.10.101; };  #指定更新的主机地址
};

zone "10.168.192.in-addr.arpa" IN {
        type master;  #类型为主DNS
        file "10.zone";  #反向解析文件名
        allow-update { 192.168.10.101; };  #指定更新的主机地址
};
...
[root@linux1 ~]#

创建主DN正反向文件:


[root@linux1 ~]# cd /var/named/
[root@linux1 named]# ls
chroot  data  dynamic  dyndb-ldap  named.ca  named.empty  named.localhost  named.loopback  slaves

[root@linux1 named]# cp named.localhost cetrp.zone
[root@linux1 named]# cp named.localhost 10.zone

[root@linux1 named]# ls -l cetrp.zone 10.zone
-rw-r-----. 1 root  root   152 May  2 01:02 10.zone
-rw-r-----. 1 root  root   152 May  2 01:02 cetrp.zone

[root@linux1 named]# chown named cetrp.zone 10.zone
[root@linux1 named]# ls -l cetrp.zone 10.zone
-rw-r-----. 1 named root 152 May  2 01:02 10.zone
-rw-r-----. 1 named root 152 May  2 01:02 cetrp.zone
[root@linux1 named]#

主DNS正向解析文件配置:

[root@linux1 named]# vi cetrp.zone
$TTL 1D
@       IN SOA  ns.cetrp.com. root.cetrp.com. (
                                        0       ; serial  
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
@       NS      ns.cetrp.com.
ns      IN      A       192.168.10.100
www     IN      A       192.168.10.101
[root@linux1 named]#

主DNS反向向解析文件配置:

[root@linux1 named]# vi 10.zone
$TTL 1D
@       IN SOA  ns.cetrp.com. root.cetrp.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
@       NS      ns.cetrp.com.
100     IN      PTR     ns.cetrp.com.
101     IN      PTR     www.cetrp.com.
[root@linux1 named]#

启动主DNS服务:

[root@linux1 ~]# firewall-cmd --permanent --add-port=53/udp 
[root@linux1 ~]# firewall-cmd --permanent --add-port=53/tcp
[root@linux1 ~]# firewall-cmd --reload
[root@linux1 ~]# systemctl start named
[root@linux1 ~]# systemctl enable named

主DNS自测:

[root@linux1 ~]# vi /etc/resolv.conf
servername 192.168.10.100
servername 192.168.10.101
[root@linux1 ~]#


[root@linux1 ~]# nslookup ns.cetrp.com
Server:         127.0.0.1
Address:        127.0.0.1#53

Name:   ns.cetrp.com
Address: 192.168.10.100

[root@linux1 ~]# nslookup 192.168.10.100
100.10.168.192.in-addr.arpa     name = ns.cetrp.com.

[root@linux1 ~]#

从DNS配置:

编辑主DNS配置文件:

[root@linux2 ~]# cat /etc/named.conf
...
options {
        listen-on port 53 { 127.0.0.1; };  #改为any
        listen-on-v6 port 53 { ::1; };
        directory       "/var/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     { localhost; };  #改为any

       ...
        recursion yes;

        dnssec-enable yes;
        dnssec-validation yes;

        /* Path to ISC DLV key */
        bindkeys-file "/etc/named.root.key";

        managed-keys-directory "/var/named/dynamic";

        pid-file "/run/named/named.pid";
        session-keyfile "/run/named/session.key";
        masterfile-format text;  #指定下载的解析文件格式(不指定会乱码)
        forwarders { 192.168.10.100; };  #全局转发主DNS 
};

...
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

[root@linux2 ~]#

编辑从DNS区域文件:

[root@linux2 ~]# vi /etc/named.rfc1912.zones
...
zone "cetrp.com" IN {
        type slave;  #从模式
        file "slaves/cetrp.zone"; #正向解析文件路径
        masters { 192.168.10.100; }; #主DNS地址
};

zone "10.168.192.in-addr.arpa" IN {
        type slave; #从模式
        file "slaves/10.zone"; #反向解析文件路径
        masters { 192.168.10.100; }; #主DNS地址
};

[root@linux2 ~]#

启动从DNS服务:

[root@linux1 ~]# firewall-cmd --permanent --add-port=53/udp 
[root@linux1 ~]# firewall-cmd --reload
[root@linux1 ~]# systemctl start named
[root@linux1 ~]# systemctl enable named

 从DNS自测

[root@linux1 ~]# vi /etc/resolv.conf
servername 192.168.10.100
servername 192.168.10.101
[root@linux1 ~]#

[root@linux2 ~]# ls /var/named/slaves/  #查看从DNS正反向文件
10.zone  cetrp.zone  #必须要有这两个文件(由主DNS下载而来),只要配置文件正确能正常启动从DNS就会自动下载
[root@linux2 ~]#

[root@linux2 ~]# nslookup www.cetrp.com
Server:         127.0.0.1
Address:        127.0.0.1#53

Name:   www.cetrp.com
Address: 192.168.10.101

[root@linux2 ~]# nslookup 192.168.10.101
101.10.168.192.in-addr.arpa     name = www.cetrp.com.

[root@linux2 ~]#


测试:

配置网卡:

测验:

### 部署和配置 CentOS 7.9DNS 服务器 #### 安装 BIND 软件包 为了在 CentOS 7.9部署 DNS 服务器,首先需要安装 BIND 软件包。可以通过以下命令来完成此操作: ```bash yum -y install bind* ``` 这一步会安装必要的软件组件以支持 DNS 功能[^1]。 #### 编辑 DNS 配置文件 DNS 主配置文件位于 `/etc/named.conf` 中。打开并编辑该文件以定义区域(zone)。例如,创建一个新的正向解析区 `dctant.com`: ```bash vi /etc/named.conf ``` 在文件中添加以下内容作为新区域的声明部分: ```text zone "dctant.com" IN { type master; file "/var/named/dctant.com.zone"; allow-update { none; }; }; ``` 接着,在指定路径下创建对应的 zone 文件 `/var/named/dctant.com.zone` 并填写记录条目。例如,将 IP 地址 `192.168.0.211` 映射到域名 `abc.dctant.com`,可以在 zone 文件中加入如下行: ```text $TTL 86400 @ IN SOA ns1.dctant.com. admin.dctant.com. ( 2023101001 ; Serial 3600 ; Refresh 1800 ; Retry 604800 ; Expire 86400 ) ; Minimum TTL NS ns1.dctant.com. ns1 A 192.168.0.211 abc A 192.168.0.211 ``` 上述配置完成后记得保存退出[^2]。 #### 测试与验证 DNS 设置 完成以上步骤之后,重启 named 服务使更改生效,并通过客户端测试其连通性和正确性。 ```bash systemctl restart named.service ``` 确保 DNS 服务能够正常运行以及响应查询请求。可以尝试 ping 或者 dig 命令访问已设定好的主机名如 `abc.dctant.com` 来确认是否成功指向至预期地址 `192.168.0.211`。 #### 开机自启设置 为了让系统每次启动都能加载 DNS 服务,执行下面这条指令启用开机自动启动功能: ```bash systemctl enable named.service ``` 这样即使经历断电等情况也不会影响后续使用体验。 #### 修改本地 resolver 配置 (可选) 如果希望本机或其他内部网络中的设备优先利用刚建立起来的新 DNS,则需调整它们各自的 resolv.conf 文件指向前述提到过的私有网段内的 DNS Server 地址。比如对于一台处于相同子网环境下的客户机器而言,只需简单地更新它的 `/etc/resolv.conf` 如下所示即可实现这一目标: ```bash nameserver 192.168.0.211 ``` 当然实际应用过程中可能还需要考虑更多细节方面的问题,像安全防护措施等等[^5]。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值