日期:2014-05-16  浏览次数:20948 次

linux杂谈(十八):DNS服务器的配置(一)
1.DNS服务器简介

域名系统(英文:Domain Name System,縮寫:DNS)是因特网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网。DNS 使用TCP和UDP端口53。当前,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。

在dns出现之前,我们把域名和IP的对照存放在/etc/hosts文件里边,但是随着IP的不断增大,使用文件存放显得不够了。而且不利于和其他的主机进行同步,DNS应运而生。

DNS的结构:他是利用树形目录的架构。将主机名的管理分配在不同层级的DNS服务器,让每一层的修改和查找都变得功能单一。

DNS查询主机名的流程:

(1)先在本机有没有记录,没有的话向(.root)查询;
(2)向最顶层的.查询;
(3)然后分层的查询,每次只查询它所对的下一层。
(4)查到之后记录缓存,并且将路径返回给用户。

注:在系统中我们可以通过dig命令进行路径追踪。

工作流程如图所示:


?2.搭建DNS服务器
?
?
?今天我们来自己搭建一个DNS服务器,这样的需求在公司的内部还是有的。
?
?首先我们来查找安装dns的包有那些:
?
?
?安装dns服务器:
?
?
?开启服务后看到dns服务开启的端口号是53:
?
?
?接下来我们要修改配置文件提供相应的服务,这里我们为了安全期间,在/var/named/chroot的目录下修改配置文件,而不直接对/etc/named目录下的文件进行修改,两者是同步的,但是有一个约束条件,前者只有在dns开启成功的情况下才能使用!!!
?
?
?
?我们在选项中关闭了ipv6的开放,而且允许任意用户使用。
?
?
?
主配置文件的最后两行分别是副配置文件和我们的dns加密文件:

?
?
?(1)DNS的正向解析:
?我们依次来查看:
?
?
?
?我们来设置自己的域名系统,上边的是模板,底下的我们指定了域名配置文件的名称,这个要自己创建,位置在/var/named/chroot/var/named下:
?
?
?
?这个目录底下也有域名配置文件的模板,我们拷贝一份并进行设置:
?
?
?
这个是初始模样,请务必记住,并且和修改之后的进行对比:
?
?
?
?修改之后的:
?
?
?
?注意:这里的@等于example.com. 所以在最后两行,如果没有把域名补全的话,系统会把@所代表的值添加到末尾,并且注意每个com后边还有一个点。
?
?这个时候我们重启服务,并且查看火墙是否已经关闭:
?
?
?
?服务端设置好之后,我们在另外一台机子上访问dns服务器。
?
?首先要做的就是修改ifcfg-eth0文件里的DNS1参数为指定DNS服务器的IP:192.168.2.100.然后重新启动network服务:
?
?
?
?
?重新启动network:
?
?
?
?
?
?我们追踪了一下,发现可以找到www.example.com,并且dns服务器为192.168.2.100这就说明我么之前的dns服务器配置是没有问题的。
?
?
?上述部分是dns服务器的正向解析,同时我们还知道dns具有反向解析的能力,那如何实现呢,当然还是要修改配置文件了,与正向解析的步骤差别不大。
?
?(2)DNS的反向解析:
?
?回到副配置文件中,在目录/var/named/chroot/etc下:
?
?
?
?看到我们IP的书写格式了么,是的,既然是反向解析,IP的书写顺序也是相反的,并且指定了配置文件:
?
?