CentOS 下搭建DNS服务器

DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。
端口:udp/53(用户查询时使用的端口,以及主从服务器同步), 用户查询只需53/udp。 tcp/53(用于主从服务器之间的同步),如果这个两个端口有一个无法访问时主从服务器无法同步。

DNS查询类型:

递归查询 服务器负责到底的叫递归查询
迭代查询 服务器推荐你去找其他服务器叫迭代查询

解析类型:

FQDN --> IP 正向解析
IP --> FQDN 反向解析 (arpa)
注意:正反向解析是两个不同的名称空间,是两棵不同的解析树

本次实验使用bind软件在CentOS 7.3系统来搭建dns服务

安装配置bind软件

bind:服务器端,服务名named
bind-ibs:相关库
bind-utils:客户端
bind-chroot:一个安全软件,安装后会把bind的文件会以文件挂载的方式放在/var/named/chroot下
服务脚本和名称:/etc/rc.d/init.d/named、/usr/lib/systemd/system/named.service
主配置文件:/etc/named.conf, /etc/named.rfc1912.zones、/etc/rndc.key
解析库文件:/var/named/ZONE_NAME.ZONE
根服务器的IP地址记录文件/var/named/named.ca
[[email protected] etc]#yum -y install bind*   #安装bind软件包
[[email protected] etc]#systemctl start named  #启动dns服务,named是bind软件的服务名

修改配置文件

options {                                   #主配置
        listen-on port 53 { 127.0.0.1; };   #监听端口和监听的本机IP地址
        listen-on-v6 port 53 { ::1; };      #IPv6监听的端口和IP地址
        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";
        allow-query     { localhost; };            #允许那些IP向服务器请求DNS解析

        /* 
         - If you are building an AUTHORITATIVE DNS server, do NOT enable recursion.
         - If you are building a RECURSIVE (caching) DNS server, you need to enable 
           recursion. 
         - If your recursive DNS server has a public IP address, you MUST enable access 
           control to limit queries to your legitimate users. Failing to do so will
           cause your server to become part of large scale DNS amplification 
           attacks. Implementing BCP38 within your network would greatly
           reduce such attack surface 
        */
        recursion yes;                  #是否开启服务器的递归查询,yes为开启

        dnssec-enable no;               #是否开启DNSSec安全认证(鉴定数据来源和数据完整性)
        dnssec-validation no;           #是否开启验证,默认为yes

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

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

        pid-file "/run/named/named.pid";
        session-keyfile "/run/named/session.key";
};

logging {                                #日志配置
        channel default_debug {
                file "data/named.run";   #日志文件
                severity dynamic;        #记录级别
        };
};

zone "." IN {                            #跟域配置
        type hint;                       
        file "named.ca";                 #这个文件中保存里13个根域服务器的IP地址
};

include "/etc/named.rfc1912.zones";      #域配置文件
include "/etc/named.root.key";           

主要修改这一部分

options {                                   
        listen-on port 53 { loaclhost; };   #localhost监听本机所有端口,也可以修改为本机的一个IP地址
        listen-on-v6 port 53 { ::1; };      #IPv6不修改
        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";
        allow-query     { any; };       #any表示所有IP

重启服务

[[email protected] ~]#systemctl restart named        #重启named服务
[[email protected] ~]#ss -nutl                       #查看监听端口
Netid State      Recv-Q Send-Q    Local Address:Port                   Peer Address:Port
udp   UNCONN     0      0       192.168.166.130:53                                *:*  
udp   UNCONN     0      0             127.0.0.1:53                                *:*   
udp   UNCONN     0      0                   ::1:53                               :::*  
tcp   LISTEN     0      10      192.168.166.130:53                                *:*  
tcp   LISTEN     0      10            127.0.0.1:53                                *:*   
tcp   LISTEN     0      128                   *:22                                *:*  
tcp   LISTEN     0      128           127.0.0.1:953                               *:*   
tcp   LISTEN     0      10                  ::1:53                               :::*   
tcp   LISTEN     0      128                  :::22                               :::*   
tcp   LISTEN     0      128                 ::1:631                              :::*   
tcp   LISTEN     0      128                 ::1:953                              :::*   

named服务的tcp/53、udp/53端口都已经打开

现在的DNS服务器已经可以提供服务器了,但只是查询做了转发,并没有配置本地区域信息,不能解析本地域名。

配置本地域信息

你可能感兴趣的:(CentOS 下搭建DNS服务器)