DNS 服务器--从入门到放弃

发布时间:2025-11-01 点击:19
建站服务器
最近和朋友讨论起了当时注册的域名,又想起来了dns服务器,刚刚好当时学习的时候也不是很精通,就趁着这个时间段再一次回顾了以下。让我们一起看一下dns服务器吧
这篇文章的目录结构如下:
什么是 dns 服务器?
什么时候要用 dns 服务器
为什么要用 dns 服务器?
谁会用 dns 服务器?
怎么使用 dns 服务器?
1.什么是 dns 服务器?
dns(domain name server ,域名服务器)是将域名(domain name)和对应的ip地址(ip address)进行转换的服务器。那么什么又是域名尼?
域名:
通俗点说就是每次上网的时候输入的网址也可以理解为域名,而百度给的定义是域名是由一串用点分隔的名字组成的,通常包含组织名,而且始终包括两到三个字母的后缀,以指明组织的类型或该域所在的国家或地区。
2.什么时候要用 dns 服务器?
因为我们记忆的原因,现在当我们要去上网的时候,总会记住几个域名,然而并不会去记住一个个服务器对应的ip。因此当我们在用域名访问别人主机的时候,dns 服务器就已经默默的起到了作用,dns 服务器会将我们输入的域名一 一的转换为对应的ip然后再去访问别人的主机。
因此当在一个企业的内部,要想在企业内部让诸多个主机通过主机名访问彼此,就要构建自己的 dns 服务器了。
3.为什么要用 dns 服务器?
在刚刚开始拥有网络的时候,全球仅仅只有几个大学的实验室加入网络,因此大家可以凭借记住很少的ip地址来进行彼此之间的联系,并且在当时的每个主机上都会拥有一个为hosts的文件用来本地解析,如今依旧拥有这个文件来进行本地的域名解析。在这两个系统下其文件所在的地方。
linux系统:/etc/hostswindows:%windir%\\\\system32\\\\drivers\\\\etc\\\\hosts但是随着信息化的发展,越来越多的用户加入到网络中,大家的记忆并不能全部都记住彼此之间的ip地址,并且如果继续使用原来的办法(使用hosts文件)的话,hosts文件的条目越来越多,每一次的查询越来越繁琐,因此就出现了一个组织 iana(the internet assigned numbers authority,互联网数字分配机构),iana 来保存每一个用户的主机名与ip条目的关系。因此大家就不用再纷纷写入自己的hosts文件,仅仅需要定下一个计划任务(crontab)让其隔一段的时间就从 iana 的服务器去下载hosts文件到本地,虽然这样拥有一定的可行性,但是互联网的发展是爆炸性,用户的增长是几何的倍数增加,因此当用户数量再一次增加的时候,就是 iana 的策略也已经行不通了,因此就开发出了 bind(berkeley internet name domain,伯克利internet名字域)使用bind软件来构建域名服务器。而其构建的方法和linux的目录结构非常的相似,使用一种倒置的树状结构,如下图:
当然顶级域还有很多我就不一 一列举了,因此现在使用 bind 就对每一个的域名划分到了不同的分支下面了,这样不仅减轻了根服务器的压力而且非常的容易寻找并且管理,并且根(.)依旧会能够管理到每一个域名,但是其仅仅管理一级域就可以了,这样可以极大的减轻根服务器的压力。然后通过不断的逐个查找就能够找寻到我们所需要的信息。并且 iana 也不再提供原本的 hosts文件了,变为一个全球范围的域名供应商,管理 dns 域名根和.int,.arpa等资源。相关的13个根服务器,1个为主根服务器在美国。其余12个均为辅根服务器,其中9个在美国,欧洲2个,位于英国和瑞典,亚洲1个位于日本。
4.谁会用 dns 服务器?
对于这个问题,很不好回答,但是我觉得如果大家感兴趣,或者想要了解的都可以去接触 dns 服务器。
要开始真正深入了解并配置 dns 服务器了。
5.如何使用 dns 服务器?
对于如何使用 dns服务器来说是一个比较复杂的问题,因此我们通过下面一些步骤来慢慢进一步的了解dns服务器
首先我们需要知道,dns 服务器所使用的端口是(53/udp,53/tcp;)使用bind软件来进行使用的并且是在应用层的一个协议,使用 c/s 架构。并且当我们安装 bind 之后就能通过 named 服务来进行启动 dns 服务了,当然对于真正的了解到 dns 服务器还是需要首先知道一些名词的,随后遇到的再慢慢说起来。
fqdn:fully qualified domain name,也就是上文所说的域名。
正向解析:fqdn ==> ip 表示通过dns服务器fqdn解析为ip的过程
反向解析:ip==>fqdn 表示通过dns服务器由ip查询到fqdn
domain:逻辑概念,域
zone:物理概念,区域
dns的服务器类型:1主 dns服务器(master)2辅助dns服务器(slave)3缓存服务器4转发器(forward)
下面这个图能够帮助我们知道什么是 domain 与 zone。
可以看到每一个zone下面都会有很多的资源,当我们访问其下面的资源时,其对应的主机就给我们回答,并且每个区都有自己的授权服务器,当我们要在dns服务器查询fqdn的时候会给我们返回两种类型的答案,即权威答案(authority answer,aa)和非权威答案。
一、安装 bind 软件
bind软件可以运行在大部分的linux主机上,并且在rhel6.5及以后,在系统的光盘自带了bind服务的安装文件。
而我们首先使用简单的方法进行安装(yum),首先查看与 bind相关的软件包。
$ yum list | grep bind一些主要软件的作用如下:
bind :提供了 dns 服务的主要程序及相关文件
bind-libs :提供了bind、bind-utils需要使用的函数库
bind-utils :提供了对 dns 服务器的测试工具,如 nslookup等
接下来我们就安装bind
$ yum install -y bind二、配置 bind 软件
bind软件的安装之后会出现两个很重要的路径,一个是主配置文件/etc/named.conf 另一个是工作目录/var/named ,我们分别来进行一 一探索。
1.简单dns服务器的主要配置
这是用于启动 named 服务的主要配置文件,对于简单的dns服务器来讲其中主要分为两个部分的定义,全局定义和区域定义。
对于全局定义的段使用如下的定义。
options { directory /var/named; };注:named.conf 配置文件要求每一行的结束都需要一个分号结束配置的含义就是将每个区域的资源记录(resource record,简称rr)文件放在了/var/named/的目录之下。
那么rr到底什么东西尼?
懵。。。,先记住向下看看三.配置文件
在/etc/named.conf配置文件中除了刚刚定义的全局定义之外,就是各个区域(zone)的定义了。
通常对于每一个区域(zone)的简单定义就是如下的格式。zone zone_name in { type master|slave|hint|forward; file zone_name.zone};注:type 就表明了区域的 dns服务器类型。 file就是将这个区域的rr放在什么地方,相对路径。比较特别的是下面这个区域的定义,表示这是一个根域的dns服务器。zone . in { type hint; file named.ca};当然,dns的配置文件也支持使用acl来自定义,访问控制列表。并且默认就存在这样四个列表,none,any(任何主机),local(本机),以及localnet(本地网络)。定义就如下:
acl acl_name{ statement; };如果安装时候在/var/named/目录下并没有named.ca 的文件话可以使用dig 命令来生成named.ca文件,需要能够访问互联网,否则查询不到根服务器。
[root@rs1 named]# dig -t ns . >/var/naemd/named.ca首先构建一个最简单的 dns服务器,也就是缓存 dns 服务器。任何一个复杂的 dns 服务器都是由简单的缓存服务器一步步变难的,觉得学习也是这个道理哈。
缓存 dns 服务器:不负责解析任何区域(除了(本机)localhost)
/etc/named.conf 配置如下
options { directory /var/named;};//正向解析本机zone localhost in{ type master; file named.localhost;};//反向解析本机zone 0.0.127.in-addr.

电脑怎么更换临时文件夹的位置加快系统运行速度
上海ecs云服务器速度测试
权重过期域名抢注
问一下咱们服务器上数据库配置文件在哪里找
云服务器ecs使用的主页
域名管理显示实名成功解析诊断显示
怎么购买阿里云搭建服务器吗
阿里云服务器镜像还原是什么