DNS搭建实例

 

环境介绍

  • 系统版本:CentOS 7.2

  • 程序包:bind(提供的dns server程序、已经几个常用的测试程序)、bind-utils(bind客户端程序集,例如dig,host,nslookup等)

缓存名称服务器的配置:

1、安装程序包
    ~]# yum install bind bind-utils -y
2、修改主配置文件
  • 主配置文件:/etc/named.conf

  • 其中主配置文件包含有其它文件:
      /etc/named.iscdlv.key
      /etc/named.rfc1912.zones
      /etc/named.root.key

  • 主配置文件的格式:
       全局配置段:
         options {
         …
         }
       日志配置段:
         logging {
         …
         }
       区域配置段:
         zone{
         …
         }

修改全局配置段如下:

dns1.png

3、检查检查配置文件语法错误
  使用命令:named-checkconf [/etc/named.conf]
4、启动服务
  使用命令:systemctl start named

dns2.png

dns netstat.png
5、测试连通性
几个测试工具:
1、dig命令:
命令用法:
    dig [it RR_TYPE] name [@SERVER] [query options]
        用于测试dns系统,因此其不会查询host文件
查询选项:
    +[no]trace:跟踪解析过程
    +[no]recurse:进行递归解析
反向解析测试:
    dig -x IP
2、nslook命令:
命令用法:
    nslookup [-options] [name] [server]
交互式模式:
    nslookup>
        server IP:以指定的IP为DNS服务器进行查询
        set q=RR_TYPE:要查询的资源记录类型
        name:要查询的名称

d3.png

配置一个正向解析区域

1、定义区域,在主配置文件中或主配置文件辅助配置文件中实现。以magedu.com为例:
  编辑/etc/named.rfc1912.zones文件,插入如下字段。
    zone "magedu.com" IN {
        type master;
        file "magedu.com.zone";
    };
  • type:服务器的类型(master(主服务器) | slave(从服务器) | hint(根服务器) | forward(转发服务器))。

  • file:区域数据文件名称,默认在在/var/named目录下。

2、建立区域数据文件(主要记录为A或AAAA记录)
  在/var/named目录下建立区域数据文件,文件名与上一步定义的保持一致。

dns4.png

  • $TTL:设置有效地址解析记录的默认缓存时间。

  • $ORIGIN:表示该zone文件用来描述的域(domain)名称,说明下面的记录源出何处。

  • MX:邮件交换(Mail Exchange)记录,用于设置当前域的邮件服务器域名地址。

  • A地址(Address)记录:用于记录正向域名解析

  • CNAME:别名(Canoical Name)记录

  • 其中,NS、MX记录行首的@符号可以省略(默认继承SOA记录行首的@信息),但是必须保留一个空格或者制表位;如果ns用全名称,com后面要有"."  如果不是全名称,后面一定不能有"."

3、配置完成之后,要进行权限及属组修改
    # chgrp named /var/named/magedu.com.zone
    # chmod o= /var/named/magedu.com.zone
4、检查配置文件语法错误
    # named-checkzone magedu.com /var/named/magedu.com.zone
    # named-checkconf
5、让服务器重载配置文件和区域数据文件
    # rndc reload 或
    # systemctl reload named.server
测试验证使用dig命令

dns5.png

查看NS

dns6.png

 

配置一个反向解析区域

1、定义区域,在主配置文件中或主配置文件辅助配置文件中实现
   编辑/etc/named.rfc1912.zones文件,插入如下字段。
    zone "1.168.192.in-addr.arpa" IN {
        type master;
        file "192.168.1.zone";
    };
2、定义区域解析库文件(主要记录为PTR)
  在/var/named目录下建立区域数据文件,文件名与上一步定义的保持一致。

dns7.png

  • 反向区域的名字:反写的网段地址.in-addr.arpa

3、进行权限及属组修改
    # chgrp named /var/named/192.168.1.zone 
    # chmod o= /var/named/192.168.1.zone
4、检查配置文件语法错误
    # named-checkzone 1.168.192.in-addr.arpa /var/named/192.168.1.zone
    # named-checkconf
5、让服务器重载配置文件和区域数据文件
    # rndc reload 或
    # systemctl reload named.server
 测试:

dns8.png

 

辅助DNS服务器配置

  • 从服务器是区域级别的概念

1、在从服务器上定义一个区域:
    zone "magedu.com" IN {
        type slave;
        file "slaves/magedu.com.zone";
        masters { 10.1.8.81; };
    };
  • masters:指明主DNS地址。

2、重载配置
    #rndc  reload
3、在主服务器上
  确保区域数据文件中为每个服务配置NS记录,并且在正向区域文件需要每个从服务器的NS记录的主机名配置一个A记录,且此A后面的地址为真正的从服务器的IP地址。

dns9.png

  验证:
  从服务器上查看状态:

dns10.png

  去到/var/named/slaves,可以看到同步过来的数据库配置文件

dns11.png

  使用dig验证辅助DNS服务器是否能解析www.magedu.com域名

dns12.png

  • 注意时间同步、iptables和SElinux的规则。

子域授权

1、在主域数据库文件授权

dns13.png

2、子域新装bind并配置
  定义监听端口及IP地址
    listen-on port 53 { 10.1.8.84; };
3、子域创建配置区域文件
    zone "cdn.magedu.com" IN {
        type master;
        file "cdn.magedu.com.zone";
    };
4、创建子域数据文件
    $TTL 3600
    $ORIGIN cdn.magedu.com.
    @       IN      SOA     ns1.cdn.magedu.com      nsadmin.magedu.com.com    (
            2017020800
            1D
            30M
            1D
            1D )
            IN      NS      ns1
    ns1     IN      A       10.1.8.84
    www     IN      A       10.1.8.84
  验证:
  在主域的主NS服务器中,使用 dig -t A www.cdn.magedu.com ,如果能解析到,说明配置OK。

 

原创文章,作者:641348038@qq.com,如若转载,请注明出处:http://www.178linux.com/67867

(0)
上一篇 2017-02-15 13:49
下一篇 2017-02-15 17:04

相关推荐

  • 有关脚本的一些使用及其注意事项

    1,shell 脚本 格式要求:首行shebang机制                  #!/bin/bash       &n…

    2017-08-05
  • N25 第四周作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 2、编辑/etc/group文件,添加组hadoop。 3、手动编辑/etc/passwd文件新增一行,添加用户hadoop,其基本组ID为hadoop组的id号;其家目录为/home/hadoop。 4、复制/etc/sk…

    Linux干货 2017-01-04
  • Python函数式编程指南:目录和参考

    目录: 概述 这一篇简要地描述了函数式编程和一些相关的概念。 函数 这一篇展示了关于函数可能不常用到的部分特征并尝试引导诸位使用函数式的思维解决问题,并介绍了诸多有用的内建函数。 迭代器 这一篇介绍了迭代器以及Python对迭代器的语法级的支持,还包括了内置模块itertools的介绍。 生成器 这一篇介绍了自定义的迭代器——生成器,并展示了生成器的用途和使…

    Linux干货 2015-03-11
  • 第一周作业

    一、描述计算机的组成及其功能 计算机是由处运算器,控制器,储存器,输入输出设备组成 运算器:执行各种计算和逻辑运算操作 控制器:完成协调和指挥整个计算机系统的操作 储存器:暂时存储或者长期存储数据 输入设备:向计算机输入数据和信息的设备 输出设备:计算机硬件系统的终端设备 二、按系列罗列Linux的发行版,并描述不同发行版之间的联系和区别 Linux发行版=…

    Linux干货 2016-12-05
  • 关于大型网站技术演进的思考(四):存储的瓶颈(4)

    原文出处: 夏天的森林    如果数据库需要进行水平拆分,这其实是一件很开心的事情,因为它代表公司的业务正在迅猛的增长,对于开发人员而言那就是有不尽的项目可以做,虽然会感觉很忙,但是人过的充实,心里也踏实。 数据库水平拆分简单说来就是先将原数据库里的一张表在做垂直拆分出来放置在单独的数据库和单独的表里后更进一步的把本来是一个整体…

    2015-03-11
  • Linux syslog 系统日志管理

    Linux系统上面,系统可以记录从开机到当前系统上面何时发生了哪些事情,在centos 上表现为rsylog,由三部分组成 1)syslogd:主要记录系统和网络等服务的日志信息 2)klogd:主要记录内核产生的各项信息 3)logretate:主要用来对日志文件进行切割循环记录等 特点: 1)多线程工作 2)支持以TCP,UDP,SSL,TSL,RELP…

    Linux干货 2016-10-24

评论列表(1条)

  • luoweiro
    luoweiro 2017-02-23 07:20

    不只是搭建,原理也很重要,尤其是在企业中应用到后,如何加快解析,如何智能解析,如何实现主备切换等高可用方案。