linux基础服务之DNS

一、DNS简介

1、DNS:Domain Name System(域名系统),是互联网上IP和域名相互解析的分布式层级结构的数据库。DNS的出现能够使用户更好的更加方便的访问互联网,不用记IP地址来访问互联网,可以通过人类更容易记住域名来访问互联网。

2、DNS是一种C/S架构的服务器,客户机用于一个名字对应的地址,而服务器是为客户机提供查询的,查询由两种机制:迭代查询和递归查询

   迭代查询:一般是DNS服务器与DNS服务器之间的查询方式

   递归查询:一般是客户机与服务器之间的查询方式

3、DNS是通过解析记录来过建成的DNS数据库,数据库中解析记录又分为正向解析和反向解析。其中正向解析是从域名到IP的过程,而反向解析是从IP到域名的过程。那么解析记录主要有哪些呢?

       常见的记录:

             A:就是地址(address)的缩写,后面记录的是ipv4的地址

             AAAA:对应的是Iipv6的地址

             NS:后面对应的是DNS服务器

             SOA:就是开始验证(start of autority)的缩写

             PTR:后面对应的是反向解析到的主机名

             CNAME:主机别名,一个主机可以有多个主机名。

             MAX:邮件服务器的地址

      下面我们通过几个简单的配置来认识DNS服务

二、正向解析的配置

 

   以zhanglang。com域为例用ns1.zhanglang.com服务器:

   实验前准备:安装bind软件包

      yum install bind

   (1) 定义区域

     在主配置文件中(/etc/named.conf)或主配置文件辅助配置文件(/etc/named.rfc1912.conf)中实现;

     修改主配置文件 vim /etc/named.conf

      linux基础服务之DNS     

   

    修改/etc/named.rfc1912.conf,添加zone(在/var/named/*.zone的文件)

     linux基础服务之DNS  

  

   (2) 建立区域数据文件(主要记录为A或AAAA记录)

     在/var/named目录下建立区域数据文件;

     文件为:/var/named/zhanglang.com.zone

     linux基础服务之DNS

  

   (3)权限及属组修改:

     # chown  :named  /var/named/zhanglang.com.zone

     # chmod  o=  r/named/zhanglang.com.zone

   (4)检查语法错误:

      linux基础服务之DNS

   (5)让服务器重载配置文件和区域数据文件

      # rndc  reload

   (6)测试

     linux基础服务之DNS

     正向解析配置成功

二、配置解析一个反向区域

  (1) 定义区域

    在主配置文件中或主配置文件辅助配置文件中实现;

    修改主配置文件 vim /etc/named.conf

    linux基础服务之DNS

   修改/etc/named.rfc1912.conf,添加zone(在/var/named/*.zone的文件)

    linux基础服务之DNS

  (2) 定义区域解析库文件(主要记录为PTR)vim /var/named/192.168.zone

    linux基础服务之DNS

 (3)权限及属组修改:

    # chgrp  named  /var/named/192.168.zone

    # chmod  o=  /var/named/192.168.zone

 (4)检查语法错误和重载:

    # named-checkzone  168.192.in-addr.arpa /var/named/192.168.zone

    # named-checkconf

    # rndc reload 

 (5)测试

           linux基础服务之DNS    

三、主从服务器:

       在示例一我们以ns1.zhanglang.com做了正向解析主服务器,那么我们再以ns2.zhanglang.com作从服务器,我们直接修改ns2.zhanglang.com配置就行了。如下:

       (1)修改配置文件

              修改主配置文件 vim /etc/named.conf

              linux基础服务之DNS 

       (2)定义区域 vim  /etc/named.rfc1912.conf

              linux基础服务之DNS

       (3)检查语法错误和重载:

      # named-checkconf

               # rndc reload

               linux基础服务之DNS

       (4)测试

            在从服务器上解析

               linux基础服务之DNS

           解析成功

四、子域

        正向解析区域授权子域的方法:

  父域配置

   (1) 在/var/named目录下建立区域数据文件;vim /var/named/zhanglang.com.zone

                linux基础服务之DNS

   (2)检查语法错误和重载:

                 # named-checkzone  zhanglang.com /var/named/zhanglang.com.zone

     # named-checkconf

                 # rndc reload

        子域配置

            (1)在子域配置

      主配置文件(开启监听端口)vim /etc/named.conf

                   linux基础服务之DNS

                创建域vim /etc/named.rfc1912.zones

                linux基础服务之DNS  

         (3)创建域解析库  vim /var/named/ops.zhanglang.com.zone

     linux基础服务之DNS

   (4)修改权限和组

     linux基础服务之DNS

   (5)检查语法错误和重载:

      # named-checkzone  ops.zhanglang.com /var/named/ops.zhanglang.com.zone

       # named-checkconf

       # rndc reload

   (6)检测

      子域检查

        linux基础服务之DNS

     父域检测

        linux基础服务之DNS

     成功配置子域授权

五、定义转发(在子域定义转发):

注意:被转发的服务器必须允许为当前服务做递归

 在上例中的子域服务器配置转发 

  (1) 配置文件 /etc/named.rfc1912.zones 

    linux基础服务之DNS

 (2)语法检查和重载

    linux基础服务之DNS

 (3) 检测

    检测父域“zhanglang.com”

     linux基础服务之DNS

     解析成功

六、基本安全控制

   acl:访问控制列表;把一个或多个地址归并一个命名的集合,随后通过此名称即可对此集全内的所有主机实现统一调用;

     bind有四个内置的acl

       none:没有一个主机;

       any:任意主机;

       local:本机;

       localnet:本机的IP所属的网络;

        常见访问控制指令

     allow-query  {};  允许查询的主机;白名单;

     allow-transfer {};  允许向哪些主机做区域传送;默认为向所有主机;应该配置仅允许从服务器;

     allow-recursion {}; 允许哪此主机向当前DNS服务器发起递归查询请求;

     allow-update {}; DDNS,允许动态更新区域数据库文件中内容;

        1、allow-query 在主服务器上(ns1.zhanglang.com)

            (1)  主配置文件vim /etc/named.conf 创建访问控制列表(控制为只能192.168.109.101主机能解析)

       linux基础服务之DNS

    (2) 创建域vim /etc/named.rfc1912.zones

      linux基础服务之DNS

    (3)与法检测和重载

      linux基础服务之DNS

   (4)检测(测试时所用的命令和服务器地址一致)

     192.168.109.101检测

      linux基础服务之DNS

      解析成功

    192.168.109.100检测

      linux基础服务之DNS

      解析失败,控制设置成功

            2、allow-transfer 在主服务器上(ns1.zhanglang.com)

                 (1) 主配置文件vim /etc/named.conf 创建访问控制列表(控制为只能192.168.109.100主机只能区域传输)

        linux基础服务之DNS

     (2) 创建域vim /etc/named.rfc1912.zones

        linux基础服务之DNS

                 (3)与法检测和重载

        linux基础服务之DNS

     (4)测试

       192.168.109.101检测

         linux基础服务之DNS

        传输失败

       192.168.109.100测试

         linux基础服务之DNS

       传送成功,控制设置成功

     3、allow-recursion 在主服务器上(ns1.zhanglang.com)

       (1) 主配置文件vim /etc/named.conf 创建访问控制列表(控制为只能192.168.109.101/24网段递归)

          linux基础服务之DNS

      (2)与法检测和重载

          linux基础服务之DNS

      (4)测试

       192.168.109.101检测

          linux基础服务之DNS

        成功

      4、 allow-update {}; DDNS,允许动态更新区域数据库文件中内容;

         一般我们是不允许动态更新区域数据库文件中内容;因为允许动态更新区域数据库文件中内容会造成安全风险;所以我们禁止动态更新

         编辑配置文件:vim /etc/named.rfc1912.zones

            在每个zone中加上 allow-update { none; };即可

           linux基础服务之DNS  

          然后重载服务就可以了

          linux基础服务之DNS    

            

        

    

   

   

 


 

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

赞 (0)
zqzq
上一篇 2017-05-29 12:31
下一篇 2017-05-29 16:42

相关推荐

  • 利用ansible-playbook从测试环境获取tomcat中java项目新版本发布到生产环境

    一、环境描述 安装有ansible的服务器:192.168.13.45 测试环境服务器:192.168.13.49 /home/app/api-tomcat/webapps/api.war为测试环境新版本war包位置 生产环境服务器:192.168.13.51 /home/app/api-tomcat/webapps/api.war为生产环境war包位置 /…

    Linux干货 2016-12-18
  • 第二十六天 iptables 初识

      Iptables是位于用户空间,是linux系统上的防火墙管理配置规则的工具,主要用于添加、删除、管理netfilter的规则,   Netfilter是位于内核中真正的防火墙,由5个钩子组成,也叫五个规则链。 Netfilter的作用:起到过滤封包,转换与映射IP地址和端口,拆分和修改封包内容,追踪封包等功能 Iptabl…

    Linux干货 2016-07-02
  • 马哥教育网络第21期-第1周课程练习

    第一周博客 1、描述计算机的组成及其功能。 计算机的组成:运算器、控制器、储存器、输入设备、输出设备 运算器+控制器 = CPU 储存器 = RAM(内存) I/O(输入/输出)设备 = 硬盘、打印机、鼠标、键盘、显示器 CUP:运算和逻辑运算 储存器:缓存和储存数据 I/O设备:计算机与用户交互的设备 2、按系列罗列Linux的发行版,并描述不同发行版之间…

    Linux干货 2016-06-26
  • Linux下的SSH端口转发

    通常情况下两个不同的网络之间总会开放某一些特定的端口用于通讯使用,而SSH所使用的22端口通常就在开放之列。基于SSH的端口转发就是利用SSH作为中间的代理,达到绕过两个网络之间的限制,顺利的进行任意的端口的访问。端口转发可以分为三种,正向端口转发,反向端口转发和动态端口转发。为了演示这三种端口转发方式的用法我们先假设存在有2个网域Office和Prod,在…

    Linux干货 2015-02-09
  • 配置epl时,出现“time out”错误,解决办法

    一:配置环境、网络环境及出现的故障 1:配置环境 本机在配置epel仓库时,配置文件所在路径为/etc/yum/repos.d/centos7.repo.以下为配置文件的的详细内容 [base]name=centos 7.3baseurl=file:///misc/cdgpgkey=file:///misc/cd/RPM-GPG-KEY-Centos-7 […

    2017-06-10
  • linux计划任务

    linux计划任务、周期性任务执行 未来的某时间点执行一次某任务:at,batch 周期性运行某任务:crontab 执行结果: 会通过邮件发送给用户, 存放在/var/spool/mail/UserName ~]# ss -tnl 或者 ~]# netstat -tnlp  查看是否有25号端口打开,来判断本机的邮件服务是否正常打开 本地电子邮件…

    Linux干货 2016-09-19