centos7搭建本地DNS服务器

1:安装bindhtml

yum install bind bind-utils bind-chroot -y
linux

https://blog.csdn.net/naughty610/article/details/5718709     关于bind-chroot的使用
缓存


2:配置文件介绍安全

/etc/named.conf主配置文件服务器

/etc/named/zone文件网络

如过你安装了bind-chroot,则bind-chroot会将bind服务放置于一个伪根目录下,这样如何黑客攻破了你的服务器,进到来的就是在伪根目录下,不会危害到你真正的根目录,是一个安全的措施。安装bind时默认是在伪根目录下进行配置ide

伪根目录:测试

/var/named/chroot/etc/named.conf红色就是伪根目录spa


3:复制文件.net

进入到伪根目录以后会发现是没有文件的,因此须要复制文件。

 cp  -rv /usr/share/doc/bind-9.9.4/sample/etc/*  /var/named/chroot/etc/

 cp  -rv /usr/share/doc/bind-9.9.4/sample/var/*  /var/named/chroot/var/ 


4:编辑配置文件

4.1 主配置文件

  1. vi /var/named/chroot/etc/named.conf  
/*
 Sample named.conf BIND DNS server 'named' configuration file
 for the Red Hat BIND distribution.

 See the BIND Administrator's Reference Manual (ARM) for details about the
 configuration located in /usr/share/doc/bind-{version}/Bv9ARM.html
*/

options
{
        // Put files that named is allowed to write in the data/ directory:
        directory               "/var/named";  //相对路径
         listen-on port 53      { any; };    //监听在主机的53端口上。any表明监听全部的主机 

{  any;  }花括号和"any;"之间必定要有空格,若是有多个ip段,用分号隔开;

listen-on-v6 port 53 { ::1; }; allow-query { any; }; // 谁能够对个人DNS服务器提出查询请求。any表明任何人 recursion yes; dnssec-enable yes; dnssec-validation yes; }; zone "nyistepark.com" in{ //一个域配置 type master; file "nyistepark.com.zone"; }; //最后分号不要忘

配置文件最简化配置:

options
{
        // Put files that named is allowed to write in the data/ directory:
        directory               "/var/named";           // "Working" directory
        listen-on port 53       { any; };
        listen-on-v6 port 53    { ::1; };
};

4.2 域配置文件

在  vi var/named/nyistepark.com.zone 下面要有配置对应的配置文件

cp /var/named/chroot/var/named/named.localhost /var/named/chroot/var/named/  复制过来

$TTL 1D  //DNS默认的缓存时间
@       IN SOA  @ nyistepark.com (
                                        4       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A       127.0.0.1
        AAAA    ::1

www      A    192.168.1.136 ;        //添加一条对应的解析


5:SElinux策略配置

[root@localhost named]# getenforce
Enforcing
[root@localhost named]# setenforce 0  //设置为 permissive状态

SELinux的工做模式一共有三种 enforcing、permissive和disabled 

enforcing  强制模式:只要是违反策略的行动都会被禁止,并做为内核信息记录

permissive  容许模式:违反策略的行动不会被禁止,可是会提示警告信息

disabled  禁用模式:禁用SELinux,与不带SELinux系统是同样的,一般状况下咱们在不怎么了解SELinux时,将模式设置成disabled,这样在访问一些网络应用时就不会出问题了。


6:启动DNS服务

systemctl statr named-chroot<span style="white-space:pre;">        </span>## 启动服务,如何使用了bind-chroot 则启动 named-chroot  不然启动  named  
systemctl enable named-chroot<span style="white-space:pre;">        </span>## 设为开机启动


7:修改nameserver进行本地测试

[root@localhost /]# vi etc/resolv.conf
# Generated by NetworkManager

nameserver 127.0.0.1


8:测试结果

[root@localhost chroot]# host www.nyistepark.com

www.nyistepark.com has address 192.168.1.136


9:防火墙放行

firewall-cmd --add-service=dns --permanent  
firewall-cmd --reload