daimoway
作者daimoway·2012-11-28 17:07
软件开发工程师·dearwears

Linux系统管理技术笔记 第15章 域名系统

字数 21633阅读 4002评论 0赞 0

Linux下安装DNS服务,要使用系统光盘自带的服务安装软件——bind,下面介绍一下bind软件。

 

BIND(Berkeley Internet Name Domain,伯克利Inernet域名系统)是DNS协议的一个实现,最初有伯克利大学的研究生编写,但自V8版本开始,由ISCInternet Software ConsortiumInternet软件联盟)开发和维护。BIND提供了一组可重新发布使用的DNS相关组件,包括:域名系统服务器(named)、域名系统解析库、域名系统服务器调试工具。

 

BIND域名系统服务器是目前在Internet使用最广泛的DNS服务器,它提供了高效稳定的域名系统的建立和解析服务。域名系统解析库则提供了一组标准的应用程序编程接口,能够为普通应用程序提供域名到IP地址的转换工作。BIND目前存在不用环境使用的3个不同的发展版本:

 

V4,1998年,多数UNIX捆绑的是BIND4,已经被多数厂商抛弃,除了OpenBSD还在使用。OpenBSD核心认为BIND8过于复杂和不安全,所以继续使用BIND4.这样一来,BIND8/9的很多优点都不包括在V4中。目前ISC推荐使用V4.9.9

 

V8,是如今使用最多、最广的版本,其最新发布版本V8.4.3

 

V9,最新版本的BIND,全部重新写过,免费,也添加了许多新的功能(但安全上也可能有更多的问题)。BIND9200010月份推出,现在稳定版本是V9.2.3

 

    好,上面简要的介绍了一些BIND域名服务器组件的产生和发展。下面介绍一下BINDlinux下的安装和配置。

 

    还是和前面介绍的DHCP安装一样,在安装软件服务之前,如果不确定是否安装了BIND组件,可以使用#rpm -q bind来查看是否安装了bind软件包。如果没有安装可以挂载系统光盘光盘进行安装,安装之前需要挂载的方法在介绍DHCP服务第一节的时候已经介绍,这里不在重复。

 

     首先,挂载第四张光盘:进入安装光盘目录

/media/cdrom/RedHat/RPMS中,

在目录中查找bind-9.2.4-2.i386.rpm;bind-chroot-9.2.4-2.i386.rpm(//为了加强dns服务器安全性);bind-devel-9.2.4-2.i386.rpm 安装包,然后进行安装,如下图: 

 

 

其次, 挂载第二张光盘:进入安装光盘rpm包目录#cd  /media/cdrom/RedHat/RPMS中,

在目录中查找bind-libs-9.2.4-2.i386.rpm; bind-utils-9.2.4-2.i386.rpm安装包,然后进行安装,如下图:

 

 

 

最后,挂载第一张光盘:进入安装光盘rpm包目录:#cd  /media/cdrom/RedHat/RPMS中,

在目录中查找caching-nameserver-7.3-3.noarch.rpm安装包(//产生dns配置模板文件),然后进行安装,如下图:

 

 

 

安装完之后,我们要启动服务,如果有需要还要重启服务器或者是停止服务。他们的操作方法分别为下图所示:

 

 

 

 

第一行命令为启动DNS服务,第三行命令为重启DNS服务,第五行命令为停止DNS服务。

 

     这样DNS服务已经安装完毕。默认安装完只能使用基本的功能和配置,不能满足每个企业当中的不同需要,这就需要对DNS服务进行相应的配置,具体的配置方法请关注下一篇文章。

 

RHEL4- DNS服务(二)bind安装后的DNS服务文件及详解 

DNS服务安装完毕后生成了许多DNS服务文件,他们分别是:

/etc/hosts 

/etc/host.conf 

/etc/resolv.conf 

/etc/named.conf 

/var/named目录下所有的文件 

/etc/init.d/named 

下面我们就分别介绍这些文件及问价夹的功能。

 

1、hosts文件

 

   能完成服务器名字查询功能的不光是DNS的专利,在DNS诞生之前,网络上负责查询服务器IP地址的是每台机器的hosts文件,在这个文件中写入了每台机器名和相对应的IP地址,当有新的机器加入网络或者改动机器IP地址的时候,每台机器都要更改自己的hosts文件。在当时机器不多的时候,这些事情还是比较轻松的,但是随着时光流逝,科技的进步,网络中机器的数量越来越多,这样添加和更改hosts文件的工作量变得越来越大。因此应运而生了DNS服务。但是现在hosts文件在一定的范围内仍然发挥这它的作用。在/etc目录下的hosts文件的内容如下图:

 

 

带‘#’的两行为注释,在查询过程中不起任何作用。从第三行开始为系统服务安装后默认的,此行语句表示127.0.0.1为本机固定地址。如果有其他的需要可以在此后手动添加。比如有这样一个例子:ip地址为192.168.0.1的服务器名字为tyt.com.cn,别名为tytip地址为192.168.0.5的服务名字为tytong.com.cn别名为tytong。既可以在此后添加这样两条,如下图:

 

 

当输入命令ping tytong时就可以pingIP地址为192.168.0.5这台服务器,如果hotsts文件中没有tytong的记录,而DNS有没有做解析的情况下,则输入ping tytong命令的时候,会得到找不到主机提示,如下图:

 

 

 

 

Hotsts文件主要应用于内部局域网,当内部网络有些服务器是大家经常访问的机器,而输入IP地址又比较麻烦,又不可能去为了这些服务器申请域名,就可以采用这种比较简单的方法,直接把服务器名和IP地址写入文件中。HostDNS容易修改,使用方便。

 

    2、host.conf文件

 

DNS的主配置文件在目录/etc下,其中host.conf文件指定本服务器查询名字时使用的顺序,即/etc/目录下的host.conf文件决定服务器最先以哪种来查询名字。Host.conf文件默认内容如下图:

 

 

    Order为固定格式,这行说明了当服务器收到查询名字的请求时,首先查看hosts的文件,如果没有找到。在做dns查询。要更改查询顺序可更改为,如下图所示:

 

 

Host.conf文件规定的顺序非常重要,在配置DNS时,不要在hosts文件和DNS中同时注册写入同一台机器的名字,这样在配置过程中出错,这样很难确定问题的出处。

 

3、resolv.conf文件 

 

/etc/resolv.conf文件定义DNS服务器的IP地址。这个文件的设置通常为客户端的配置文件,DNS分为客户端和服务器两种模式。所谓的客户端即为只提出DNS查询本身不做DNS解析的设备,例如,我们平时使用的个人pc机或者笔记本电脑。而作为服务器则不仅做本域的机器名的查询工作,也可以为客户端做其他域的查询工作。

 

做客户端时文件的格式为:

 

 

 

在实际应用中作为客户端时可以写为下列格式:

 

nameserver 202.106.0.20

nameserver 202.106.96.159

 

第一行表示本机指定的首选DNS,它是Internet网络中DNS服务器,第二行为候选服务器,也是Internet中的DNS服务器,通常只有首选DNS没有回应时,才会使用候选DNS进行dns服务查询。通常最多可以设置三台DNS服务器。

但是还可以设置成下列格式:

 

Search tyt.com.cn

nameserver 202.106.0.20

nameserver 202.106.96.159

 

这种写法第一行多了一个search tyt.com.cn,这一行的意思是默认的域为tyt.com.cn,通常为本地域(本地域是指没有在公用Internet上申请的,只能用来在局域网内使用)下面的两行和上面同理。一般来说,在resolv.conf文件中存在search这一行语句时,首选服务器为解析这个域的DNS服务器,Search tyt.com.cn这一行的作用是,假如我们局域网域中有一台服务器为www.tyt.com.cn。没有search这行时通常要输入完全的服务器名字,也就是输入www.tyt.com.cn才行,而有了这一行时,只需要输入机器名就可以了,比如,ping wwwDNS会自动为我们不全域名,也就是tyt.com.cn

 

    在实际应用中作为服务器的时候,resolv.conf文件会有影响,作为dns服务器的同时,也可以作为一台客户端。当作为dns服务器端的时候,resolv.conf文件中的首选地址又不是本机时,可以在刚才讲过的客户端配置的基础上稍加变化,可以把resolv.conf文件内容写成如下:

 

Search tyt.com.cn

nameserver 202.106.0.20

nameserver 192.168.0.10

nameserver 202.106.96.159

 

这时候当我们的客户端要查询没有在公共Internet注册的域名www.tyt.com.cn,也就是说查询我们局域网自定义的域名时,在第一行的nameserver 202.106.0.20公共dns服务器上是查询不到的,这时候首选服务器就会返回一个查询不到的错误信息,因为首选服务器已经返回了信息,不论是错误还是正确。这时候都不会去第二台服务器192.168.0.10,但是这台服务器才是真正能查询到我们域名tyt.com.cn的服务器。但这并不是dns服务器的错误,知识作为查询客户端的我们把设置dns的顺序弄错了,这是只要我们更改本机的dns查询顺序,或者更换一台设置正确的客户端就没有问题了。

Windows作为客户端,linux作为服务器端的时候,这条原则是不成立的。如果linux作为客户端,而Windowsdns服务器时,可以写成如下格式:

 

search tyt.com.cn

nameserver  192.168.0.10

 

Tyt.com.cn为Windows客户端所在的域,192.168.0.10Windows系统的dns服务器的ip地址。

 

linux做客户端需要查询两个域的时候,可以改写为,

 

search tytong.com.cn

nameserver 192.168.0.10

search tyt.com.cn

nameserver 192.168.101.11

 

tytong.com.cn为其他域,tyt.com.cnlinux客户端所在的域,一定记住要把自己所在的域放在最后。

 

以上说了那么多主要是说明做dns服务器的机器在某些特定的环境下也同时做客户端。

 

resolv.conf文件的配置通常会影响到客户端的查询,但是对于dns服务器本身的设置是不会有影响的。

  

4、named.conf文件

 

 /etc/named.conf是BIND的核心文件,也就是说是主配置文件,安装后默认内容如下:

 

 

 

 

zone’为区域的意思,大家可以看到主配置文件named.conf中有很多zone,这些都是指的区域资源,他们总是成对出现,一般情况先一个正向区域资源对应这一个反向的。下面我把区域中的语句参数说一下,以localhost的正反向为例,如下所示: 

zone "localhost" IN {

type master;

file "localhost.zone";

allow-update { none; };

};

zone "0.0.127.in-addr.arpa" IN {

type master;

file "named.local";

allow-update { none; };

};

   文件中的zone "localhost"段是声明这是用于localhost域的服务器;其中‘type’是只得服务器类型,‘master’参数说明为主服务器;用于该域的数据从‘file’语句指定的/var/named/named.local资源文件;‘allow-update’指的是辅助服务器对主服务器的数据资源更新。

         文件中的zone "0.0.127.in-addr.arpa"段是指向映射IP地址127.0.0.* 到主机名的文件,下面的语句参数和zone"localhost"段区域参数的意义是一样的,也是有‘type’,‘file’,‘allow-update’语句及参数组成。

 

   5、/var/named目录下所有的文件

 

/var/named目录下是存放区域资源记录文件的地方,如下图所示:

 

比如:图中的‘localdomain.zone’为localhost的正向解析文件,就是named.conf主配置文件中‘zone localhost”  IN’区域资源中‘file’语句指向的文件;‘named.local’为localhost的反向解析文件,就是named.conf主配置文件中‘zone 0.0.127.in-addr.arpaIN’区域资源中‘file’语句指向的文件。

6、/etc/init.d/named

 

这是DNS服务启动程序,不知道大家还记不记得在上一篇《RHEL4- DNS服务(一)bind包系列的安装和DNS服务的启动 》中,我们启动、重启、停止DNS服务就是用的这个程序。

 

RHEL4- DNS服务(三)主DNS服务的搭建与配置

 

要搭建一个基本的主DNS服务,最重要的部分只需要两步。

 

第一步:在目录/var/named中添加两个文件,一个是用于DNS的正向解析文件,一个是用于DNS的反向解析文件

第二步:在/etc/named.conf中添加一正一反两个区域,使得这两个区域分别使用‘file’指向刚才第一步建立的两个正反向解析文件。正向区域指向正向解析文件,反向区域指向反向解析区域。

 

做完以上两步就算是基本搭建配置完了一个简单的DNS服务器,也能实现一些基本的功能了。

 

既然知道了步骤,下面我们就开始按照这个方法一步一步的去实现:

第一步:在目录/var/named中添加正向和反向文件。

 

(1)、建立并配置正向解析文件‘tyt.com’;文件的内容需要手动添加,如果你不是很有十分的把握可以去‘/var/named/localhost.zone’复制;然后使用'VI'打开复制后的文件‘tyt.com’进行配置。整个过程如下图所示:

 

wps_clip_image-438

 

wps_clip_image-446

 

以上是复制‘localhost.zone’文件中的内容,我们需要根据自己的需要进行修改,修改后如下图所示:

 

wps_clip_image-501

 

为了便于给大家讲解,我在没一行前面设置了行号。下面我就把文件中内容的意义和大家说一说:

 

第1行$TTL 86400可以不写,表示解析的地址在数据库中缓存的时间,在DNS中涉及到时间均以秒为单位计算。这里的地址不包括文件中已写入的地址,通常为设置动态DNS后获得地址。

第2行“@”表示本域,固定格式“IN SOA”为授权开始,固定写法“name.tyt.com.”为做dns解析的服务器名字。(注意:最后的“.”,“levinboy.foxmail.com.”为DNS管理员的邮件地址,不一定为本机的ROOT用户。)

第3行到第7行的设置基本为主从服务器提供的信息。为了保证DNS的不间断运行,设置从服务器,在主服务器停止服务时继续提供查询服务。其中第3行“42”为版本号,从服务器通过查询版本号的改动,来判断数据库是否有数据的更新,版本豪的设置通常无严格的规定,一般以日期作为版本号比较好一点。

第4行“3H”为主从服务器更新时间,从DNS服务器经过设定的时间后到主DNS服务器查询并刷新记录。从DNS服务器的刷新是看主服务器的版本号变化后才会更新数据库的内容,如果版本号没有任何变化,则不会更新从服务器的数据库。经过一段时间的运行后,数据库的版本号可能会有所变化,也可能比原来的版本大了,这些都是服务器数据库自动设置的。(注意:自动更新数据库有所设置的,如果不允许自动更新设置的DNS服务器在手动更改时,不要忘记更改版本号,否则从服务器始终使用旧版本的数据库,将失去原来的作用)

第5行“15M”是从服务器因各种原因和主服务器通讯失败的情况下,即不能查看主服务器的数据库是否有变化时,等待多长时间再次和主服务器尝试联系。

第6行“1W”是从服务器上数据保持的最长时间上限,当从服务器始终没有和主服务器联系上时,其保存的原数据能使用的最长时间。

第7行“1D”没有指定生存期的数据,可以保存在数据库中的时间。(注意:不要忘记最后的“)”括弧)。

第9行“@   IN  NS     name.tyt.com.”是本域的DNS服务器的名字,“IN”为标准格式,前面的“@”可以省去,表示本域。“NS”表示DNS服务器,后面是DNS服务器的名字。

第10行“@    IN MX   10    mail.tyt.com . ”为本域的邮件服务器,"MX"表示邮件服务器,'10'表示邮件服务器的优先级,后面为邮件服务器的名字。

第12行是一条DNS记录,“localhost”表示本机,“IN”为标准格式,“A”记录表示是从名字到IP地址的正向解析。“127.0.0.1”为IP地址。这是一条本机回送网络的解析。(注意:每个网卡都会有 localhost  127.0.0.1的默认名字和IP地址,可用户测试开发是模拟网络环境。)

第13行也是一条DNS记录,表示为名字name.tyt.com的机器的IP地址为192.168.101.10.但在记录中不用写全名字,只需写机器名,即gateway,可不写域名tyt.com。

第14行为别名记录,也就是给name.tyt.com服务区另起一个名字叫做www。

编写完tyt.com以后保存并推出,这个文件就是该域的正向解析文件。

 

   2)、建立并配置正向解析文件“192.168.101.tyt.com”。同样的方法,文件的内容需要手动编写,如果没有把握,可以去/var/named/named.local复制,并打开“192.168.101.tyt.com”进行编辑。如下图

wps_clip_image-1972

 

wps_clip_image-1973

 

以上是复制后默认的文件,因为是从“named.local”文件复制过来的内容,所以我们要手动进行编辑修改,修改后如下图所示:

 

wps_clip_image-2037

 

反向解析文件的开始部分和正向解析文件基本相同。不同之处在“101.168.92.in-addr.arpa.”,表示DNS反向解析的网段,正反解析文件的版本不要求同步。

“10  IN  PTR   name.tyt.com.”是一条PTR记录,解析IP地址为192.168.101.10的机器名为name.tyt.com。后面的记录意思是一样的。

其实反向解析在实际的运行过程中不是很必要,但是出于安全考虑,尽量要为自己的域添加反向解析,否则会有一定的麻烦。

 

第二步:在/etc/named.conf中添加一正一反两个区域。

首先打开named.conf文件,然后在文档的最后添加正反两个区域,然后保存文件并推出编辑。编辑后如下图所示:

 

wps_clip_image-2358

 

从第67行到77行都是手动添加的。其中第67到71行为正向解析域,大家可以看到第69行file已经指向我们刚刚建立的“name.tyt.com”正向解析文件;第73到77行为反向解析域,其中第75行file已经指向我们刚刚建立的“192.168.101.tyt.com”反向解析文件了;

第三步:好了两个重要的步骤已经完成,但是我还是要提醒大家有一个文件需要修改一下,那就是/etc/resolv.conf 文件(这个文件的功能参见:《RHEL4-DNS服务(二)bind安装后的DNS服务文件及详解》),我们要在这个文件中添加一条DNS服务器的指向记录。这样我们这台机器才能使用刚才建立的DNS服务。如下图所示:

 

wps_clip_image-2731

 

我们要把DNS服务器放在第一位,这样我们才能首先使用自己设置的DNS服务器。

第四步:设置好以后,重启服务:

 

wps_clip_image-2789

 

这样我们的DNS服务就已经生效了。

 

第五步:下面我们来测试一下,如下图所示:

 

wps_clip_image-2831

 

上图测试的是正向解析,大家可以看到,使用nslookup命令,解析了刚才我们设置的域名‘name.tyt.com’已经得出相应的地址:192.168.101.10。说明正向解析成功。同理,如果要测试反向解析我们只要在nslookup命令提示符下输入ip如果返回的是对应的域名,说明反向解析成功。

 

也可以使用一下的方法测试主配置文件:

 

1、测试named.conf主配置文件 

named-checkconf命令用于对BIND服务器的主配置文件中的配置内容进行检测

# named-checkconf

2、测试区域文件 

named-checkzone命令用于检查区域文件中的语法错误,对正向区域文件和反向区域文件都可以进行检查

# named-checkzone ltest.com /var/named/ltest.com.zone     #正向测试

# named-checkzone 101.168.192.in-addr.arpa                          #反向测试

> /var/named/192.168.101.rev

 

RHEL4- DNS服务(四)DNS的开机自动启动控制

 

        如果希望每次开机或者重新启动操作系统都希望DNS服务能自动启动(在接触linux之初我也这样幻想过,不过我坚信梦想一定会变为现实),而不必每次都是手动启动服务。在linux下有一个类似于图形界面的控制窗口,可以实现这样一个功能,只需要输入命令ntsysv就可以打开它,如下图所示:

 

wps_clip_image-475

 

 

        大家可以看图:使用光标的上下键找到‘named’选项,使用空格键选中,然后使用tab键切换到确定按钮,回车即可完成。是不是很简单,赶快去试一试吧!

 

        有的朋友说这样手动操作还是比较麻烦,如果使用启动脚本多好呀!嗯,说的好!在/etc/rc.d目录下有一些启动脚本,大家可以看看下图:

 

 

 

        rc.d文件夹中有一些带数字的文件夹,这些一数字命名的文件夹分别对应了系统的不同运行级别,而不同的运行级别可以启动不同的服务。在类unix的操作系统中都有采用这种启动方式。我们主要以rc3.d(字符界面)和rc5.d(图形界面)为主,也就是说当我们分别以这两个系统启动级别进入系统的时候,就会激活相应的启动级别服务。在企业中一般我们采用级别三作为默认的启动级别,也就是rc3.d这个目录。好!下面我就以rc3.d为例子来讲解一下(其他的是同样的道理),说到rc3.d这个文件夹 ,先让我们来看一看这个文件夹里到底是些什么东西呀!如下图所示:

 

 

 

       由图中我们可以看出,每个文件都对应这系统中的每一个服务。在这些文件中,有许多以大写字母K、S开头后面为数字,再后面就是为/etc/rc.d/init.d目录中的脚本名字。S表示开机时启动,数字越小就越先启动,后面启动服务的脚本文件名表示所启动的服务。(注意:在这里提醒大家启动有些服务要分先后次序,例如DNS一定要在网卡之后启动,即network服务。否则服务器开机启动会遇到问题,而DNS和SMABA服务无须分前后)。

        使用命令ln –s /etc/rc.d/init.d/named   /etc/rc.d/rc3.d/S55named,数字有自己决定,生成的文件没有闪烁的说明文件没有错误,下次重新启动服务器时就可以自动启动这项服务了。

 

wps_clip_image-1511

 

       大写的K表示关机时要关闭的服务,生成方式和生成启动文件的方法是一样的,这里就不在重复说明。

        最重要的是要编写好服务的脚本文件,多数系统自带的服务都有写好的脚本文件,有些数据库之类的非免费服务需要自己动手编写脚本。(注意:编写脚本的方法可查看专业的脚本编写书籍和资料。)

 

RHEL4- DNS服务(五)DNS主从服务器的配置

    在上一篇文章《RHEL4- DNS服务(三)主DNS服务的搭建与配置 》中讲到了如何配置主服务器,也可以说是独立的DNS服务器。但是在许多域中工作的DNS服务器不止一台,通常有一台是作为主DNS服务器,其他的则作为从DNS服务器,也可以叫做辅DNS服务器。虽然是辅助的DNS服务器,但是作用也很重要,所以下面我给大家说一说从DNS服务器的工作原理和配置方法。

 

先来说一说从DNS服务器的工作原理,DNS也可以称作域名服务器。由于DNS服务器所起的作用就是解析域名,也就是把域名转换成相应服务器的IP地址,以便客户端能访问到相应的服务器。如果域名服务器出现问题或者停机,那么客户端就不能通过域名访问到相应的服务器,但是服务器使用的时间长了难免会有这样那样软件或者硬件的问题,当出现问题的时候,尤其是更换维修硬件的时候必须把服务器停掉,这时候从服务器可以在主DNS服务器无法工作的时候自动接替主DNS服务器的工作,当然啦!从dns服务器的IP地址要让上一级的DNS服务器知道,如果你配置的服务器IP地址上一级的DNS服务区不知道,那么在查询的过程中这个服务器就不能起到相应的作用。

 

还有就是提醒大家,不要把主DNS服务器和从DNS服务器安装配置子同一台机器上面,不然问题会大大的多呦!这里我就不多说了!

 

主从DNS服务区器数据库是自动保持同步的(这个在配置的过程中需要注意),这样会减少手动同步出错的几率。主DNS是通过53端口联系的,也就是说从DNS服务器联系主DNS服务器数据库的变化。

 

    从DNS实用的参数和主DNS是一样的,例如:查询间隔,数据保存时间等是根据主DNS服务器的设置来决定的。

 

 

 

上图中各个参数的作用我在上一篇《RHEL4- DNS服务(三)主DNS服务的搭建与配置 》中已经说明,在这里就不再重复阐述。

 

一、下面转入今天的核心部分:***DNS服务器的配置***

 

在这里我可以给大家一个小技巧,因为从DNS服务器的配置文件和主DNS服务器的配置件格式是一样的,只有一些参数需要手动更改,所以你可以直接在主服务器复制配置文件,然后修改某些参数,从而达到配置从DNS的目的,这样还能保持主从服务器的一致性。如果你要手动书写,出错的几率会大大增高!

 

    下图是我配置完以后的从服务器解析文件,大家可以去《RHEL4- DNS服务(三)主DNS服务的搭建与配置 》一文中对比一下看看有何不同,如果没有发现也不要着急,我会在下文给大家揭示这个不同之处:

 

 

 

如果大家仔细对比主从DNS服务器的配置文件,会发现,区域配置参数有一些小小的变化。如下图

 

 

DNS服务器type类型是master,而从服务器的type参数类型是slave。正反区域都要变化;主DNS服务器的‘allow-updatenone;};’在从服务器配置文件中已经变成了‘master192.168.101.10;}’大括号中的IP地址就是主DNS服务器的IP地址,如果这里配置错误,从服务器就无法找到主服务器,也就不能自动更新数据库数据了。

 

当我们把正反向区域按照正确的方法配置完毕以后,然后启动从DNS服务器(启动的方法参见《RHEL4- DNS服务(一)bind包系列的安装和DNS服务的启动 》)。这样从服务器就可以开始工作了。

 

二、不同域的主从DNS服务器的配置。

 

不同域的主从DNS服务器,就是在同一主机上,即做域A的主DNS服务器,又做域B 的从DNS服务器,这样的好处是保证与服务器备份的同时,也可以节省服务器的数量。设置方法和主DNS服务器的设置是一样的,只需在主DNS配置文件中加入从DNS的正反向区域。如下图:

 

 

把这一段添加在主DNS服务器配置文件的末尾以及‘include/etc/rndc.key”;’语句之前,就可以了。

 

RHEL4- DNS服务(六)构建DNS缓存服务器 

 

    如果要构建DNS缓存服务器其实不是很复杂,只要安装一个系统自带的软件包即可。其实这个软件包,我们在《RHEL4- DNS服务(一)bind包系列的安装和DNS服务的启动 》一文中已经介绍其安装方法,在这里我再单独简单的介绍一下: 

 

一、安装caching-nameserver软件包 

 

      RHEL4系统为配置缓存域名服务器专门提供了名为“caching-nameserver”的软件包,该软件包保存在第1张安装光盘中,挂载第一张光盘即可在/media/cdrom/RedHat/RPM文件夹下即可找到这个文件。使用命令:# rpm -ivh caching-nameserver-7.3-3.noarch.rpm 即可安装。如下图所示: 

       在这里提醒大家,如果你在安装并配置DNS主或者从服务器的时候,没有安装这个缓存包,那么按照上图的方法安装了这个缓存包以后会生成心得DNS配置文件,原来的配置文件将自动更名并和新的配置文件共同保存在/etc目录下。我们这里因为先前在《RHEL4- DNS服务(一)bind包系列的安装和DNS服务的启动 》一文中已经安装,所以就不会出现新旧问价一说。

 

二、named.conf中的全局设置 

 

使用vi编辑器打开named.conf文件,并进行全局的配置,如下图:

 

  

1、options字段讲解:

options {

  directory "/var/named";

  dump-file "/var/named/data/cache_dump.db";

  statistics-file "/var/named/data/named_stats.txt";

}; 

 

(注意: directory用于设置BIND服务器的工作目录,即域名区域文件保存的目录;dump-file用于设置域名缓存文件的保存位置和文件名 )

 

2、根区域设置

 

zone "." IN {

        type hint;

        file "named.ca";

};

 

(注意:type设置为hint表示该区域的类型是根区域 ;file用于设置区域文件,根区域文件的名称是“named.ca”。)

 

根区域文件named.ca是根区域文件,位于“/var/named/ ”目录中。named.ca的内容如下图所示:

 

 

 

    一般不要轻易修改这个文件中的内容,它显示的是全世界13台根DNS服务器的IP地址以及对应的域名。中没有“,”开头的为非注释行,这个文件可以到网上去更新,不过不要随意到不可靠的网站更新,避免发生意外,其实这个文件内容使用系统自带的就足够了。如果你丢失了这个文件,网上又无法更新,那就把上图中的内容从头到尾一字不落的抄上去吧!

 

3、localhost正向解析

      localhost区域的作用是对主机名称“localhost”和环回地址“127.0.0.1” 进行解析 ,内容极其格式如下:

zone "localhost" IN {

        type master;

        file "localhost.zone";

};

 

localhost反向解析

zone "0.0.127.in-addr.arpa" IN {

        type master;

        file "named.local";

};

(注意:type设置为master表示区域的类型为主服务器 ;file设置区域文件名的名字。)

 

Localhost正向解析区域文件为localhost.zone,可以看到一条A记录对应的是本机回环地址127.0.0.1。

如下图:

 

 

Localhost反向解析区域文件为named.local,如下图所示:

 

 

    三、缓存域名服务器的启动和测试

 

    缓存域名服务器在安装caching-nameserver软件包不需要任何其它的配置就可以启动运行,只要这台DNS服务器能够访问公网就可以使用根服务器通过迭代的方式进行域名查询。

 

 启动缓存服务器和启动主从服务器是一样的,具体参见《RHEL4- DNS服务(一)bind包系列的安装和DNS服务的启动 》。

 

然我们来测试一下,我们使用nslookup命令查看一下新浪的域名解析,如果能解析到说明已经设置成功。

 

 

RHEL4- DNS服务(七)简单DNS服务测试方法介绍

一、nslookup命令进行域名测试:

 

1、

 

# nslookup 

>                           #进入nslookup命令交换环境

 

 

> server 192.168.101.10        #设置使用指定的DNS服务器

> localhost                    #测试localhost主机域名的正向解析 

 

 

> 127.0.0.1                   #测试localhost主机域名的反向解析

 

2、

 

www.sina.com.cn             #测试互联网中的域名解析

 

> name.tyt.com               #测试tyt.com域中的A记录

 

> 192.168.101.10               #测试ltest.com域中的PTR记录

 

>www.tyt.com               #测试tyt.com域中的CNAME记录

 

3、

 

> set type=ns                #测试tytcom域中的NS记录

 

> tyt.com 

> set type=mx              #测试tyt.com域中的MX记录

 

> tyt.com 

> set type=a               #设置进行A记录的测试

 

二:dig命令进行域名服务测试:

 

1、dig命令的格式极其参数:

 

Usage:  dig [@global-server] [domain] [q-type] [q-class] {q-opt}

        {global-d-opt} host [@local-server] {local-d-opt}

        [ host [@local-server] {local-d-opt} [...]]

Use "dig -h" (or "dig -h | more") for complete list of options 

 

2、dig命令可以比nslookup命令显示更多的DNS服务器信息。

 

下面我们来对比一下:

 

 

 

 

上图是nslookup测试www.sina.com.cn的结果。

 

 

上图是dig测试www.sina.com.cn的结果

由以上可以看出dig命令确实比nslookup测试的结果详细。

 

RHEL4- DNS服务(八)DNS客户端的配置 

 

      前面几篇文章介绍了DNS服务器的配置(具体详见:《DNS服务器的配置》),既然有了服务器那么我们就得有客户端使用他们。这里所说的客户端也就是DNS服务器的用户,这其中包括个人用的PC机,也包括各种各样的服务器。总之,只要是向DNS发送服务请求的都是客户端。

 

在这篇文章中我分两部分说一下DNS客户端的配置,第一部分是基于linux操作系统,第二部分是基于windows操作系统。

 

一、基于linux操作系统的DNS客户端配置:

 

Linux设置客户端的DNS服务器主要为三个文件,在《RHEL4-DNS服务(二)bind安装后的DNS服务文件及详解 》一文中我已经详细的说明,他们分别是‘/etc/hosts’;‘/etc/host.conf’;‘/etc/resolv.conf.

 

hosts文件主要用来做一些内部网络IP地址的解析,设置非常简单,而且修改方便。缺点是不能解析公网上的域名。

 

/host.conf文件规定了使用解析方法的顺序,一般以hosts为首选,手动更改文件数量少,且查询速度快。

 

resolv.conf文件是解析所有域名IP的配置文件,内容格式为一个ip地址占用一行:

 

nameserver  192.168.101.10

nameserver  202.106.0.20

nameserver  202.106.196.115

 

注意:第一行,192.168.101.10为首选DNS服务器IP地址,只有当系统无法从此DNS服务器解析的时候才会去第二台DNS服务器器发出查询。

 

Resolv.conf文件的设置对nslookup的影响很大,nslookup的默认DNS服务器为resolv.conf文件中设置的DNS服务器,如果DNS服务器本身为DNS服务器,但未写在resolv.conf文件中,则使用nslookup是无法测试本DNS服务器的,如果写入了resolv.conf文件中但不是第一DNS服务器,也无法直接测试,要用server命令更改默认的DNS服务器。

 

二、基于windows操作系统的DNS客户端配置:

 

其实这基于windows操作系统的DNS客户端配置 ,只要懂得一点计算机配置的朋友也许都会使用。下面我把具体的步骤和大家说一说:

 

1、使用鼠标邮件单击本地连接,弹出菜单选择‘属性’,如图:

 

然后点击‘添加’,之后一直点击‘确定’保存关闭对话框。至此,基于windows操作系统的DNS客户端配置就完成了。(注意,DNS服务器不用添加的过多,过多的DNS服务器其实并不起什么作用)。

3、将DNSIP地址以此在‘首选DNS服务器’和‘备用DNS服务器’中写入,如果要添加更多的DNS服务器地址,可以在“Internet协议(TCP/IP)”对话框中直接点击‘高级’,将打开‘高级TCP/IP设置’,如下图:

 

 

在上图中点击‘DNS服务器地址(按使用顺序排列)’框下面的添加按钮即可添加新的DNS服务器地址,如下图:

 

2、选择“Internet协议(TCP/IP)”,点击“属性”按钮,如下图

 

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

0

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广