美文网首页
DNS服务器的配置

DNS服务器的配置

作者: 芷_念 | 来源:发表于2017-07-31 09:46 被阅读0次

    一:简介DNS

    DNS(Domain Name System,域名系统)

    • 域名和IP地址相互映射的一个分布式数据库,通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析。而DNS的主要作用就是域名解析,将主机名解析成IP地址。DNS这种机制能够完成从域名(FQDN)到主机识别IP地址之间的转换。

    查询类型

    • 递归查询:一般是客户机与服务器之间的查询即客户机只发送一次请求,其他的工作将有上层服务器去解决,最后一层一层地反馈结果到客户端。
    • 迭代查询:迭代查询一般是DNS服务器与DNS服务器之间的查询,即最开始的DNS服务器负责发起请求,其他涉及到的DNS服务器只负责响应即可,然后一直查找到目标DNS服务器,并将结果返回给客户端。

    主从DNS服务器

    • DNS也是一个网络服务,因此就有对应的端口号,其端口号为53号,通常DNS在查询时是以UDP/53来查询,而在主从同步时是以TCP/53来同步。为了克服网络中的单点故障问题,DNS服务器一般会有主DNS服务器与从DNS服务器。
    • 主DNS服务器:管理和维护所负责解析的域内解析库的服务器
    • 从DNS服务器:从主服务器或从服务器“复制”(区域传输)解析库副本

    DNS的实现工具

    • DNS是一种机制,一种协议,实现这种机制的常用工具为bind, BekerleyInternatName Domain, ISC (www.isc.org),目前为使用最广泛的DNS服务器软件。

    DNS的配置文件主要有

    • /etc/named.conf ,/etc/named.rfc1912,zones;DNS的主配置文件;
    • /var/named;该目录为DNS数据库文件存放的目录,每一个与文件都存放在这里;
    • /etc/rc.d/init.d/named;为DNS服务的服务脚本

    rndc

    • 一台物理服务器可同时为多个区域提供解析,并且该DNS服务器上必须要有根区域文件named.ca;
    • rndc(remote name domain controller)服务可为DNS提供辅助性的管理功能,该服务监听在主机TCP的953号端口,默认与bind安装在同一主机上,且只能通过127.0.0.1来连接DNS服务的named进程。

    二:主DNS服务器的配置

    (这里我是在centos7上配置DNS,centos6作为测试)

    1:安装DNS的服务器软件bind

    yum -y install bind

    查看端口

    关闭防火墙并设置为开机不允许启动

    centos6的设置为:
    iptables -Fchkconfig iptables off
    chkconfig --list iptables #查看防火墙状态
    centos7的设置为:
    systemctl is-enables firewall #查看防火墙是否开启
    systemctl disable firewall

    启动named服务

    systemctl start named

    2、目的:在当前的DNS搭建一个域,使其能解析cxj.com域。

    创建域

    <1>首先编辑/etc/named.conf文件,本文以添加cxj.com域为例。

    在修改/etc/named.conf文件时,最好先备份:

    cp -p /etc/named.conf /etc/named.conf.bak
    vim /etc/named.conf
    options {listen-on port 53 { 127.0.0.1; };
    listen-on-v6 port 53 { ::1; };
    directory "/var/named";
    allow-query { localhost; };
    recursion yes;
    dnssec-enable yes;
    dnssec-validation yes;

    此配置文件中常见的修改选项:

    listen-on port 53 { localhost; }; localhost:相当于一个变量,代表本机所有IP
    allow-query { localhost; }; 只允许本机查询
    allow-query { any; }; any表示任何主机,也可写成一个网段

    <2> 创建域zone数据库文件 区域定义:本机能够为哪些zone进行解析,就要定义哪些zone;

    zone "ZONE_NAME" IN {};
    

    其中zone的格式为:

    zone "ZONE_NAME" IN {type{master|slave|hint|forward};file "ZONE_NAME.zone";};
    

    type: 该zone的类型,主要类型有:

    hint:根
    master:主DNS
    slave: 从DNS
    forward: 专用于转发
    

    创建zone:

    vim /etc/named.rfc1912.zones
    

    <2>创建zone的数据库文件:

    <3> 修改解析库文件的属主属组并重启DNS服务

    [root@centos7 /var/named]#chown named.named cxj.com.zone
    [root@centos7 /var/named]#chmod 640 cxj.com.zone
    [root@centos7 /var/named]#systemctl restart named
    Stopping named: . [ OK ]
    Starting named: [ OK ]

    <4>如果没有报错信息,则说明配置正常,若有相关报错,则查看系统日志/var/log/messages. 也可进行语法检测:

    [root@centos7 ~]# named-checkconf
    [root@centos7 ~]# named-checkzone "cxj.com"
    /var/named/cxj.com.zone zone cxj.com/IN: loaded serial 20170728
    OK

    <5> 重载主配置文件和区域解析库文件

    rndc reload
    

    3:在centos6上测试一下


    三:步骤总结

    1、安装DNS的服务器软件bind

    yum -y install bind
    开启服务:`systemctl start named`
    

    2、修改/etc/named.conf文件

    listen-on port 53 {localhost; };allow-query {any; };
    

    3、编辑/etc/named.rfc1912.zones文件,添加

      zone "cxj.com" 
          {type master;
            file "cxj.com.zone";
          }
    

    4、创建区域数据库文件vim /var/named/cxj.com.zone

    $TTL 1D
    @        IN SOA ns.cxj.com dnsadmin.cxj.com 
    (
        20170728 ;serial
                10M ;refresh
                  3M ;retry
                  1D ;expire
                3D ) ;mininum
              NS    ns   
      ns      A     192.168.59.128
     www    CNAME   websrv
     websrv   A     1.1.1.2
     ftpsrv   A     2.2.2.2
    

    5、语法检查

    主配置文件语法检查:named-checkconf
    解析库文件语法检查:named-checkzone "cxj.com" /var/named/cxj.com.zone
    重载主配置文件和区域解析库文件:rndc reload
    

    6:测试

    [root@centos6 ~]# dig websrv.cxj.com @192.168.59.128

    相关文章

      网友评论

          本文标题:DNS服务器的配置

          本文链接:https://www.haomeiwen.com/subject/nryllxtx.html