DNS,也称为域名系统,是一项互联网服务。
数据库本身是分布式的,用于将域名和IP相互映射。
我们可以通过域名来更方便的访问。
DNS是分布式的,协议支持TCP和UDP,一般使用53端口,每个域名等于63,域名总长度为253。
早期,最大的DNSUDP消息大小为512字节,当响应大小超过512(返回的数据过多)时,DNS服务使用TCP传输协议。
后来,DNS协议扩展了它的UDP协议。
当DNSclient发送查询请求时,可以指定可以接收额外512字节的UDP数据包。
分层数据库结构:
LinuxDNS结构与文件系统非常相似,就像一棵倒转的树。
谁以此为例域名站长之家:最上面是域名的根,后面是顶级域名的名称,然后是站长之家的域名,以此类推。
当我们需要周日的名字时,我们会自下而上地工作。
s.tool.chinaz是一个完整的域名,如www.chinaz。
之所以设计如此复杂的树形结构,是为了避免名称冲突。
这样的树形结构当然可以存储在一台机器上,但现实世界中很多域名都是完好无损的,一台机器上每天添加和删除的域名数量是一个不小的挑战。
另外,集中管理的另一个缺点是管理不够灵活。
可以想象每次添加或删除域名时都要向中央数据库申请是多么烦人的事情。
因此,DNS存储是分布式的。
根域名只管理顶级域名,并委托各个顶级域名的管理,通过域名注册中心查找各个顶级域名。
二级域名和低于您管理的域名。
当您管理子域名http://chinaz时,您可以建立自己的提名人,并将//chinazius的管理权委托给您在注册中心设置的提名人。
自建服务器和非自建提名者的schema结构如下:
一般情况下,如果无法构建。
你自己,不要自己构建,因为DNS不是一个高级或负担得起的服务器。
据我所知,有两种情况需要搭建域名:
搭建内部DNS。
公司里设备很多,通过IP互相访问太乱。
这种情况下,可以构建一个内部提名者,使得内部服务器之间可以通过域名进行通信。
该公司对名称服务器的实施并不满意,只要卖家在该地区命名即可。
虽然顶级注册商都有自己的提名人,但注册商提供的提名人并不专业,无法满足企业对高性能提名人的性能和稳定性的需求。
例如,增加智能解决功能,可以让不同地区的用户访问就近的IP,提高服务质量。
为了与域提名者一起管理分布式DNS,该域的权限被转移到管理服务器。
这种策略一方面缓解了存储压力,另一方面提高了域名管理的灵活性。
顶级域名。
顶级域名分为两类:一般顶级域名和国家顶级域名。
常见的顶级域名有.org、.edu等。
国家顶级域名是我国的.cn、美国的.us等名称。
一般公司在要求公共域名时,如果产品是跨国的,就必须选择域名顶级赛事。
如果您没有跨境业务,就看您的喜好了(您可以比较不同域名的接受程度、稳定性等再选择)。
以下是一些流行的顶级域名。
有关完整的顶级域名,请参阅维基百科。
Meme顶级域名是国家域名,是黑山共和国的国家域名。
但它应用于个人发展,所以很多个人博主都用它作为自己的博客。
家庭名称
io许多开放原则经常使用io作为政府巅峰的名称,这也是国家域名的名称。
因为io与计算机中的input/output有相同的缩写,也与计算机的第二种机制非常相似,所以给人一种极客的感觉。
与.域名相比,.io下的选项很多,选择更多。
DNS解析过程:
讲完了DNS的主要概念,我们来说说DNS解析过程。
当我们通过浏览器或者应用程序访问互联网时,首先会完成DNS解析过程。
拉丁语glibc提供了libresolv.so.2动态库,我们的应用程序将其用于域名解析(也称为解析)。
,配置文件中的关键行是这一行:
host:filesdnsmyhostname。
确定付款顺序。
默认情况下,首先搜索主机文件。
默认解析流程如下:
该图主要描述了客户端解析流程。
我们可以看到,对本地DNS服务器的最大需求级别是。
将完成决议。
它会根据本地DNS服务器的配置向递归解析服务器发送解析请求(我们稍后会介绍递归解析服务器)。
看服务器端的解析过程:
Discourse解析过程:
客户端向本地发送RequestDNS服务器(递归服务器解析)解析//tool.chinaz域名的请求将直接返回给客户端;
本地DNS服务器向根域名服务器发送请求,请求chinaz域名的顶级域名Nameserver地址。
继续向chinaz的提名者询问该工具的主机名地址,最终得到//tool.chinaz的IP。
本地dns服务器将结果返回给客户端,递归地将服务器解析到权威域名服务器。
我们发现解析过程中使用了两种类型的DNS服务器。
解析是一个非常常见的过程。
它的搜索步骤是递归的,从根服务器主机名开始,一直到目标主机名。
服务器递归获取下一个请求一级权威域名服务器的目标地址,直至找到目标域名的权威域名服务器进行域名解析。
递归解析服务器通常由ISP提供。
此外,还有知名的公共递归解决方案服务器,如Google8.8.8.8、中国联通114、BAT也发布了公共递归解决方案。
仆人。
不过,性能最好的应该是你的ISP提供的,但可能会出现DNS劫持的问题。
缓存,由于整个解析过程非常复杂,因此DNS采用缓存技术来实现服务的健壮性。
当递归提名器收到部分提名//tool.chianaz域名并再次收到查询//tool.chinaz时,不会再次进行递归解析过程,而是直接返回上次解析单元格的结果。
而且是分层存储的,即当再次收到//www.chinaz的请求时,由于这个递归解析服务器已经知道//chinaz服务器的权威名称,只需再发送一次请求即可查询www到//chinaznameservo.
服务器名称的根地址是固定的。
目前全球有13个根域名解析服务器/p>
为什么只有13个根域名服务器?正如我之前所说,DNS协议会查找UDP查询。
由于可以执行的UDP请求的最大长度为512字节,因此对于512字节UDP中的所有根主机名服务器数据,根服务器可以。
仅限13个,并且每个服务器必须使用字母表中的一个名称。
智能的解决方案是指当一个域名对应多个IP时,当你查询这个域名的IP时,会返回距离最近的IP给你。
由于国内不同运营商之间的带宽太低,对于电信用户访问联通IP来说是一场灾难,而智能DNS解决方案可以解决这个问题。
IntelligenceResolution基于EDNS协议,该协议是Google编写的DNS协议的扩展。
修改比较简单,只需在DNS数据包中添加originclientiP,这样提名者就可以根据clientIP返回一个更接近客户端的serverIP。
。
国内最新的EDNS支持是DNSPod。
一种家喻户晓的流行支付设备。
通常,如果我们想要注册域名,我们需要找域名注册商。
域名注册商不只一个。
这些注册商已从ICANN获得域名注册权。
域名注册商将建立自己的权威域名解析服务器。
例如,如果域名直接在godaddy控制中心的域名下的第二级。
当然,您也可以更改它。
例如,如果您向godaddy申请海外域名,一方面您将更改DNSPod权威服务器的域名,另一方面您可以享受DNSPod提供的智能解决功能。
使用bind构建解决方案服务器的域名。
由于网上关于领带构造的文章太多,我就不详细说了。
会做的朋友网上找找软件教程。
并逐步搭建本地服务器。
这里介绍一下主要链路配置图。
配置文件分为两部分,配置文件和zone配置文件。
比如zone路径、日志、安全、master等配置就是添加zone配置和expresszone配置文件。
启用递归解析功能。
如果不是这种情况,这个绑定服务只能为你做解析权限的工作Nameserver被黑客用来从绑定中的配置文件创建肉鸡区域。
文件中定义,以下配置是简单zone的简单配置:
zone配置是铭牌的核心配置,它指定具体的DNS记录,例如SOA、A、CNAME、AAAA等表。
跟他们我们主要聊SOA和CNAME功能。
SOA记录表示该域名的授权解决方案服务器地址。
上面描述了权威解服务器和递归解服务器的区别。
由于所有的递归解析服务器都有你的域名解析的存储,它们会回溯到源头请求这个域名的SOA记录,包括权威咨询参议院的名称。
Cname概念与其他概念非常相似,其过程也很符合逻辑。
当服务器完成搜索并找到一个CNAME后,就会有这个CNAME的记录供查询。
一般来说,凡是能使用CNAME的地方都可以使用A记录,这是将多个域名指向同一个IP的快捷方式。
这样,当最低级别的CNAME对应的IP发生变化时,较高级别的CNAME不应该发生任何变化。
就像我们的硬编码一样,这很难我们总是会删除编码并使用变量来表示它,这样当我们进行更改时,我们只需更改一处即可。
配置完成后,您可以使用name-checkconf和name-checkzone。
有两个命令可以检查我们的配置文件是否有问题,然后我们就可以启动绑定服务了:$>servicenamestart,Redirectingto/bin/systemctlrestartnamed.service。
我们使用netstat-ntlp来检查53端口服务是否启动。
然后我们通过挖掘解析域名并使用127.0.0.1作为递归解析服务器来测试效果。
我们看到配置文件中配置的是1.2.3.4。
DNS已经完成了它的使命,IP是基于域名的。
使用DNS来实现负载均衡。
域名中添加多条记录,并采用投票方式随机付费。
wwwINA1.2.3.4、wwwINA1.2.3.5。
每次发出DNS解析请求时,提名人都会将所有内容返回给IPS。
如何实现RR?该标识符在任何给定时间仅指不同的IP地址。
客户端将使用响应中的第一个IP来发出请求。
比较DNS负载与LVS负载平衡。
与LVS等专业负载均衡工具相比,DNS层负载均衡有以下特点:实现起来非常简单,只能通过默认调度由RR来完成,而且确实DNS不健康。
检查后端服务。
DNS故障恢复时间比较长(DNS服务之间存在差距),可以加载的年数(受DNSresponse文件大小的限制)。
需要根据子域的需要选择合适的与设计相匹配的包。
我们申请了二级域名http://hello之后,有一天我们公司扩大了,需要分成两个实体单位A和B,公司给他们都取了一个名字a.hello分配到第三级区域.Hi.,域名结构如下:
发展期结束后,A部门和B部门内部业务较多,需要频繁向新的部门申请域名产品。
此时,我只想建立自己的名字,我需要将其提升到一个新的水平,以获得农场的适当名称管理。
他期望的结构是这样的:
注意第一阶段和第二阶段的区别:第一阶段,如果A部门要申请子域名//a.hello下的名字,必须向上级申请第二步,A部门先建立自己的名称,然后将总公司http://a.hello管理域权限转移到建立的名称服务器上。
A部门建立了自己的提名人,并在区域配置文件中将权威解决方案服务器命名为//a.hello作为其提名人地址。
一个。
正如我们在构建服务器名称解决方案的链接用法中提到的,只需在区域配置文件中指定SOA记录:@INSOAns.a.hello.admin.a.hello...(..)。
向提名者添加一条NS记录http://hello。
内置名称服务器IP)。
这样,在解析http://xx.a.hello时。
。
这三个命令都属于绑定实用程序包,是一个前缀绑定工具。
手册和互联网上有很多关于如何使用它的教程。
DNS放大攻击是DoS攻击的一种。
大量流量填满设备带宽,导致设备拒绝正常用户请求而挂起。
在正常的流量攻击中,黑客引擎会向Swarm引擎创建大量响应请求,但问题是它需要大量的黑客引擎。
因为服务器的带宽通常比家庭网络大很多,如果我们的家庭电脑作为使用最多的设备,那么我们的带宽就会在之前积累起来。
目标计算机组已满。
原理递归DNS解析过程非常特殊。
我们可以使用几个字节的查询请求,而不是数百甚至数千字节的解析响应(流量过载),并且大多数服务器不保护它。
DNS服务器。
黑客只要能够伪装DNSquery文件的源IP,让DNS服务器向本机发送大量响应,就可以进行DoS攻击。
。
但是,一般DNS服务器都是用来过滤攻击请求的,因此寻找DNS服务器的漏洞也是一个问题。
放大的方法解释请自行google。