DNS服务器的基础知识

一、什么是DNS

DNS定义:

DNS的全名Domain Name System,中文可以翻译成领域名称系统(通俗叫域名系统)。主要作用是将我们容易记忆的域名(Domain Name)转化成IP地址。未来网络的发展IPv6会取代IPv4,此时将会出现16位0-9A-Z的组合,替换现在的0.0.0.0的地址,基本上不可能记住IPv6的地址,此时DNS更会凸显它的重要性。

Hosts与DNS的区别:

在/etc/hosts(以linux举例说明)中,也可以实现将域名转换成IP地址,但如果一旦网域内出现多台服务器,使用hosts会是一灾难,假设现在有10台服务器,需要配置10台服务器的host,如果新增1台,之前的10台也需要做相应的更改,如果增加到30台,100台,如果没有DNS服务器这个基本上是个灾难。

什么是FQDN?

FQDN的全名是 Full Qualified Domain Name,中文翻译成全部合格领域名称,比较难翻译哈…理解就好了,其实这个概念就是包括Domain Name和HostName,Domain Name是领域名称(通俗叫域名),HostName这个地方不太好翻译,举个例子看下吧,需要注意的是,因为整个 Internet 的DNS服务器的分层的。比方说解析bbs.taisha.org.cn的过程。

  1. 从 . (根域)中查找cn ,此时Domain Name是. ,而Host Name 是cn
  2. 从.cn中查找org,此时Domain Name是.cn,而Host Name是org
  3. 从.org.cn中查找taisha,此时Domain Name是.org.cn,而Host Name是taisha
  4. 从taisha.org.cn中查找bbs,此时Domain Name是taisha.org.cn,而Host Name是bbs.
  5. 最终找到bbs.taisha.org.cn

平时(通俗)所说的域名,是值第4步中的taisha.org.cn.

客户端 DNS 的搜寻流程:

流程可参考上面5步的流程。但需要补充5步。还是以bbs.taisha.org.cn为例

  1. 先查看本地有没有缓存纪录,如果有则直接解析到目标的服务器IP.
  2. 如果本地没有,则向DNS服务器发送查询请求,这个一般在 /etc/resolv.conf 中设置的nameserver查询。
  3. 如果 nameserver 有bbs.taisha.org.cn的纪录,则直接返回目标服务器的IP。
  4. 如果没有,则 nameserver 向 root (.)查询
  5. 参考上面的1-5步
  6. 缓存目标服务器的IP到本地。

DNS 使用的 port number

# cat /etc/services | grep domain

domain          53/tcp                          # name-domain server
domain          53/udp

二、正解与反解的 Zone 意义

正解:根据域名查找IP,参考上面的流程。

反解:根据IP查找域名,这个比较复杂,因为反解需要要求 IP 协议的上层来设定才行,以后再来补充。

zone:可以理解为是区块,一个正解 或 反解都属于独立的zone,举例说明我们在Bind中设置

  • hint( root ) 的设定;
  • taisha.org.cn 这个 domain 的正解设定;
  • localhost 的正解设定;
  • localhost 的反解设定。

三、架设DNS需要安装的软件。

Bind是Berkeley Internet Name Domain的缩写 ,Berkeley是学校的名称,柏克莱大学

参考:Bind的安装与设置

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>