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,如需转载请自行联系原作者
目录
相关文章
|
存储 缓存 文件存储
如何保证分布式文件系统的数据一致性
分布式文件系统需要向上层应用提供透明的客户端缓存,从而缓解网络延时现象,更好地支持客户端性能水平扩展,同时也降低对文件服务器的访问压力。当考虑客户端缓存的时候,由于在客户端上引入了多个本地数据副本(Replica),就相应地需要提供客户端对数据访问的全局数据一致性。
33076 80
如何保证分布式文件系统的数据一致性
|
前端开发 容器
HTML5+CSS3前端入门教程---从0开始通过一个商城实例手把手教你学习PC端和移动端页面开发第8章FlexBox布局(上)
HTML5+CSS3前端入门教程---从0开始通过一个商城实例手把手教你学习PC端和移动端页面开发第8章FlexBox布局
17818 24
|
设计模式 存储 监控
设计模式(C++版)
看懂UML类图和时序图30分钟学会UML类图设计原则单一职责原则定义:单一职责原则,所谓职责是指类变化的原因。如果一个类有多于一个的动机被改变,那么这个类就具有多于一个的职责。而单一职责原则就是指一个类或者模块应该有且只有一个改变的原因。bad case:IPhone类承担了协议管理(Dial、HangUp)、数据传送(Chat)。good case:里式替换原则定义:里氏代换原则(Liskov 
36801 22
设计模式(C++版)
|
存储 编译器 C语言
抽丝剥茧C语言(初阶 下)(下)
抽丝剥茧C语言(初阶 下)
|
机器学习/深度学习 人工智能 自然语言处理
带你简单了解Chatgpt背后的秘密:大语言模型所需要条件(数据算法算力)以及其当前阶段的缺点局限性
带你简单了解Chatgpt背后的秘密:大语言模型所需要条件(数据算法算力)以及其当前阶段的缺点局限性
24873 15
|
机器学习/深度学习 弹性计算 监控
重生之---我测阿里云U1实例(通用算力型)
阿里云产品全线降价的一力作,2023年4月阿里云推出新款通用算力型ECS云服务器Universal实例,该款服务器的真实表现如何?让我先测为敬!
36786 15
重生之---我测阿里云U1实例(通用算力型)
|
SQL 存储 弹性计算
Redis性能高30%,阿里云倚天ECS性能摸底和迁移实践
Redis在倚天ECS环境下与同规格的基于 x86 的 ECS 实例相比,Redis 部署在基于 Yitian 710 的 ECS 上可获得高达 30% 的吞吐量优势。成本方面基于倚天710的G8y实例售价比G7实例低23%,总性价比提高50%;按照相同算法,相对G8a,性价比为1.4倍左右。
|
存储 算法 Java
【分布式技术专题】「分布式技术架构」手把手教你如何开发一个属于自己的限流器RateLimiter功能服务
随着互联网的快速发展,越来越多的应用程序需要处理大量的请求。如果没有限制,这些请求可能会导致应用程序崩溃或变得不可用。因此,限流器是一种非常重要的技术,可以帮助应用程序控制请求的数量和速率,以保持稳定和可靠的运行。
29925 52