DNS 服务

NDS domain name server (域名服务)

协议: DNS

UDP :53

TCP :53

实现软件 : bind(Berkeley Internet Name Domain) PowerDNS , dnsmasq

名称解析:将一种格式的信息转化为另外一种格式,以某关键字为标准查找某一数据库的过程

             passwd <--> nsswitch转换
            login:nsswitch为login提供服务
            nsswitch配置文件在/etc/nsswitch

hosts:files dns

        files  /ect/hosts  (存放主机名或者别名和IP)
        dns  不用host文件 集中向一个服务器提出申请

分布数据库

 根域(.)-->一级域(ICCNA)-->二级域(组织域)
 namespace:名称空间  容纳名称的整体范围
 一级域:
  组织域:.com , .org , .mil , .gov , .edu , .net,.jp,.ir(伊朗),.iq(伊拉克),.us,.uk
 国家域: .cn  , .hk , .tw
 反向域: .in-addr.arpa

FQDN:Full Qualified Domain Name 完全域名解析

FQDN –> IP 正向解析

IP –> FQDN 反向解析

查询 :

递归查询 :只发出一次请求对方给出最终答案

迭代查询 :发起一次请求,不一定得到答案

课户端指向的DNS服务器,一定是允许给本地主机做递归的

资源记录的类型

 数据库每一个条叫一个资源记录(Resource Record),资源记录有类型 ,用于表示资源的功能 

   SOA : start of authority  起始授权
   NS  :    Name Server,  域名服务器
   MX :  Mail eXchanger  邮件交换器
   A:Address,(FQDN-->IP)  地址记录 正解
   PTR: PoiTeR,(IP-->FQDN)   指针记录   反解
   AAAA: Address,FQDN-->IPv6
   CNAME:Canonical Name,正式名称(别名记录)

        <!-- 早期的DNS 只支持 FODN-->iP ,正方向解析数据不同,不能存放于同一个数据库进行 -->

域: Domain ,逻辑概念
区域: zone ,物理概念  也就是数据文件

DNS服务器类型:

主DNS服务器

辅助DNS服务器

缓冲名称服务器

转发服务器

DNS的数据库文件(区域数据文件,区域自身有名字):文本文件,只能包含资源记录或宏定义,每行一个

资源记录的格式

    name  [ ttl 缓存纪录]   IN  RRtype(资源记录类型)   Value
    列子:
        www 600 IN  A 1.2.3.4
        www.magedu.com. 600 IN A 1.2.3.4  

  SOA: 只能一个

        name : 只能是区域名称,通常可以简写为@,例如:magedu.com.
        value: 有n个数值,最主要的是主DNS服务器的FQDN,点不可省略
       <!-- 注意:SOA 必须是区域数据库文件第一条记录-->
  例子:
      @  600 IN SOA  na.magedu.com.  邮箱地址(dnsadmin.magedu.com. ;把@变为.了 )( 序列号(serial number) ; 注释内容,十进制数据,不能超过10位,通常使用日期,例如2014031001
         刷新时间(refresh time) ;即每隔多久到主服务器检查一次
         重试时间(retry time) ;应该小于refresh time
         过期时间(expire time)
         netgative answer ttl    ;否定答案的ttl   客户端可以缓存多久的
     )
                            <!--          ;是注释-->
NS: 可以有多条
                name: 区域名称,通常可以简写为@
                value  : DNS 服务器的FQDN(可以使用相对名称)
            例如: @ 600 IN NS ns 

    A:
          name :  FQDN ( 可以使用相对名称)
          value: IP
    列子:
        www  600 IN  A  1.2.3.4
        www  600 IN  A   1.2.3.5
         ftp     600 IN  A   1.2.3.5

 AAAA : ipv6
 MX :可以有多个
         name : 区域名称,用于标示 smtp 服务器
          value :包含优先级和FQDN
          优先级的: 0-99 数字越小,级别越高
    列子:
              @ 600 IN  MX  10 mail
              @ 600 IN  MX  20  mail2
   CNAME :    别名
                     name : FQDN
                     value :FQDN
     列子: ftp  IN  CNAME  www

    PTR:  指针纪录  IP-->FQDN  只能记录在方向区域数据文件中,反向区域名称为逆向网络地址加 .in-addr.arpa.  后缀组成
            name: IP ,主机地址反过来写  例如: 172.16.100.7 的name 为7.100,完全格式为:7.100.16.172
            value : FQDN
列子:
     4.3.2  600 IN PTR   www.maged.com.

区域传送

 定义: 辅助DNS服务器从主DNS服务器或其他的辅助DNS服务器请求数据传输过程
             完全区域传送:传送区域的所有数据,AXFR
             增量区域传送:传送区域中改变的数据部分,IXFR

视图 view

acl telecom{
 1.2.0.0/16
 4.5.8.0
 }
 acl unicom{
 6.4.0.0/16
 4.5.3.0
 }
view {   //一个逻辑的dns服务器
      recursion no;  不给递归
       match-clients {telecom};  //telecom 是一个acl 范围
        zone "magelinux.com"  IN {
               type master ;
               file "magelinux.com.internal";  //文件可以是同一个
        };
 };
 view {
          match-clients{ unicom }; //unicom 是一个 acl 范围
           zone "magelinux.com" IN {
                type master;
                file "magelinux.com.external";
           };
 };
 缺陷: 如果IP地址没有收集齐全,就悲剧了, 所以最好还是定义一个Other (默认)

 view {
    match -clients {any ;}
    zone "magelinux.com" IN {
       type master;
       file "magelinux.com.other";
     };
 };

       只要写入view,所有的都应该写在view中
       自上而下匹配

bind: isc(www.isc.org)

  主配置文件: :定义区域 /etc/named.conf
    案例: magelinux.com

配置bind

  1. 主配置文件 定义区域 /etc/named.conf

                至少有三个区域:
                     根,localhost ,127.0.0.1
        options {
                listen -on  port 53   {  any;};
                //全局选项
                directory "/var/named" ;
                allow-query { any; }; 允许所有客户端查询
                recursion  yes | on  ; 是否运行递归
    
         }  ;   
    
         zone "zone name"  IN {
          //定义区域的
               type{hint(根)|master(主)|slave(从)|forward(转发)}
                file “named.ca”
         } ; 
    
         loggin {
               //定义日志的
         };
    
         include "文件位置"   加载别的文件  
    
     <!--
         named-checkconf 检查主配置文件  service named configtest
         named -u named     手动启动
         name-checkzone "区域" “区域文件位置”  检查配置文件  -->
         定义监听的地址
    
        recursion 是否允许递归查询
    

dig 命令

          dig [-t type] [-x a  ddr] name @DNS服务器
          +[no]trace [不]适用迭代
          +[no]tcp 是否使用tcp
          +[no]recurse:是否使用递归

host

          host[-t type] {name} [server]

nslookup

     nslookup>
                  server DNS_SERVER_IP
                  set q=TYPE
                  {name}
  1. 区域数据文件 /var/named/

        用户: named
         组: named
    

    反向解析区域数据库文件 区域名称以逆向的网络地址,并以.in-addr.arpa为后缀

         第一条必须SOA
         应该具有NS记录,但不能出现MX和A 记录
         较常见的即为PTR纪录
                名称为逆向的主机地址
    

反解:

         zone "100.16.172.in-addr.arpa " IN {
                 type  master ;
                 file "172.16.100.zone";
         }
         在 /var/named/下创建172.16.100.zone
         ![](media/14595736364157/14601888712923.jpg)
    tail /var/log/messages 检查日志
    dig -x 172.16.100.7
    检查区域  named-checkzone "100.16.172.in-addr.arpa" 172.16.100.zone

区域传送:

                  用dig 模拟完全区域传送
                    #dig -t axfr 区域名称 @server

                  主从同步:  /etc/resolv.conf
                     nameserver   Master_DNS_IP
                     nameserver   SLAVE_DNS _IP
     主从版本:
                主: bind版本可以低于从的版本
                从: 主的版本不能高于从的版本   兼容问题

    向区域中添加从服务器的关键两步 :
                 1. 在上级获得授权)
                 2. 在区域数据文件中为从服务器添加一天ns记录和对应的A记录 或PTR纪录

    在/etc/named.rfc1912.zones下
       zone "magelinux.com"  IN {
             type slave;
             masters { 172.16.100.7 ; };
             file "slaves/magelinux.com.zone";
        }

        区域传送安全控制:
               allow-transfer { IP ; };    指定IP做区域传送

rndc Remote Name Domain Controller

远程管理bind的工具
 Rndc : 密钥
       rndc :保存于rndc 的配置文件中
       bind: 持有一半点的密钥,保存于主配置文件中

 rndc 的配置文件 /etc/rndc.conf
        CentOS ,RHEL : /etc/rndc.key 

 reconfig 只重新读取配置文件并且加载新增加的区域
querylog: 关闭或开启查询日志
 stop  关闭服务
 flush 清空服务器的缓存
flushname name:只清空指定名称相关的缓存
trace:打开debug,调试模式,debug有级别的概念,每执行一次提升一个等级
trace LEVEL:指定debug的级别    

 如果rndc无法正常工作,可尝试使用rndc-confgen生成/etc/rndc。conf配置文件,并将配置文件中的后半部分复制到BIND的主配置文件中按指示启用即可
  rndc-confgen  > /etc/rndc.conf

bind子区域的授权实现 (正向)

  定义: 在父域的配置文件中添加如下项:
            授权的子区域名称
            子区域的名称服务器
            子区域的名称服务器的IP地址
     名称    IN    NS  IP   dns.tech   子域名 

      glue record  胶水效果

配置区域转发:转发域

    定义: 解析某本机不负责的区域内的名称时不转发给根,而是转给制定的主机            转发非本机负责解析的所有区域
             options{
                   forward only|frist
                   forwarders{ ip; }
              }

  转发某特定区域
             zone"特定区域" IN{
                         type forward;
                         forwarders{ ip; }
                         forward only | frist
                      <!--     only:服务器将只会请求 forwarders中的DNS主机
                           frist: 服务器首先请求 forwarders list ,如果 forwarders list 中的DNS主机不应答,该主机将自己去找应答-->
             }
        运行使用转发的前提: 本机要在对方的允许的递归主机列表中

安全控制选项:

 allow-transfer{};通常都需要启用,从服务器
 allow-query{};此项仅用于服务器是缓存名称服务器时,只开放查询功能给本地客户端
 allow-recursion{可以使用网段};允许递归的白名单
 allow-update{ none; }:允许动态更新数据文件的主机白名单

ACL:BIND支持使用访问控制列表

acl ACL_NAME{
  172.16.0.0/16
  192.168.0.0/24
  127.0.0.0/8
} 

访问控制列表只有定义后才能使用,通常acl要定义在named.conf的最上方
BIND有四个内置的acl
any:任何主机
none:无一主机
local:本机
localnet:本机所在的网络           

view,编译安装named,如何实现对named做压力测试,BIND dlz

搭建本地非权威解析DNS配置过程

 1.修改/etc/named.conf
        listen-on port 53 {any;};
        allow-query {any;};

2.修改/etc/named.rfc1912.zones 添加要解析的域
        zone "xxx.com" IN {
              type master;
              file "xxx.com.zone";
              allow-update {none;};
        }  ;

 3. 添加数据库文件/var/named/xxx.com.zone
        xxx.com. IN SOA  ns1.xxx.com. root.xxx.com. (20160402 1d 1h 1w 1h)
        xxx.com. IN NS ns1.xxx.com.
        ns1.xxx.com. IN A  192.168.30.98
        www.xxx.com IN A 192.168.30.98

 4.重启服务
                service named restart

5. 修改/var/named/xxx.com.zone 文件的用户和用户组
                     chown named.named /var/named/ —R

6.检查nameserver 是否为本机IP
                nameserver  192.168.30.98

7.重启服务
           service named restart

8.  nslookup  测试 nslookup IP

bind子域授权的实现

            $TTL 600
            @ IN SOA dns.magelinux.com. dnsadmin.magelinux.com. (
                     20160410 1H  5M 3D 12H)
                IN NS     dns
                IN MX  10 dns
            www IN A 192.168.1.11
            dns IN A 192.168.1.10
            mail IN A 192.168.1.12
            pop IN CNAME mail
            ftp IN CNAME www

            //加入信息
             tech IN NS  dns.tech.magelinux.com.
             dns.tech.magelinux.com.  IN  A  192.168.10   

            要在另外一台服务器中增加
                        vim /etc/named.rfc1912.zones

                        zone "tech.magelinux.com" IN {
                                type master;
                                file "tech.magelinxu.com.zone";
                        }

             创建一个 techo.magelinux.com.zone
                           $TTL 600
                           @ IN SOA  dns.tech.mageliunx.com (20160410 1H 5M 3D 1D)
                               IN NS dns
                               IN MX 10 mail
                    dns IN A 192.168.2.10
                    www IN A 192.168.2.11
                    ftp     IN A 192.168.2.12
                    更改属组 和权限
时间: 2024-10-12 08:11:54

DNS 服务的相关文章

DNS服务相关概念详解

实验环境:RHEL 32Bit DNS服务相关概念详解 DNS是一种域名解析服务,DNS服务的核心以及DNS服务的标准都是基于一个软件来实现的,这个软件叫做BIND(Berkeley Internet Name Domain),互联网上几乎所有的DNS服务都是由BIND来构建的,虽然也有其它的DNS服务构建标准,但是它们的使用语法以及工作机制都和BIND非常接近. ·Linux服务器和Windows服务器的比较 Linux服务器在没有SELinux的时候它的安全级别和Windows服务器的安全级

DNS服务配置及拓展(1)

DNS服务配置及拓展 一.DNS服务的信息说明: A##正向记录 PTR##反向,ip到域名 host -l example.com##查看域中的所有主机 dig -t soa example.com##辅助dns 软件包: bind DNS主配置目录:/var/named/chroot/ DNS主配置文件:/etc/named.conf DNS A记录存放目录:/var/named/chroot/var/named 二.如何配置dns正向解析: 1.vim /etc/named.conf#编辑

DNS服务解析,如何用bind构建主从架构的DNS服务器。

DNS(Domain Name System,域名系统) 在互联网上实现FQDN与IP地址的解析,这样避免了人们在访问站点时,记忆长串难懂的ip地址,只需要记忆人们容易理解的域名就行了. FQDN (Fully Qualified Domain Name,完全合格域名) FQDN------------------IP Address 正向解析 IP Address------------FQND 反向解析 简述工作原理: 我们大家都知道,全球一共有13台根节点服务器,当我们的DNS服务器收到一

部署用于全网的跨网段DHCP和DNS服务

管理部分 DHCP和DNS在同一台服务器上 登陆地址:ssh  root/192.168.20.210  密码:jyd315.com DHCP主配置文件:/etc/dhcp/dhcpd.conf  (定义网段及IP地址范围的地方) DNS主配置文件:/var/named/chroot/etc/named.conf (定义服务监听端口及地址) 4.查看各网段IP地址分配情况: cat  /var/lib/dhcpd/dhcpd.leases 安装和配置部分 系统环境CentOS6.5 yum –y

【详解】DNS服务工作原理、正反向解析和主从同步

目录: 一.理论部分 二.实验部分 ******************************理论部分*************************************** 正文: 一.什么是DNS服务. DNS服务是互联网的基础性服务之一.全称为Domain Name System(域名系统).DNS是因特网上作为域名和IP地址相互映射的一个分布式数据库,提供将域名转换成对应IP地址的信息条目,能够使用户更方便的通过域名(如baidu.com)去访问互联网,而不用去记住能够被机器直接

dns服务 很多问题,后续再研究

慕课网:http://www.imooc.com/video/5220 参考:http://jingyan.baidu.com/article/870c6fc32c028eb03fe4be30.html http://www.tuicool.com/articles/aUNzMfi http://www.07net01.com/linux/dnszhucongfuzhijiquyuchuansong_505144_1373161402.html http://wenku.baidu.com/vi

centos DNS服务搭建 第三十节课

centos  DNS服务搭建     第三十节课 上半节课 下半节课 一. DNS原理相关DNS 为Domain Name System(域名系统)的缩写,它是一种将ip地址转换成对应的主机名或将主机名转换成与之相对应ip地址的一种服务机制.其中通过域名解析出ip地址的叫做正向解析,通过ip地址解析出域名的叫做反向解析. DNS使用TCP和UDP, 端口号都是53, 但它主要使用UDP,服务器之间备份使用TCP.全世界只有13台“根”服务器,1个主根服务器放在美国,其他12台为辅根服务器,DN

DNS服务的配置与验证

DNS服务的配置与验证 一.DNS的用途    DNS服务器(Domain Name System)即域名解析服务器,因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串.通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析).DNS协议运行在UDP协议之上,使用端口号53. 二.DNS服务的安装 检查是否已安装bind软件 三.DNS的配置 基于案例的配置: 案例说明: 服务器IP:     192.

DNS服务的原理与配置

DNS服务的原理与配置    DNS是一组协议和服务,基本功能是在主机名与对应的IP地址之间建立映射管理. *主机名便于记忆 *数字形式的IP地址可能会由于各种原因而改变,而主机名可以保持不变. DNS的组成           根域:就是"."(点号),由Internet名称注册授权机构管理,该机构把域名空间各部分的管理责任分配给了连接到Internet的各个组织. 顶级域:根域的下级域,由Internet名称授权机构管理,有两种常见类型. *组织域:采用三个字符的代号,标识DNS域

DNS服务基础知识

一.DNS的基本概念 DNS:domain name server域名:www.baidu.com(主机名,FQDN,full qualified domain name,完全限定域名) 二.DNS的类型主DNS服务器:数据的修改 DNS服务器类型辅助DNS服务器:请求数据的同步serial numberrefreshretryexpirenagative answer TTL 缓存dns服务器转发器 三.资源记录 数据库中的,每一个条目称作一个资源记录(resource record RR)资