linux下DNS简介及简单配置-阿里云开发者社区

开发者社区> 开发与运维> 正文

linux下DNS简介及简单配置

简介:
             redhat 下DNS配置 
     1.域名系统( Domain Name System 简称 DNS) 是为了方便访问Internet而采用的一种分布式的域名--->IP地址映射查询和管理的方法,它主要的功能是实现主机名到IP地址的转换。
     2.DNS系统包括DNS服务器与DNS客户端,提供DNS服务的主机称为DNS主机,也叫域名服务器,提出“域名查询”请求的主机叫DNS客户端。
    注:DNS客户端也具有简单的DNS查询功能 ,它是以文本方式保存在自己的系统中,linux下一共有三个文件,文件名为:/etc/host.conf resolv.conf hosts
windows下: WINDOWS\system32\drivers\etc\hosts
     3.DNS查询原理
        客户端发送的每条查询信息都包括指定的查询类型,DNS域名的类别及合格的DNS域名(FQDN),当需要域名解析时,先在本机进行域名解析(即在客户端的host.conf resolv.conf及hosts文件中查询),如果查询不到,就将这个请求发送给自己的域名解析服务器,进行域名解析。
       4.DNS的查询过程
        在查询之前先要了解概念
        1> 查询方式:递归查询,迭代查询 
           递归查询:递归查询一般发生在DNS客户端到DNS服务器之间
           迭代查询:迭代查询一般发生在DNS服务器与DNS服务器之间
        2> 查询内容
           正向查询: 由域名查找IP地址
           反向查询:由IP地址查找域名
        3>查询过程:
           1》当客户端要查询一个域名时,如www.redhat.com,客户端首先会查询自己本身有没有记录。
           2》在客户端本身没有找到要的域名之后,客户端就将域名的查询提交给本地的DNS,这个属于递归查询
           3》如果本地DNS服务器也没有查询到,则它就会把查询传递到要服务器,根服务器把".com"DNS服务器IP地址返回给本地DNS服务器,迭代查询。
           4》''.com"服务器会把"redhat.com"的DNS服务器的IP地址发送给本地服务器。
           5》经过"redhat.com"的DNS服务器查询之后得到www.redhat.com的IP地址再传送给客户端。
      5.DNS资源记录类型
        DNS服务器在提供名称解析服务时,就会查询自己的数据库,在该数据库中包含DNS区域资源信息的资源记录。常见的资源记录有:
         1>SOA:起始授权记录(Start of Authority Record) 在一个区域必须是唯一的,定义了区域的全局参数,进行整个区域的管理设置。
         2>NS:名称服务器记录(Name Server) 在一个区域至少有一条,记录了某个区域的授权服务器。
         3>A:地址记录(Address) 把FQDN映射到IP地址
         4>CANME:别名记录(Canonical Name) 也被称为规范名字,可以帮助用户隐藏网络实现的细节
         5>PTR:反向地址记录(domian name PoinTeR) 把IP地址照射到FQDN
         6>MX:邮件交换记录(Mail eXchange) 指向一个邮件服务器,用于电子邮件系统发邮件时根据收信人的地址后缀来定位邮件服务器。
         7>SRV:服务资源记录(Service Resource Record) 一般为微软的活动目录设置时的应用
         8>TXT(Text):注释或非关键的信息
         9>KEY(Public Key):保存一个关于DNS名称的公钥
         10>SIG(Signatrue):指出带签名和身份认证的区信息
    6.BIND安装
     LINUX下DNS的实现所用的软件:bind
     安装:
     
    bind:BIND服务器软件
    bind-chroot:为BIND提供chroot机制的软件包,可以用来改变程序执行时的根目录位置,防止黑客入侵DNS服务器后对系统造成大的破坏。如果不使用chroot保护 BIND可以不安装。
    caching-nameserver:BIND配置文件的例子。
   7.DNS配置
       在使用了chroot机制之后DNS配置文件目录为:/var/named/chroot/
      对于DNS的配置可以通过以下示例来讲解。

    示例 简单DNS配置
    拓扑图
          

     注: DNS服务器IP地址为: 192.168.2.10
           windows2003IP地址为:192.168.2.20
           客户机redhat5.4 IP地址为: 192.168.2.12
      步骤:
       1.创建全局配制文件,可以使用named.caching-nameserver.conf作为模板
       [root@localhost etc]# cp -p named.caching-nameserver.conf named.conf
         (一定要带上-p参数,用于继承named用户权限)
       2.配置全局配置文件:named.conf
           [root@localhost etc]# cd /var/named/chroot/etc
           [root@localhost etc]# vi named.conf
    内容配置如下:
     options {
        listen-on port 53 { any; }; //指定BIND侦听的本机IP地址的53端口
        listen-on-v6 port 53 { ::1; };
        directory "/var/named";
        dump-file "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        allow-query { any; }; 接受任何客户端的DNS请求
        allow-query-cache { any; };
       };
    logging {
       channel default_debug {
       file "data/named.run";
        severity dynamic;
       };
    };
   view localhost_resolver { //视图名字,可修改可不修改
      match-clients { any; }; //指定当前view处理源IP任何的查询请求
      match-destinations { any; }; //指定当前view处理目的IP任何的查询请求
      recursion yes;
     include "/etc/named.rfc1912.zones"; //主配置文件路径及文件名,文件名可修改可不修改
   };
   3.配置主文件
     [root@localhost etc]# vi named.rfc1912.zones 
     增加如下内容:
      zone "abc.com" IN { //定义一个名为:abc.com的正向查找区域
      type master; //指定类型为主要区域
      file "abc.com.zone"; //指定区域主配置文件
      allow-update { none; }; 
     };
      zone "2.168.192.in-addr.arpa" IN { //定义一个名为2.168.192.in-addr.arpa的反向解析区域,此区域存放192.168.2.0/24的PTR记录." .in-addr.arpa "为固定写法,IP地址是反着写的
      type master; //指定类型为主要区域
      file "2.168.192.local"; //指定区域主配置文件
      allow-update { none; };
    };
   4.配置区域文件
     对于正向区域文件配置
     root@localhost etc]# cd ../var/named
     root@localhost named]# cp -p localhost.zone abc.com.zone
     root@localhost named]# vi abc.com.zone 
   修改后内容
   $TTL 86400 //默认TTL值
   @ IN SOA ns.abc.com. root (  
    // @ 代表区域名称,即abc.com ns.abc.com.代表BIND服务所在主机的FQDN,注意最后有一个" . " ,不可以去掉.root是管理员邮箱地址
           42; serial (d. adams) //正向解析区域的序列号
           3H ; refresh //主DNS与辅DNS序列号对比时间.
           15M ; retry //refresh对比失败后,在一定时间内可重试的时间  
           1W ; expiry //主DNS与辅DNS更新不正常时,辅DNS还可以提供解析服务的时间.
           1D ) ; minimum //可视为TTL

           @ IN ns ns.abc.com. //ns记录
           ns IN A 192.168.2.10
           www IN A 1.1.1.1
           ftp IN A 2.2.2.2
           ftp1 IN CNAME ftp //别名
           @ IN MX 10 mail.abc.com. //MX记录
           mail IN A 3.3.3.3
        对于反向区域文件配置
         [root@localhost named]# cp -p named.local 2.168.192.local
         [root@localhost named]# vi 2.168.192.local 
    内容修改如下
       $TTL 86400
       @ IN SOA ns.abc.com. root.localhost. (
                 1997022700 ; Serial
                 28800 ; Refresh
                 14400 ; Retry
                 3600000 ; Expire
                 86400 ) ; Minimum
                 @ IN NS ns.abc.com.
                 2 IN PTR www.abc.com.
                 3 IN PTR ftp.abc.com.
                 4 IN PTR mail.abc.com.
          意义如上,域名后面的" . "均不能去掉.
      5.配置成功,启动named服务
        [root@localhost named]# service named start
       启动 named: [确定]
     6.客户端进行检测
      客户机IP地址配置
         
      正向测试
        
      反向测试
   










本文转自 guodong810 51CTO博客,原文链接:http://blog.51cto.com/guodong810/1030073,如需转载请自行联系原作者

版权声明:本文首发在云栖社区,遵循云栖社区版权声明:本文内容由互联网用户自发贡献,版权归用户作者所有,云栖社区不为本文内容承担相关法律责任。云栖社区已升级为阿里云开发者社区。如果您发现本文中有涉嫌抄袭的内容,欢迎发送邮件至:developer2020@service.aliyun.com 进行举报,并提供相关证据,一经查实,阿里云开发者社区将协助删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章