Linux   发布时间:2022-03-31  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Linux基础知识_12 -- DNS大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

dns服务    dns的作用:地址解析 IP -> 域名(反向)  域名 -> IP(正向)    四种dns服务器 -- 缓存DNS服务 114.114.114.114   8.8.8.8         www.baidu.com ---------------------------------------------------------------------------------
dns服务
   dns的作用:地址解析 IP -> 域名(反向)  域名 -> IP(正向)
   四种DNS服务器 -- 缓存DNS服务 114.114.114.114   8.8.8.8
        www.baidu.com
--------------------------------------------------------------------------------------
 搭建DNS服务器
 1、安装dns的程序包--bind Berkeley Internet Name Domain
		yum install bind -y
		rpm -ql bind
			/etc/named.conf
			/etc/named.rfc1912.zone
			/etc/rndc
			/etc/init.d/named
			/var/named/name.ca
			/var/named/named.localhost	//正向解析库文件
			/var/named/named.loopBACk   //反向解析库文件

 2、配置主配置文件
      整个bind的程序都是由C语言开发,语法格式遵循c语言格式!
         1、行尾必须加  ;  号
         2、//  单行注释      /* 多行注释 */

 3、配置/etc/named.rfc1912.zones

		zone "zone_name" IN {
			type master;
			file "对应库文件"; 		 //授权的问题 chmod :named 文件
		}	
		zone "IP.in-addr.arpa" IN {		//ip一定要反过来写
			type masker;
			file "对应库文件";
		}

 4、配置/var/named/下面的解析库文件
      正向  和     反向
      SOA    SOA
      NS     NS
      A     PTR

------------------------------------------------------------------------------------------

DNS:
      域名解析 : 域名转换为IP地址一个过程; 方便人们更好的记忆网站;
      早期的域名解析:
           直接记忆IP地址;
      |
      网站逐渐增加,1、给取名 2、找地方记录下来; -- hosts 文件
           C:\Windows\System32\drivers\etc\hosts
           /etc/hosts  文件
      |
      网站逐渐增加(更加多了)
           把解析工作交给专门的服务器去做解析;
           IANA (所有的解析记录)
      |
      网站逐渐增加(更加多了)
           创建分级结构,此时,IANA的根域名服务器不再直接为客户提供解析记录,而是转而将这个工作交给“小弟”
           一级“小弟”,我们叫做顶级域名服务器;
           早期的顶级域名服务,只有7个: .com .gov .org .net .mil .edu .int
           随着时间推移:公开域名权限,分为三类:1、国家类 .cn  2、反向类 3、组织类
           根域名服务器  --  .    13台根域名服务器  //  /var/named/named.ca  --> 指定了我们根域名服务器的位置;
    域名如何进行查找的?
           1、 本区域内查找域名
           2、查找区域外的域名
                递归  --  一次查找,获得结果
                迭代  --  多次查找,获得结果
                PC机器 迭代查找 只用去将 解析请求交给本地的DNS服务器即可;
                本地的DNS服务器才会替代PC机器,去向互联网做迭代查找,先找根 再找顶级域名 最后找到公司域名;
           3、缓存服务器;(转发器)
                可以指定其他互联网DNS服务器为我们做解析;
 ------------------------------------------------------------------------------------------
DNS的分类
       1、主DNS服务器
            解析库 -- SOA记录:(起始授权记录)
                 SOA记录中有一些列的时间:
                 1、序列号    @R_616_9464@l 定义当前时间 -- 20190904   -- 每次修改,序列号要 加1 ;它可以出发解析库同步;
                 2、刷新时长    从服务器从主服务器同步解析库的时间间隔、多长时间同步一次
                 3、重试时长    从服务器没有同步成功,过多久再去同步一次
                 4、过期时长    试了多长时间以后,确认主服务器down机  【特性:主挂了,从服务器也无法提供解析服务】
                 5、最小TTL值    所有域名解析记录最小的生存时间(DNS记录的缓存时间)
       2、从DNS服务器
       3、缓存服务器  --  认安装bind的程序,启动起来就是一个缓存服务器
       4、转发器  --  不做解析,将解析请求转发给指定的DNS服务器即可;
           DNS服务器提供的端口:53(UDP TCP)
              UDP53 -- 查询请求以及恢复
              TCP53 -- 主从同步
 ------------------------------------------------------------------------------------------
   *DNS解析库:*(RR)
         被解析条目 TTL值  IN  解析条目类型  解析后条目
         【注意:TTL值通过 首行写$的方式,定义了,所以我们看到的都没有写TTL;】
         解析条目类型:
              SOA  起始授权记录 
              NS   域名服务 -- 指定DNS服务器
         【注意:如果当前条目所指定的被解析条目与上一条相同,即可省略;】
         【衍生:如果同一个被解析条目对应了两个服务器,而这个两个服务器提供同样的应用,就可以实现基于DNS的负载均衡】
              A    iPv4的正向解析记录
         【注意:被解析记录是支持模糊查找的,比如 * 代表所有字符,一般配置在最后;】
              PTR  反向解析记录
              AAAA  ipv6的正向解析记录
              MX   邮件服务器的解析记录
                   有一个优先级要定义,范围为 0-99 越低越优先;邮件的解析记录和NS一样,要写A记录;
                   test.com.  IN  MX 10 mail1.test.com.
                   IN  MX 20 mail2.test.com.
                   mail1 IN  A 192.168.94.188
                   mail2 IN  A 192.168.94.189
              CNAME   别名记录
                   将原有的一个DNS记录转换另外一个名字;
                   在当今互联网上使用广泛;
------------------------------------------------------------------------------------------
  DNS主备
       主服务器 -- master ;
       从服务器 -- slave ;
            通过TCP53号端口进行数据同步;
       从服务器要不要去配置 -- 解析库(RR)(不需要)
       从服务器,需要指定主(master);
   
       只需要指定:
          从服务器上 named.rfc1912.zones
				zone "test.com" IN {
					type slave;
					masters { 192.168.94.128; };
					file "slaves/test.zone";	
				};		
				zone "94.168.192.in-addr.arpa" IN {
					type slave;
					masters { 192.168.94.128; };
					file "slaves/192.168.94.zone";
				};

      【注意:主的 TCP 53号端口一定要放开;】

------------------------------------------------------------------------------------------
  子域授权
       原理:基于DNS服务器的分层结构;
        我们下一级的域环境需要父域进行授权;
        父域进入本级的库文件中,去指定子域的NS服务器即可,注意,对应的A记录也要写上;
   
       配置:
				父域DNS:
				xny.test.com    IN      NS      ns.xny.test.com
				ns.xny.test.com IN      A       192.168.94.130
				子域DNS:
				正常配置即可;

------------------------------------------------------------------------------------------  

转发器

			/etc/named.conf
			option {
				forWARD { first | only };   //first --> 第一次找转发服务器指定的DNS,如果被指定的DNS无法做解析,就可以自己解析
						  //only  --> 只依靠指定的DNS服务器;
				forWARDers;
			};

  基于zone区域:

			zone "test.com" IN {
				type forWARD;
				forWARD { first | only };
				forWARDers;
			};
		

大佬总结

以上是大佬教程为你收集整理的Linux基础知识_12 -- DNS全部内容,希望文章能够帮你解决Linux基础知识_12 -- DNS所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。