环境:
dns ip:10.254.12.238

简单粗暴的装bind

 ~]#  yum install bind* -y

然后修改主配置文件/etc/named.config


zone "." IN {
    type hint;
    file "named.ca";
};

zone "songhe.com" IN {
    type master;
    file "songhe.com.zone";
};

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

配置完主配置文件后,可以用named-checkconf进行自检配置文件语法。

然后配置zone文件

 ~]# cat songhe.com.zone 
$TTL 600
@ IN SOA ns1.songhe.com. mail.songhe.com. (
            20190107;
            2H;
            10M;
             3W;
            1D;
)

                 IN   NS   ns1
                  IN   A    10.254.12.238
ns1.songhe.com.  IN   A    10.254.12.238
www            IN   A    10.254.12.56

配置完主配置文件后,可以用named-checkzone songhe.com /var/named/songhe.com.zone进行自检配置文件语法。

 ~]#  named-checkzone songhe.com /var/named/songhe.com.zone
zone songhe.com/IN: loaded serial 20190107
OK

自检没问题后,启动named服务

 ~]# systemctl start named    启动无报错
 ~]# ps aux |grep named       进程已启动
named      5687  0.3  3.1 167328 58552 ?        Ssl  16:16   0:00 /usr/sbin/named -u named -c /etc/named.conf
root       5692  0.0  0.0 112656   972 pts/0    R+   16:16   0:00 grep --color=auto named
 ~]# 

因为我是虚拟机做的,需要配置/etc/resolv.conf为本机ip,

~]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 10.254.12.238

接下来可以测试域名解析是否正常。
如果没有dig命令,可以用以下命令进行安装:

yum install bind-utils -y

准备好测试工具后开始测试,

DNS服务器简单部署

如果dig无结果,显示如下:
DNS服务器简单部署

则,根据DNS解析原理(https://blog.51cto.com/xiaoahehe/1971923 ),推断出本地hosts文件可能没有配置(毕竟是内网解析)。

这种情况可以直接编辑/etc/hosts,添加如下信息即可

10.254.12.238   songhe.com

如需要显示解析过程,则使用:

~ ]# dig -t A www.songhe.com @10.254.12.238 +trace

反向解析示例:

配置文件/etc/named.conf添加如下配置:

zone "12.254.10.in-addr.arpa" IN {
    type master;
    file "12.254.10.in-addr.arpa.zone";
 };

在/var/named/ 下面新建一个反向解析的zone文件:

touch /var/named/12.254.10.in-addr.arpa.zone

修改文件的权限及属主、属组:

~ ]# chmod 640 /var/named/12.254.10.in-addr.arpa.zone 
~ ]# chown root:named /var/named/12.254.10.in-addr.arpa.zone
~ ]# ll /var/named/12.254.10.in-addr.arpa.zone 
-rw-r----- 1 root named 339 1月   8 10:55 /var/named/12.254.10.in-addr.arpa.zone

反向解析zone文件配置如下:

$TTL 600
@ IN SOA ns1.songhe.com. mail.songhe.com. (
            2019010703;
        2H;
        10M;
        3W;
        1D;
)

@                   IN   NS   ns1.songhe.com.
@                   IN   NS   ns2.songhe.com.
10.254.12.238       IN   PTR    ns1.songhe.com.
10.254.12.56        IN   PTR    ns2.songhe.com.
10.254.12.56        IN   PTR    www.songhe.com.

重启之后进行测试
DNS服务器简单部署

DNS服务器简单部署

主配置文件中几个访问控制的指令:
allow-query {}: 允许查询的主机;白名单

           allow-transfer {}:允许区域传送的主机;(白名单,一般用于主从)

           allow-recursion {}: 允许递归的主机,建议全局使用

           allow-update {}: 允许更新区域数据库中的内容

##中途启动服务时一直起不来报错,看了好多文档配置都没问题的,最后把主配置文件的反向解析部分注释掉就好了,因为我在住配置文件写了反向解析的配置,但是反向解析的文件并没有写。

##以上提到的/etc/named.config /var/named/*.zone文件属主属组均为 root:named