ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Linux与DNS的学习笔记

2022-08-18 21:01:17  阅读:159  来源: 互联网

标签:IP 笔记 域名 DNS Linux 服务器 com


最近由于对公司里同事搭建的智能DNS很感兴趣,我开始学习它的搭建方法,首先我带大家重新复习一下关于DNS的基础知识。

 

大家可能总会在公众号上看到DNS相关的文章,比如《为什么DNS根服务器只有13台?给中国一台真的很难吗?》等等。它是互联网构建的核心协议之一,在我们平时上网时起到重要作用。所以我们需要了解一些它的知识,作为网络行业从业者,就更应该对它更加深入的掌握了。在网络世界中如果想访问一个网站,首先需要知道这个网站的公网IP地址,但由于我们对一长串没有规律的数字不够敏感,使得IP地址很难记住。最开始因为网络世界上的计算机数量少,只有几百台,所以只需要维护HOSTS.TXT文件就可以了,此文件记录着IP和域名的对应关系,由单独的主机STI-NIC负责分发。但由于网络的发展,此方法就不能持续支持了,原因如下:第一,HOSTS.TXT中不允许出现文件冲突,但主机的增多,很难避免不冲突;第二,分对此文件的分发容易引起网络和处理器负载增高;第三,是此文件的一致性无法保障。因此产生了DNS这项服务。

DNS是INTERNET的一项核心服务,用于实现域名与IP地址相互映射的一个分布式数据库,其结构和Linux的文件系统类似,都是树状结构,最顶端是根服务器,用“.”来表示。第二层就是我们熟知的.net、.com等顶级域。网上注册的如linuxprobe.com等是二级域名,它们归企业运维管理。域名的树最深可达127层,每个节点文本标签限制最长为63个字符。接下来讲一下DNS解析流程。首先客户端通过浏览器访问一个域名,如www.linuxprobe.com,浏览器会向本地域

名服务器发起一个DNS解析请求,当本地域名服务器收到请求后,会在本地寻找此解析,如没找到,则会往根服务器发送请求。根服务器全球共有13套,它不直接用于域名解析,但他能向你指向.com的位置。这样做体现了层次化的思想,分担了工作。最后再向.com发送请求,由此域名服务器解析出IP地址并告诉本地DNS服务器,本地DNS在本地缓存并返还给客户端,客户端与目标建立连接,至此DNS解析完成。

DNS的资源记录有如下数据:

 

先着重介绍一下type。其中有几种常用的资源记录类型:第一是A记录,是指IPv4,AAAA是指IPv6。第二是NS记录,是Name Server域名服务器。第三是CNAME记录。第四是MX记录。第五是PTR记录。DNS也有负载均衡的功能,首先是内部负载均衡。一个应用要访问数据库,应该配置这个数据库的域名,因为如果遇到数据库迁移等,换了IP就要将应用配置同时修改,但如果配置了域名,只要在DNS服务器中将域名映射为新IP就可以了。然后在DNS中配置策略可以实现负载。其次DNS还能做全局负载均衡。如为了应用的高可用性,部署在多个机房,每个机房有独立的IP,当用户访问其域名时,这个IP可以轮询访问多个数据中心实现负载,如一个数据中心挂掉,只要在DNS服务器中将其对应的IP删除就可实现一定的高可用。

说了这么久的DNS,但DNS如何搭建呢?业界普遍是在Linux服务器中搭建BIND软件。现阶段大概有九成的DNS服务器是使用BIND作为服务器软件的。BIND软件现阶段是由互联网系统协会进行维护与开发。安装BIND时安装软件名为bind,但是进程名和用户名为named。搭建BIND需要一定的Linux基础,如果需要学习Linux知识,可以搜索《Linux就该这么学》这本书来学习,这本书上也有专门介绍DNS的章节可以学习。它也有官方网站www.linuxprobe.com,上面也有很多Linux资讯和技术文章。DNS相关的命令中有个命令叫dig,它和nslookup类似,能在Linux中实现域名解析查询功能。dig能够执行 DNS 搜索,

并显示从受请求的域名服务器返回的答复,请求的域名服务器可以手工指定也可以用系统默认的。由于dig命令灵活性好、易用、输出比较清楚,所以DNS服务器管理员通常利用它来诊断DNS故障。

DNS作为我们现有网络的重要组成部分,需要我们进行系统的了解与学习。当基础知识理解透彻后可以进一步学习其他的相关知识,比如智能DNS,HttpDNS,CDN等等。当然在学习这些知识之前,Linux也是必不可少的。

标签:IP,笔记,域名,DNS,Linux,服务器,com
来源: https://www.cnblogs.com/cainiaoyige1/p/16600089.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有