热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

DNS概念及配置详解

DNS概念及配置详解DNS的起源60年末代,美国资助试验性广域计算机风,称为ARPAnet,70年代时,70年代,ARPAnet只是一个拥有几百台主机的小网络,仅需要一个HOSTS文件就可以容纳所需要

DNS概念及配置详解

DNS的起源

60年末代,美国资助试验性广域计算机风,称为ARPAnet70年代时,70年代,ARPAnet只是一个拥有几百台主机的小网络,仅需要一个HOSTS文件就可以容纳所需要主机信息,HOSTS提供的是主机名也IP地址的映射关系,也就是说可以用主机名进行网络信息的共享,而不需要记住IP地址。但是随着网络的扩在,HOSTS文件已经不能够快速完成解析任务了,这时DNS出现了。实际上,DNS是一个分布式的数据库,它允许对整个数据库的各个部分进行本地控制(本地控制也是就所谓的授权,可以把数据库的一部分进行授权,减轻主DNS服务器的压力,就是按域结构进行授权)

 

DNS数据库

DNS数据库与UNIX的文件系统结构非常相似。UNIX文件系统(例如/usr/local/bin)的目录名,就相当于DNS中的域名(.com.myhome.www)。 DNS中用点(.)来分割,而UNIX中用(/)来割目录的。域的域名(domain name)标识它在数据库中的位置,例myhome就是com域下的子域,而localusr的子目录。

 

DNS的基本概念

(domain)

(domain)就是域名空间中的一棵子树。看好了是子树,也就是树的分枝。域的名字也就是这棵子树的顶端节点的域名。

名字服务器(name server)

存储关于域名空间的信息的程序叫作名字服务器。名字服务器通常含有域名空间中某一部分的完整信息,我们称为区(zone.区的内容是从文件或其他名字服务器中加载而来的。这时我们称名字服务器(name server)对这个区(zone)具有权威(authority)。一个名字服务器也可以同时对多个区具有权威。 

所有的顶级域名,以及许多二级域名和更低级别的域名,通过授权被分成了更小也更好管理的单元,这些单元称为区(zone)

区数据文件

主名字服务器从本机中加载数据的文件叫区数据文件(zone data file),常称为数据文件或数据库文件。辅名字服务器常常被配置为:将主名字服务器传送过来的区数据备份到本机的数据文件当中。

递归

如果被查询的名称服务器不是所请求的数据的权威,它将不得不向其他名字服务器发出查询以获得答案。它可以向其他名字服务器发送递归查询,从而要求它们找到答案并返回。

反复

反复中名字服务器只用将它已知的最合适的答案返回给查询者。它本身不需要再有任何其他查询。被查询的名字服务器在它的本地数据中寻找所需数据。如果没有找到答案,它就在本地数据中找出与所要查询的名字服务器最接近的名字服务器的名字和地址,并作为指示返回给查询者,帮助它把解析过程进行下去。 

DNS目前的实现中,采用的是后者,将不断地依照指示进行查询,直到找到结果 

缓存

处理递归查询的名字服务器可能需要发送好几个查询才能找到结果。不过在这个过程中。它也了解到域名空间的许多信息。每次它得到一些名字服务器列表的指示,它就知道这些名字服务器是哪些区的权威,也就知道这些服务器的地址。当解析过程结束时,它最终找到原来查询所请的数据后,还可以把这些数据保存起来,以备后用。也就是再有查找相同域名的时候,此时名字服务器已将结果放在缓存中,只需要向解析器返回这个结果就行了(IP地址),不用再进行查询。

生存期

就是名字服务器允许数据在缓存中存放的时间(time to liveTTL。生存期一过,名字服务器必须丢弃缓存中的数据,并从权威名字服务器上获取新的数据。它和缓存的是密切相关的。

 

关于host.conf文件

host.conf文件是用于设置各种名称服务的优先级的配置文件。 

order bind hosts  ,其中bind代表DNS服务,hosts代表/etc/hosts文件 multi on  multi选项用于决定是否可以给/etc/hosts文件中相同的主机名分配多个地址。on  表示打开了该选项。

 

关于区数据文件

区数据文件的大部分条目被称为DNS资源记录(resource record)。DNS查找是不区分大小写的。  数据文件中资源记录的顺序如下: 

SOA记录 :指示该区的权威 

SOA序列号:每个区数据文件都有一个序列号。每次修改区数据文件中的数据后,都必须增加其序列号。如果不增加序列号的话,该区的辅名字服务器就不会获取修改后的数据。 

Refresh字段:定义了刷新周期的时间。每一个刷新周期,从服务器就在主服务器的SOA类型记录上检测序列号来确定区是否需要传输。刷新周期可以是星期(W),天,小时,分钟,秒。 

Retry字段 :这个数字定义了重试周期的时间长度。重试周期告诉从服务器:在主服务器对应一个SOA类型记录的请示时重新请求之前它应该等待多长时间。

Expire字段:这个数字是截止时间,也就是从服务器应该在即使它不能更新区文件时继续响应查询的时间长度。 

 

NS记录  该区的一个名字服务器 

 

A —— 名字到地址的映射 

PTR —— 地址到名字的映射 

CNAME —— 规范名称 

注释:  使用分号(;)开头的到行尾处结束。 

设定区默认的TTL值:  名字服务器在查询响应中提供这个TTL值,允许其他服务器将数据在缓存中存放TTL所指定的时间。 

可能的取值是: 

w=星期 

d= 

h=小时 

m=分钟 

s= 

例:$TTL 3h 3小时 

  $TTL 2w3d4h  2个星期34个小时 

 

DNS服务器与从DNS服务器

举例:

DNSnamed.conf文件:

options { 
directory "/var/named"; 
}; 

zone "." IN { 
type hint; 
file "named.ca"; 
}; 

zone "localhost" IN { 
type master; 
file "localhost.zone"; 
allow-update { none; }; 
}; 

zone "0.0.127.in-addr.arpa" IN { 
type master; 
file "named.local"; 
allow-update { none; }; 
}; 

zone "myhome.com" IN { 
type master; 
file "myhome.coms"; 
allow-update { none; }; 
}; 


zone "1.168.192.in-addr.arpa" IN { 
type master; 
file "named.reverse"; 
allow-update { none; }; 
}; 

 

主服务器对应的正向解析文件:myhome.coms

 

@ SOA jh.myhome.com.  root.jh.myhome.com. ( 
2000020501; 
21600; 
7200; 
604800; 
900) 

NS jh.myhome.com. 

MX 10  jh.myhome.com. 

jh IN A 192.168.1.1 
yj11 IN A 192.168.1.2 

three IN CNAME jh.myhome.com. 

www     IN  A 192.168.1.12 

 

主服务器对应的反向解析文件:named.reserves

myhome.com. SOA jh.myhome.com. root.jh.myhome.com. ( 
2000021602; 
21600; 
1800; 
604800; 
7200); 

NS jh.myhome.com. 

1  PTR  jh.myhome.com. 

2  PTR  yj11.myhome.com. 

 

 

DNSnamed.conf文件:

options { 
directory "/var/named"; 
}; 

zone "." IN { 
type hint; 
file "named.ca"; 
}; 

zone "localhost" IN { 
type master; 
file "localhost.zone"; 
allow-update { none; }; 
}; 

zone "0.0.127.in-addr.arpa" IN { 
type master; 
file "named.local"; 
allow-update { none; }; 
}; 

zone "myhome.com" IN { 
// type master; 
        type slave; 
// type
后面的值已经成为slave; 
file "myhome.coms"; 
//file
 后面也可以是别的文件名不必与主DNS服务器的设置一样 
  masters { 192.168.1.1; }; 
//192.168.1.1
 为主DNS服务器的IP地址, 
}; 


zone "1.168.192.in-addr.arpa" IN { 
// type master; 
type slave; 
// type
后面的值已经成为slave; 
file "named.reverse"; 
//file
 后面也可以是别的文件名不必与主DNS服务器的设置一样 
masters { 192.168.1.1; }; 
//192.168.1.1
 为主DNS服务器的IP地址, 
}; 

 

不用在从DNS服务器上建立myhome.comsnamed.reserse文件,因为在你在从DNS服务器的进程新启动(就是在你把named.conf修改完毕时,第一次重新启动)后 
会自动从主DNS服务器(192.168.1.1)拷贝数据文件(myhome.coms)内容到从dns服务器上。自动创新这两个主要文件。 

Refersh字段定义了刷新周期时间。从服务器每3h时间就从主服务器上拷贝数据文件到从服务器上,如果想修改了主服务器上的数据文件,必须改变2000020501;序列号,增加12000020502,这样的从服务器就在3h后就会先检查序列号如果比自己的序列号高的话,如果会自动拷贝文件到从服务器上,如果不增加序列号那么即使3h后也不会拷贝主服务器的内容到从服务器上。


推荐阅读
  • 本文详细介绍了网络存储技术的基本概念、分类及应用场景。通过分析直连式存储(DAS)、网络附加存储(NAS)和存储区域网络(SAN)的特点,帮助读者理解不同存储方式的优势与局限性。 ... [详细]
  • 网络运维工程师负责确保企业IT基础设施的稳定运行,保障业务连续性和数据安全。他们需要具备多种技能,包括搭建和维护网络环境、监控系统性能、处理突发事件等。本文将探讨网络运维工程师的职业前景及其平均薪酬水平。 ... [详细]
  • 深入探讨CPU虚拟化与KVM内存管理
    本文详细介绍了现代服务器架构中的CPU虚拟化技术,包括SMP、NUMA和MPP三种多处理器结构,并深入探讨了KVM的内存虚拟化机制。通过对比不同架构的特点和应用场景,帮助读者理解如何选择最适合的架构以优化性能。 ... [详细]
  • 随着网络安全威胁的不断演变,电子邮件系统成为攻击者频繁利用的目标。本文详细探讨了电子邮件系统中的常见漏洞及其潜在风险,并提供了专业的防护建议。 ... [详细]
  • 优化局域网SSH连接延迟问题的解决方案
    本文介绍了解决局域网内SSH连接到服务器时出现长时间等待问题的方法。通过调整配置和优化网络设置,可以显著缩短SSH连接的时间。 ... [详细]
  • 本文详细分析了JSP(JavaServer Pages)技术的主要优点和缺点,帮助开发者更好地理解其适用场景及潜在挑战。JSP作为一种服务器端技术,广泛应用于Web开发中。 ... [详细]
  • UNP 第9章:主机名与地址转换
    本章探讨了用于在主机名和数值地址之间进行转换的函数,如gethostbyname和gethostbyaddr。此外,还介绍了getservbyname和getservbyport函数,用于在服务器名和端口号之间进行转换。 ... [详细]
  • 本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ... [详细]
  • MySQL缓存机制深度解析
    本文详细探讨了MySQL的缓存机制,包括主从复制、读写分离以及缓存同步策略等内容。通过理解这些概念和技术,读者可以更好地优化数据库性能。 ... [详细]
  • 本文详细介绍了IBM DB2数据库在大型应用系统中的应用,强调其卓越的可扩展性和多环境支持能力。文章深入分析了DB2在数据利用性、完整性、安全性和恢复性方面的优势,并提供了优化建议以提升其在不同规模应用程序中的表现。 ... [详细]
  • 优化联通光猫DNS服务器设置
    本文详细介绍了如何为联通光猫配置DNS服务器地址,以提高网络解析效率和访问体验。通过智能线路解析功能,域名解析可以根据访问者的IP来源和类型进行差异化处理,从而实现更优的网络性能。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
author-avatar
手机用户2502907673
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有