DNS服务配置(小白的“升级打怪”成长之路)

发布于:2025-06-19 ⋅ 阅读:(15) ⋅ 点赞:(0)

目录

配置DNS主架构

一、配置主服务器

1、安装bind服务

2、关闭防火墙、SElinux

3、服务主文件配置

4、定义区域文件配置

5、配置解析文件

二、客户端配置

1、把域名解析配置文件中的域名IP改为主服务器的IP

2、配置反向解析

配置DNS主从架构

1、安装bind服务

2、服务主文件配置

3、定义区域文件配置

4、客户端测试成果

脚本编写

1、DNS主服务器脚本编写

2、从服务器脚本编写

3、客户端脚本编写


配置DNS主架构

一、配置主服务器

主服务器配置(IP为192.168.58.131)

1、安装bind服务
[root@bogon ~]# yum install -y bind
已加载插件:fastestmirror, priorities
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * epel: d2lzkl7pfhq30w.cloudfront.net
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
正在解决依赖关系
--> 正在检查事务
---> 软件包 bind.x86_64.32.9.11.4-26.P2.el7_9.16 将被 安装
--> 正在处理依赖关系 python-ply,它被软件包 32:bind-9.11.4-26.P2.el7_9.16.x86_64 需要
--> 正在处理依赖关系 policycoreutils-python,它被软件包 32:bind-9.11.4-26.P2.el7_9.16.x86_64 需要
--> 正在处理依赖关系 policycoreutils-python,它被软件包 32:bind-9.11.4-26.P2.el7_9.16.x86_64 需要
--> 正在检查事务
---> 软件包 policycoreutils-python.x86_64.0.2.5-34.el7 将被 安装
--> 正在处理依赖关系 setools-libs >= 3.3.8-4,它被软件包 policycoreutils-python-2.5-34.el7.x86_64 需要
--> 正在处理依赖关系 libsemanage-python >= 2.5-14,它被软件包 policycoreutils-python-2.5-34.el7.x86_64 需要
--> 正在处理依赖关系 audit-libs-python >= 2.1.3-4,它被软件包 policycoreutils-python-2.5-34.el7.x86_64 需要
--> 正在处理依赖关系 python-IPy,它被软件包 policycoreutils-python-2.5-34.el7.x86_64 需要
--> 正在处理依赖关系 libqpol.so.1(VERS_1.4)(64bit),它被软件包 policycoreutils-python-2.5-34.el7.x86_64 需要
--> 正在处理依赖关系 libqpol.so.1(VERS_1.2)(64bit),它被软件包 policycoreutils-python-2.5-34.el7.x86_64 需要
--> 正在处理依赖关系 libcgroup,它被软件包 policycoreutils-python-2.5-34.el7.x86_64 需要
--> 正在处理依赖关系 libapol.so.4(VERS_4.0)(64bit),它被软件包 policycoreutils-python-2.5-34.el7.x86_64 需要
--> 正在处理依赖关系 checkpolicy,它被软件包 policycoreutils-python-2.5-34.el7.x86_64 需要
--> 正在处理依赖关系 libqpol.so.1()(64bit),它被软件包 policycoreutils-python-2.5-34.el7.x86_64 需要
--> 正在处理依赖关系 libapol.so.4()(64bit),它被软件包 policycoreutils-python-2.5-34.el7.x86_64 需要
---> 软件包 python-ply.noarch.0.3.4-11.el7 将被 安装
--> 正在检查事务
---> 软件包 audit-libs-python.x86_64.0.2.8.5-4.el7 将被 安装
---> 软件包 checkpolicy.x86_64.0.2.5-8.el7 将被 安装
---> 软件包 libcgroup.x86_64.0.0.41-21.el7 将被 安装
---> 软件包 libsemanage-python.x86_64.0.2.5-14.el7 将被 安装
---> 软件包 python-IPy.noarch.0.0.75-6.el7 将被 安装
---> 软件包 setools-libs.x86_64.0.3.3.8-4.el7 将被 安装
--> 解决依赖关系完成
​
依赖关系解决
​
=================================================================================================
 Package                      架构         版本                              源             大小
=================================================================================================
正在安装:
 bind                         x86_64       32:9.11.4-26.P2.el7_9.16          updates       2.3 M
为依赖而安装:
 audit-libs-python            x86_64       2.8.5-4.el7                       base           76 k
 checkpolicy                  x86_64       2.5-8.el7                         base          295 k
 libcgroup                    x86_64       0.41-21.el7                       base           66 k
 libsemanage-python           x86_64       2.5-14.el7                        base          113 k
 policycoreutils-python       x86_64       2.5-34.el7                        base          457 k
 python-IPy                   noarch       0.75-6.el7                        base           32 k
 python-ply                   noarch       3.4-11.el7                        base          123 k
 setools-libs                 x86_64       3.3.8-4.el7                       base          620 k
​
事务概要
=================================================================================================
安装  1 软件包 (+8 依赖软件包)
​
总下载量:4.1 M
安装大小:11 M
Downloading packages:
(1/9): audit-libs-python-2.8.5-4.el7.x86_64.rpm                           |  76 kB  00:00:00     
(2/9): libsemanage-python-2.5-14.el7.x86_64.rpm                           | 113 kB  00:00:00     
(3/9): python-IPy-0.75-6.el7.noarch.rpm                                   |  32 kB  00:00:00     
(4/9): policycoreutils-python-2.5-34.el7.x86_64.rpm                       | 457 kB  00:00:00     
(5/9): python-ply-3.4-11.el7.noarch.rpm                                   | 123 kB  00:00:00     
(6/9): setools-libs-3.3.8-4.el7.x86_64.rpm                                | 620 kB  00:00:00     
(7/9): bind-9.11.4-26.P2.el7_9.16.x86_64.rpm                              | 2.3 MB  00:00:01     
libcgroup-0.41-21.el7.x86_64.r FAILED                                          
http://mirrors.aliyuncs.com/centos/7/os/x86_64/Packages/libcgroup-0.41-21.el7.x86_64.rpm: [Errno 14] curl#7 - "Failed connect to mirrors.aliyuncs.com:80; Connection refused"
正在尝试其它镜像。
(8/9): libcgroup-0.41-21.el7.x86_64.rpm                                   |  66 kB  00:00:00     
checkpolicy-2.5-8.el7.x86_64.r FAILED                                          
http://mirrors.cloud.aliyuncs.com/centos/7/os/x86_64/Packages/checkpolicy-2.5-8.el7.x86_64.rpm: [Errno 14] curl#7 - "Failed connect to mirrors.cloud.aliyuncs.com:80; Connection refused"
正在尝试其它镜像。
(9/9): checkpolicy-2.5-8.el7.x86_64.rpm                                   | 295 kB  00:00:00     
-------------------------------------------------------------------------------------------------
总计                                                             191 kB/s | 4.1 MB  00:00:21     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : setools-libs-3.3.8-4.el7.x86_64                                              1/9 
  正在安装    : libcgroup-0.41-21.el7.x86_64                                                 2/9 
  正在安装    : audit-libs-python-2.8.5-4.el7.x86_64                                         3/9 
  正在安装    : checkpolicy-2.5-8.el7.x86_64                                                 4/9 
  正在安装    : python-IPy-0.75-6.el7.noarch                                                 5/9 
  正在安装    : libsemanage-python-2.5-14.el7.x86_64                                         6/9 
  正在安装    : policycoreutils-python-2.5-34.el7.x86_64                                     7/9 
  正在安装    : python-ply-3.4-11.el7.noarch                                                 8/9 
  正在安装    : 32:bind-9.11.4-26.P2.el7_9.16.x86_64                                         9/9 
  验证中      : python-ply-3.4-11.el7.noarch                                                 1/9 
  验证中      : 32:bind-9.11.4-26.P2.el7_9.16.x86_64                                         2/9 
  验证中      : libsemanage-python-2.5-14.el7.x86_64                                         3/9 
  验证中      : python-IPy-0.75-6.el7.noarch                                                 4/9 
  验证中      : checkpolicy-2.5-8.el7.x86_64                                                 5/9 
  验证中      : policycoreutils-python-2.5-34.el7.x86_64                                     6/9 
  验证中      : audit-libs-python-2.8.5-4.el7.x86_64                                         7/9 
  验证中      : libcgroup-0.41-21.el7.x86_64                                                 8/9 
  验证中      : setools-libs-3.3.8-4.el7.x86_64                                              9/9 
​
已安装:
  bind.x86_64 32:9.11.4-26.P2.el7_9.16                                                           
​
作为依赖被安装:
  audit-libs-python.x86_64 0:2.8.5-4.el7            checkpolicy.x86_64 0:2.5-8.el7               
  libcgroup.x86_64 0:0.41-21.el7                    libsemanage-python.x86_64 0:2.5-14.el7       
  policycoreutils-python.x86_64 0:2.5-34.el7        python-IPy.noarch 0:0.75-6.el7               
  python-ply.noarch 0:3.4-11.el7                    setools-libs.x86_64 0:3.3.8-4.el7            
​
完毕!
2、关闭防火墙、SElinux
[root@bogon ~]# systemctl stop firewalld
[root@bogon ~]# systemctl disable --now firewalld
[root@bogon ~]# setenforece 0
[root@bogon ~]# getenforce
Disabled
3、服务主文件配置
[root@bogon ~]#vim /etc/named.conf
options {
        listen-on port 53 { 127.0.0.1; };
        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; };
#找到此内容,更改自己的参数
options {
        listen-on port 53 { 192.168.58.131; };
        //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     { any; };
4、定义区域文件配置
[root@bogon ~]# vim /etc/named.rfc1912.zones
zone "localhost.localdomain" IN { 
        type master;
        file "named.localhost";
        allow-update { none; };
};
zone "1.0.0.127.in-addr.arpa" IN { 
        type master;
        file "named.loopback";
        allow-update { none; };
};
#保留这两段内容,更改相关参数,其余内容注释掉
zone "c2505.com" IN {
        type master;
        file "c2505.com.zones";
        allow-update { none; };
};
zone "58.168.192.in-addr.arpa" IN {
        type master;
        file "192.168.58.zones";
        allow-update { none; };
};
5、配置解析文件
#保留属性权限复制文件并改名为区域文件配置中设置的名字
[root@bogon ~]# cd /var/named/
[root@bogon named]# ls
data  dynamic  named.ca  named.empty  named.localhost  named.loopback  slaves
[root@bogon named]# cp -p named.empty c2505.com.zones
[root@bogon named]# cp -p named.empty 192.168.58.131.zones
[root@bogon named]# ls -l
总用量 24
-rw-r----- 1 root  named  152 12月 15 2009 192.168.58.131.zones
-rw-r----- 1 root  named  152 12月 15 2009 c2505.com.zones
drwxrwx--- 2 named named    6 6月  11 2024 data
drwxrwx--- 2 named named    6 6月  11 2024 dynamic
-rw-r----- 1 root  named 2253 4月   5 2018 named.ca
-rw-r----- 1 root  named  152 12月 15 2009 named.empty
-rw-r----- 1 root  named  152 6月  21 2007 named.localhost
-rw-r----- 1 root  named  168 12月 15 2009 named.loopback
drwxrwx--- 2 named named    6 6月  11 2024 slaves

正向解析文件配置

[root@bogon named]# vim c2505.com.zones 
$TTL 3H
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A       127.0.0.1
        AAAA    ::1
$TTL 3H
@       IN SOA  c2505.com. admin.c2505.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
@       NS      dns1.c2505.com.
dns1    A       192.168.58.131
dns01   CNAME   dns1.c2505.com.
mail    A       192.168.58.132
mail    MX 10   mail.c2505.com

反向解析文件配置

[root@bogon named]# vim 192.168.58.131.zones 
$TTL 3H
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A       127.0.0.1
        AAAA    ::1
#先删掉反向解析
$TTL 3H
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum

先不启用反向解析,注释掉

[root@bogon named]# vim /etc/named.rfc1912.zones 
//zone "58.168.192.in-addr.arpa" IN {
//      type master;
//      file "192.168.58.zones";
//      allow-update { none; };
//};

开启named服务

[root@bogon named]# systemctl start named

二、客户端配置

客户端测试(IP为192.168.58.132)

1、把域名解析配置文件中的域名IP改为主服务器的IP
[root@bogon ~]# cat /etc/resolv.conf
# Generated by NetworkManager
search localdomain
nameserver 192.168.58.2
# Generated by NetworkManager
nameserver 192.168.58.131
[root@bogon ~]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.58.131
​
[root@bogon ~]# nslookup
> dns1.c2505.com
Server:         192.168.58.131
Address:        192.168.58.131#53
​
Name:   dns1.c2505.com
Address: 192.168.58.131
#成功正向解析域名
2、配置反向解析

反向解析文件配置

#192。168.58.131#
[root@bogon named]# vim 192.168.58.131.zones 
$TTL 3H
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
$TTL 3H
@       IN SOA  c2505.com. admin.c2505.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
@       NS      dns1.c2505.com.
131     PTR     dns1.c2505.com.
132     PTR     mail.c2505.com.
131     PTR     dns01.c2505.com.

定义区域文件配置

把反向解析的配置注释去掉

#192。168.58.131#
[root@bogon named]# vim /etc/named.rfc1912.zones 
zone "58.168.192.in-addr.arpa" IN { 
        type master;
        file "192.168.58.zones";
        allow-update { none; };
};
[root@bogon named]# systemctl restart named
#192。168.58.131#
[root@bogon named]# netstat -anptu | grep :53
tcp        0      0 192.168.58.131:53       0.0.0.0:*               LISTEN      17670/named         
tcp        0      0 192.168.58.131:52144    203.119.25.1:53         TIME_WAIT   -                   
tcp        0      0 192.168.58.131:50807    203.119.25.1:53         TIME_WAIT   -                   
tcp        0      0 192.168.58.131:35682    203.119.25.1:53         TIME_WAIT   -                   
tcp        0      0 192.168.58.131:41779    203.119.25.1:53         TIME_WAIT   -                   
tcp        0      0 192.168.58.131:60215    203.119.25.1:53         TIME_WAIT   -                   
tcp        0      0 192.168.58.131:51304    203.119.25.1:53         TIME_WAIT   -                   
udp        0      0 192.168.58.131:53       0.0.0.0:*                           17670/named          

客户端测试

#192。168.58.132#
[root@bogon ~]# nslookup
> 192.168.58.131
131.58.168.192.in-addr.arpa     name = dns01.c2505.com.
131.58.168.192.in-addr.arpa     name = dns1.c2505.com.

配置DNS主从架构

配置从服务器(IP为192.168.58.134)

1、安装bind服务
#192.168.58.134#
[root@bogon ~]# yum install -y bind
已加载插件:fastestmirror, priorities
Determining fastest mirrors
epel/x86_64/metalink                                                      | 4.8 kB  00:00:00     
 * base: mirrors.aliyun.com
 * epel: ftp-stud.hs-esslingen.de
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
Ceph                                                                      | 1.5 kB  00:00:00     
Ceph-noarch                                                               | 1.5 kB  00:00:02     
base                                                                      | 3.6 kB  00:00:00     
ceph-source                                                               | 1.5 kB  00:00:00     
extras                                                                    | 2.9 kB  00:00:00     
updates                                                                   | 2.9 kB  00:00:00     
正在解决依赖关系
--> 正在检查事务
---> 软件包 bind.x86_64.32.9.11.4-26.P2.el7_9.16 将被 安装
--> 正在处理依赖关系 python-ply,它被软件包 32:bind-9.11.4-26.P2.el7_9.16.x86_64 需要
--> 正在处理依赖关系 policycoreutils-python,它被软件包 32:bind-9.11.4-26.P2.el7_9.16.x86_64 需要
--> 正在处理依赖关系 policycoreutils-python,它被软件包 32:bind-9.11.4-26.P2.el7_9.16.x86_64 需要
--> 正在检查事务
---> 软件包 policycoreutils-python.x86_64.0.2.5-34.el7 将被 安装
--> 正在处理依赖关系 setools-libs >= 3.3.8-4,它被软件包 policycoreutils-python-2.5-34.el7.x86_64 需要
--> 正在处理依赖关系 libsemanage-python >= 2.5-14,它被软件包 policycoreutils-python-2.5-34.el7.x86_64 需要
--> 正在处理依赖关系 audit-libs-python >= 2.1.3-4,它被软件包 policycoreutils-python-2.5-34.el7.x86_64 需要
--> 正在处理依赖关系 python-IPy,它被软件包 policycoreutils-python-2.5-34.el7.x86_64 需要
--> 正在处理依赖关系 libqpol.so.1(VERS_1.4)(64bit),它被软件包 policycoreutils-python-2.5-34.el7.x86_64 需要
--> 正在处理依赖关系 libqpol.so.1(VERS_1.2)(64bit),它被软件包 policycoreutils-python-2.5-34.el7.x86_64 需要
--> 正在处理依赖关系 libcgroup,它被软件包 policycoreutils-python-2.5-34.el7.x86_64 需要
--> 正在处理依赖关系 libapol.so.4(VERS_4.0)(64bit),它被软件包 policycoreutils-python-2.5-34.el7.x86_64 需要
--> 正在处理依赖关系 checkpolicy,它被软件包 policycoreutils-python-2.5-34.el7.x86_64 需要
--> 正在处理依赖关系 libqpol.so.1()(64bit),它被软件包 policycoreutils-python-2.5-34.el7.x86_64 需要
--> 正在处理依赖关系 libapol.so.4()(64bit),它被软件包 policycoreutils-python-2.5-34.el7.x86_64 需要
---> 软件包 python-ply.noarch.0.3.4-11.el7 将被 安装
--> 正在检查事务
---> 软件包 audit-libs-python.x86_64.0.2.8.5-4.el7 将被 安装
---> 软件包 checkpolicy.x86_64.0.2.5-8.el7 将被 安装
---> 软件包 libcgroup.x86_64.0.0.41-21.el7 将被 安装
---> 软件包 libsemanage-python.x86_64.0.2.5-14.el7 将被 安装
---> 软件包 python-IPy.noarch.0.0.75-6.el7 将被 安装
---> 软件包 setools-libs.x86_64.0.3.3.8-4.el7 将被 安装
--> 解决依赖关系完成
​
依赖关系解决
​
=================================================================================================
 Package                      架构         版本                              源             大小
=================================================================================================
正在安装:
 bind                         x86_64       32:9.11.4-26.P2.el7_9.16          updates       2.3 M
为依赖而安装:
 audit-libs-python            x86_64       2.8.5-4.el7                       base           76 k
 checkpolicy                  x86_64       2.5-8.el7                         base          295 k
 libcgroup                    x86_64       0.41-21.el7                       base           66 k
 libsemanage-python           x86_64       2.5-14.el7                        base          113 k
 policycoreutils-python       x86_64       2.5-34.el7                        base          457 k
 python-IPy                   noarch       0.75-6.el7                        base           32 k
 python-ply                   noarch       3.4-11.el7                        base          123 k
 setools-libs                 x86_64       3.3.8-4.el7                       base          620 k
​
事务概要
=================================================================================================
安装  1 软件包 (+8 依赖软件包)
​
总下载量:4.1 M
安装大小:11 M
Downloading packages:
(1/9): audit-libs-python-2.8.5-4.el7.x86_64.rpm                           |  76 kB  00:00:00     
(2/9): libsemanage-python-2.5-14.el7.x86_64.rpm                           | 113 kB  00:00:00     
(3/9): python-IPy-0.75-6.el7.noarch.rpm                                   |  32 kB  00:00:00     
(4/9): policycoreutils-python-2.5-34.el7.x86_64.rpm                       | 457 kB  00:00:00     
(5/9): python-ply-3.4-11.el7.noarch.rpm                                   | 123 kB  00:00:00     
(6/9): bind-9.11.4-26.P2.el7_9.16.x86_64.rpm                              | 2.3 MB  00:00:01     
(7/9): setools-libs-3.3.8-4.el7.x86_64.rpm                                | 620 kB  00:00:00     
checkpolicy-2.5-8.el7.x86_64.r FAILED                                          
http://mirrors.cloud.aliyuncs.com/centos/7/os/x86_64/Packages/checkpolicy-2.5-8.el7.x86_64.rpm: [Errno 14] curl#7 - "Failed connect to mirrors.cloud.aliyuncs.com:80; Connection refused"
正在尝试其它镜像。
libcgroup-0.41-21.el7.x86_64.r FAILED                                          
http://mirrors.aliyuncs.com/centos/7/os/x86_64/Packages/libcgroup-0.41-21.el7.x86_64.rpm: [Errno 14] curl#7 - "Failed connect to mirrors.aliyuncs.com:80; Connection refused"
正在尝试其它镜像。
(8/9): checkpolicy-2.5-8.el7.x86_64.rpm                                   | 295 kB  00:00:00     
(9/9): libcgroup-0.41-21.el7.x86_64.rpm                                   |  66 kB  00:00:00     
-------------------------------------------------------------------------------------------------
总计                                                             187 kB/s | 4.1 MB  00:00:22     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : setools-libs-3.3.8-4.el7.x86_64                                              1/9 
  正在安装    : libcgroup-0.41-21.el7.x86_64                                                 2/9 
  正在安装    : audit-libs-python-2.8.5-4.el7.x86_64                                         3/9 
  正在安装    : checkpolicy-2.5-8.el7.x86_64                                                 4/9 
  正在安装    : python-IPy-0.75-6.el7.noarch                                                 5/9 
  正在安装    : libsemanage-python-2.5-14.el7.x86_64                                         6/9 
  正在安装    : policycoreutils-python-2.5-34.el7.x86_64                                     7/9 
  正在安装    : python-ply-3.4-11.el7.noarch                                                 8/9 
  正在安装    : 32:bind-9.11.4-26.P2.el7_9.16.x86_64                                         9/9 
  验证中      : python-ply-3.4-11.el7.noarch                                                 1/9 
  验证中      : 32:bind-9.11.4-26.P2.el7_9.16.x86_64                                         2/9 
  验证中      : libsemanage-python-2.5-14.el7.x86_64                                         3/9 
  验证中      : python-IPy-0.75-6.el7.noarch                                                 4/9 
  验证中      : checkpolicy-2.5-8.el7.x86_64                                                 5/9 
  验证中      : policycoreutils-python-2.5-34.el7.x86_64                                     6/9 
  验证中      : audit-libs-python-2.8.5-4.el7.x86_64                                         7/9 
  验证中      : libcgroup-0.41-21.el7.x86_64                                                 8/9 
  验证中      : setools-libs-3.3.8-4.el7.x86_64                                              9/9 
​
已安装:
  bind.x86_64 32:9.11.4-26.P2.el7_9.16                                                           
​
作为依赖被安装:
  audit-libs-python.x86_64 0:2.8.5-4.el7            checkpolicy.x86_64 0:2.5-8.el7               
  libcgroup.x86_64 0:0.41-21.el7                    libsemanage-python.x86_64 0:2.5-14.el7       
  policycoreutils-python.x86_64 0:2.5-34.el7        python-IPy.noarch 0:0.75-6.el7               
  python-ply.noarch 0:3.4-11.el7                    setools-libs.x86_64 0:3.3.8-4.el7            
​
完毕!
[root@bogon ~]# cd /var/named
[root@bogon named]# ls
data  dynamic  named.ca  named.empty  named.localhost  named.loopback  slaves
[root@bogon named]# cd slaves
[root@bogon slaves]# ls
[root@bogon slaves]# 
2、服务主文件配置
#192.168.58.134#
[root@bogon slaves]# vim /etc/named.conf 
options {
        listen-on port 53 { 192.168.58.134; };
        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     { any; };
[root@bogon slaves]# vim /etc/named.rfc1912.zones 
zone "c2505.com." IN {
        type slave;
        file "slaves/c2505.com.zones";
        masters { 192.168.58.131; };
};
zone "58.168.192.in-addr.arpa" IN {
        type slave;
        file "slaves/192.168.58.zones";
        masters { 192.168.58.131; };
};
[root@bogon slaves]# systemctl enable --now named
3、定义区域文件配置
#192.168.58.131#
[root@bogon named]# vim /etc/named.rfc1912.zones 
zone "c2505.com" IN {
        type master;
        file "c2505.com.zones";
        allow-update { none; };
        allow-transfer { 192.168.58.134; };
};
zone "58.168.192.in-addr.arpa" IN {
        type master;
        file "192.168.58.zones";
        allow-update { none; };
        allow-transfer { 192.168.58.134; };::
};
[root@bogon named]# systemctl restart named
4、客户端测试成果

在客户端中把域名IP改为从服务器的IP

#192.168.58.132#
[root@bogon ~]# vim /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.58.134
[root@bogon ~]# nslookup
> mail.c2505.com
Server:         192.168.58.134
Address:        192.168.58.134#53
​
Name:   mail.c2505.com
Address: 192.168.58.132
> exit
​
[root@bogon ~]# vim /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.58.131
nameserver 192.168.58.134
[root@bogon ~]# nslookup
> mail.c2505.com
Server:         192.168.58.131
Address:        192.168.58.131#53
​
Name:   mail.c2505.com
Address: 192.168.58.132

关掉主服务器的named服务

#192.168.58.131#
root@bogon named]# systemctl stop named
#192.168.58.132#
[root@bogon ~]# nslookup
> mail.c2505.com
Server:         192.168.58.134
Address:        192.168.58.134#53
​
Name:   mail.c2505.com
Address: 192.168.58.132

脚本编写

1、DNS主服务器脚本编写
#!/bin/bash
#安装bind服务
yum install -y bind > /dev/null
#关闭防火墙、SElinux
systemctl stop firewalld
systemctl disable --now firewalld
setenforce 0 > /dev/null
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
#服务主文件配置
ip=`ifconfig | grep "inet " | grep -v "255.0.0.0" | awk '{print $2}'`
sed -i "s/listen-on port 53 { 127.0.0.1; };/listen-on port 53 { $ip; };/" /etc/named.conf
sed -i 's/{ localhost; };/{ any; };/' /etc/named.conf
#定义区域文件配置
read -p "请输入要设置的域名:" dn
read -p "请输入从服务器的ip地址:" ip1
result=$(echo $ip | awk -F. '{print $3"."$2"."$1}')
result2=$(echo $ip | awk -F. '{print $1"."$2"."$3}')
reverse_file="${result}.zones"
echo "
zone \"${dn}.com\" IN {
        type master;
        file \"${dn}.com.zones\";
        allow-update { none; };
        allow-transfer { $ip1; };
};
zone \"${result}.in-addr.arpa\" IN {
        type master;
        file \"${reverse_file}\";
        allow-update { none; };
        allow-transfer { $ip1; };
};
" > /etc/named.rfc1912.zones
​
#配置解析文件
cd /var/named/
cp -p named.empty "$dn".com.zones
cp -p named.empty "$result".zones
read -p "请输入客户端的ip地址:" ip2
echo "
\$TTL 3H
@       IN SOA  $dn.com. admin.$dn.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
@       NS      dns1.$dn.com.
dns1    A       $ip
dns01   CNAME   dns1.$dn.com.
mail    A       $ip2
mail    MX 10   mail.$dn.com.
" > /var/named/"$dn".com.zones
​
a=$(echo $ip | awk -F. '{print $4}')
b=$(echo $ip2 | awk -F. '{print $4}')
echo "
\$TTL 3H
@       IN SOA  $dn.com. admin.$dn.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
@       NS      dns1.$dn.com.
$a     PTR     dns1.$dn.com.
$b     PTR     mail.$dn.com.
$a     PTR     dns01.$dn.com.
" > /var/named/"$result".zones
systemctl restart named
2、从服务器脚本编写
#!/bin/bash
#安装bind服务
yum install -y bind > /dev/null
systemctl restart named
#服务主文件配置
cd /var/named/slaves
ip=`ifconfig | grep "inet " | grep -v "255.0.0.0" | awk '{print $2}'`
sed -i "s/listen-on port 53 { 127.0.0.1; };/listen-on port 53 { $ip; };/" /etc/named.conf
sed -i 's/{ localhost; };/{ any; };/' /etc/named.conf
#定义区域文件配置
read -p "请输入要设置的域名:" dn
read -p "请输入主服务器的ip地址:" ip1
result=$(echo $ip | awk -F. '{print $3"."$2"."$1}')
result2=$(echo $ip | awk -F. '{print $1"."$2"."$3}')
reverse_file="${result}.zones"
echo "
zone \"${dn}.com\" IN {
        type slave;
        file \"slaves/${dn}.com.zones\";
        masters { $ip1; };
};
zone \"${result}.in-addr.arpa\" IN {
        type slave;
        file \"slaves/${reverse_file}\";
        masters { $ip1; };
};
" > /etc/named.rfc1912.zones
systemctl enable --now named
systemctl restart named
3、客户端脚本编写
#!/bin/bash
read -p "请输入要主服务器IP:" ip1
read -p "请输入要从服务器IP:" ip2
echo "
nameserver $ip1 
nameserver $ip2" > /etc/resolv.conf

看到感觉有帮助的朋友,劳烦动动发财的小手给博主点个赞


网站公告

今日签到

点亮在社区的每一天
去签到