当前位置:首页 > 操作系统 > Linux

linux-dns

Linux-DNS

引述:日志在马哥视频公开课基础上编写,感谢马哥

一、概念

DNS :Domain Name Service

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

DNS 域名解析服务(Domain Name System)是用于解析域名与IP地址对应关系的服务,

  从功能上可以实现正向解析和反向解析。

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

FQDN --> IP 正向解析

IP --> FQDN 反向解析

查询:

   递归查询:用于客户机向DNS服务器查询,只发出一次请求,最终能得到最终答案

   迭代查询:用于DNS服务器向其他DNS服务器查询,发出多次请求。

DNS 服务器的类型(从工作形式上分为)

   主DNS服务器:在特定区域内具有唯一性、负责维护该区域内的域名与IP地址对应情况。

    从(辅助)DNS服务器:从主服务器中获得域名与IP对应关系并维护,以防主服务器宕机等情况。

   缓存名称服务器:通过向其他域名解析服务器查询获得域名与IP地址对应关系,以提高重复查询时的效率。

 

DNS 服务协议分布式的数据库系统:

                              根域

   .org     .net       .com       .edu     .gov       .others         

          google       meeyu       facebook

                www     web1   web2  

注:上级仅知道其直接下级,下级只知道根(.)位置。

 

二、安装bind程序

  Bind (Berkeley InternetName Daemon)伯克利互联网域名服务。

 #yuminstall -y bind bind-chroot

    /usr/sbin/named                   // 主程序

    /etc/named.conf                   // 主配置文件

     /etc/named.rfc1912.zones           // 区域配置文件.

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

资源记录的格式:

name [ttl( 缓存时间)] IN 资源记录类型(RRtype) Value

   例子:

    www 600( 单位s) IN A 1.2.3.4

www.meeyu.com. 600 IN A 1.2.3.4

name: 只能是区域名称,通常可以简写为@

value: 有n个数值,最主要的是主DNS服务器的FQDN,点不可省略

注意:SOA必须是区域数据库文件第一条记录

例子:

         @600 IN NS ns

 

SOA(Start of authority) 起始资源记录

    ZONENAME    TTL  IN  SOA   FQDN admin_mailbox (

             serialnumber        // 版本号,注释内容,十进制数据,不能超过10位,通常使用日期

            refresh          // 刷新时间,多久检查一次主服务器;

            retry           // 刷新失败后,重试时间,应小于refresh

            expire          // 过期时间

            nattl     )      // 否定答案缓存时间

 

资源记录类型:

NS: 可以有多条

l  A: 只能定义在正向区域数据文件中, name:FQDN (可以使用相对名称) value:IP

               www  600( 单位s) IN A 192.168.100.120

l  PTR :IP --> FQDN,只能定义在反向区域数据文件中

120 600 IN PTR www.meeyu.com.

l  MX: 可以有多个, name: 区域名称,用于标识smtp服务器; value:包含优先级和FQDN,优先级:0-99,数字越小,级别越高,

               @ 600 IN MX 10 mail

  • CNAME: 别名,name :FQDN ;value :FQDN

               ftpIN CHANE www

 

三、实例 

1. 备份文件:

     # cp/etc/named.conf{,.bak}

     # cp /etc/named.rfc1912.zones{,.bak}

2. 编写配置文件:

修改主配置文件

# vim /etc/named.conf

options {

                    listen-on port 53 { 192.168.100.106; };  // 监控本机端口

                    directory      "/var/named";     // 文件目录

                    allow-query     { any ; };       // 访问 控制

                    recursion yes;                    // 是否递归 

};

修改区域配置文件:

# vim /etc/named.rfc1912.zones    // 添加域

zone"meeyu.com" IN {

       type master;

       file "named.meeyu";

};

 

#zone"100.168.192.in-addr.arpa" IN {

      type master;

      file "named.106";

};

3. 编写区域对应文件

    正向区域文件:

#vim /var/named/named.meeyu

$TTL900

meeyu.com.   IN SOA  ns.meeyu.com.admin.meeyu.com. (

                      2016010101

                      12H

                      15M

                      2D

                      6H  )

                IN NS   ns

ns           IN A    192.168.100.106

web1         IN A    192.168.100.107

web2         IN A    192.168.100.108

www          IN CNAME web1

  反向区域文件

       # vim /var/named/named.106

$TTL900

@            IN SOA  ns.meeyu.com.admin.meeyu.com. (

                      2016010101

                      12H

                      15M

                      2D

                       6H  )

                IN NS   ns.meeyu.com.

107         IN  PTR web1.meeyu.com.

108          IN PTR  web2.meeyu.com.

4. 语法检查

name-checkconf 检查主配置文件

named -u named

name-checkzone" 区域文件" 配置文件

 

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

 

域:Domain,逻辑概念

区域:zone,物理概念

 

5. 测试命令:

dig 命令

  dig [-t type][-x addr] name @DNS 服务器

  +[no]trace [ 不]适用迭代 , 路由追踪

  +[no]tcp 是否使用tcp

  +[no]recurse :是否使用递归

host

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

 

nslookup

  nslookup>

  serverDNS_SERVER_IP

  set q=TYPE

  {name}

反向解析测试: dig -x IP @Server

 

6. 区域传输

 

  axfr :完全区域传送

  ixfr :增量区域传送   

注:在主服务器上只允许从服务器传送数据

         allow-transfer {192.168. 1 00.110; };

 

主服务增加允许传送配置:

在正向区域和反向区域同时增加:

 

 

区域传送:

  用dig模拟完全区域传送

   dig -t axfr 区域名称 @server

 

   主从同步:

       /etc/resolv.conf

  主从:

    主:bind版本可以低于从的

 

    主从可以不再同一网段

 

   向区域中添加从服务器的关键两步

      在上级获得授权

      在区域数据文件中为从服务器添加一条NS记录和对应的A或PTR记录

     masters{ip;};

 

 

 

 

 

 

 

 

 

 

 


原文:http://meeyu.blog.51cto.com/9901616/1882171


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!

相关教程推荐

其他课程推荐