您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > DNS服务器配置和管理
第18章DNS服务器配置和管理DNS服务可以为用户提供域名和IP地址之间的自动转换,通过DNS,用户只需要输入机器的域名即可访问相关的服务,而无需使用那些难以记忆的IP地址。本节介绍在Linux上如何使用Bind搭建DNS(DomianNameSystem,域名解析系统)服务器。18.1DNS简介DNS帮助用户在互联网上寻找路径。在互联网上的每一个计算机都拥有一个唯一的地址,称作“IP地址”(即互联网协议地址)。由于IP地址是一串数字,难以记忆,而DNS允许用户使用一串有意义的字符串(即“域名”)取代,而由域名转换成为相应的IP地址的这个过程就称为域名解析。本章介绍如何在RedHatEnterpriseLinux5.2上基于Bind搭建和配置DNS服务器。18.1.1DNS域名结构DNS域名又称为DNS命名空间,它是以层次树状结构进行管理的,其最顶层是根域,根域在整个DNS命名空间中是唯一的,而根域下可以分为多个子域,每一个子域下又可以有多个子域。例如,Internet命名空间具有多个顶级域名(top-leveldomainnames,简称TLD),如org、net、com、cn、hk等。而cn顶级域名可以具有多个子域,如edu、net、org、com等;com子域又可以具有多个子域,例如sina、google、pconline等;而sina又可以拥有多个子域。18.1.1DNS域名结构18.1.2DNS工作原理在DNS出现之前,通常是通过在计算机上维护一个hosts文件(/etc/hosts)的方式来实现主机名和IP地址之间的解析的。管理员在hosts文件中记录所有需要访问的主机的主机名和IP地址,当需要进行解析的时候系统会自动查询hosts文件,并找出匹配的解析关系。采用这种方式,每台主机上都必须维护一个hosts文件。网络中每增加一个计算机,就必须手工地修改所有主机的hosts文件,添加新计算机的主机名和IP地址对应记录。18.1.2DNS工作原理18.2DNS服务器的安装Bind是一款开放源代码的DNS服务器软件,它是由伯克里大学(Berkeley)编写的,全名为BerkeleyInternetNameDomain(伯克利因特网域名),是目前世界上使用最为广泛的DNS服务器软件,支持各种UNIX平台和Windows平台。18.2.1如何获得Bind安装包RedhatLinuxAS5自带了9.3.4版本的Bind。用户只要在安装操作系统的时候把该软件选上,Linux安装程序将会自动完成Bind的安装工作。如果在安装操作系统时没有安装Bind,也可以通过安装光盘中的RPM软件包进行安装。RPM安装包的文件名如下所示。bind-9.3.4-6.P1.el5.i386.rpm18.2.2安装bind接下来将以9.5.0版本的bind源代码安装包为例,介绍在RedHatEnterpriseLinux5.2上安装bind的详细步骤,如下所述。(1)解压bind-9.5.0-P2.tar.gz安装文件。(2)进入bind-9.5.0-P2目录,执行如下命令配置安装选项。(3)在bind-9.5.0-P2目录中执行如下命令编译并安装bind。(4)bind安装完成后需要手工运行如下命令生成主配置文件named.conf,文件存放在/usr/local/named/etc/目录下。18.2.3启动和关闭bind安装完成后就可以开始启动bind服务,bind是通过named命令进行启动,一般是让进程在后台运行,如下所示。#/usr/local/named/sbin/named&18.2.4开机自动运行为了简化系统管理工作,可以编写bind服务的启动关闭脚本,配置bind服务跟随操作系统自动启动或关闭,具体的脚本以及配置步骤如下所述。(1)编写bind服务的启动关闭脚本,文件名为named,并存放到/etc/rc.d/init.d目录下。(2)在系统面板上选择【系统】|【管理】|【服务器设置】|【服务】命令,打开【服务配置】窗口,选择【行动菜单】|【添加服务】命令,在弹出的对话框中输入named。(3)单击【确认】按钮后,服务列表中将添加一个named服务。选择named服务旁的复选框,设置该服务自动开机启动,然后单击工具栏中的【保存】按钮保存更改的配置。18.2.4开机自动运行18.3Bind服务器配置Bind主要的配置文件包括named.conf和相应的区域文件,Bind中各种配置的更改主要都是通过修改这些文件来完成,修改完成后需要重启Bind服务使配置生效。本节将介绍bind配置文件中的常用选项的使用方法,并给出具体的配置示例。18.3.1named.conf配置文件named.conf是Bind的主要配置文件,里面存储了大量的Bind自身的设置信息。Bind安装完成后并不会自动创建该配置文件,用户需要通过命令手工生成,新生成的named.conf配置文件的默认内容如下所示。keyrndc-key{algorithmhmac-md5;secretoPVRivMD8oROZNHvKjo7Hw==;};controls{inet127.0.0.1port953allow{127.0.0.1;}keys{rndc-key;};};1.acl语句2.controls语句3.include语句4.key语句5.options语句6.server语句7.view语句8.zone语句18.3.2根区域文件named.rootnamed.root是一个特殊的区域文件,在该文件中记录了Internet上的根DNS服务器的名称和IP地址。DNS服务器接到客户发来的解析请求后,如果在本地找不到匹配的DNS记录,则把请求发送到该文件中所定义的根DNS服务器上进行逐级查询。由于Internet上的根DNS服务器会随着时间发生变化,因为named.root文件的内容也是不断更新的,用户可以定期登陆下载最新版本的named.root文件。18.3.3正向解析区域文件正向解析区域文件用于映射域名和IP地址,文件中包含了该区域的所有参数,包括域名、IP地址、刷新时间、重试时间、超时等。18.3.4反向解析区域文件反向解析区域文件用于定义IP地址到域名的解析,它采用与正向解析文件类似的选项和格式。但由于是进行反向解析,所以该文件是使用PTR指针记录,而不是主机记录。18.4配置实例为了帮助读者更好地理解Bind的配置与使用,本节将模拟具体的企业应用需求,给出网络拓扑,通过配置一个具有多个视图的DNS服务器实例介绍Bind在RedHatEnterpriseLinux5.2上的完整配置步骤。18.4.1网络拓扑假设有这样一家公司:其局域网的网段为172.20.1.0/24,其中有5台计算机,分别为server1(172.20.1.1)、server2(172.20.1.2)、server3(172.20.1.3)、server4(172.20.1.4)和server5(172.20.1.5)。在外网中有3台应用服务器:FTP服务器(主机名为ftp,IP地址为61.124.100.1)、网站服务器(主机名为,IP地址为61.124.100.2)和邮件服务器(主机名为mail,IP地址为61.124.100.3)。此外,还有一台DNS服务器,其主机名为dns,内网IP地址为172.20.1.11,外网IP地址为61.124.100.11。18.4.1网络拓扑18.4.2配置named.conf为了区分内部网络和外部网络用户的解析结果,需要通过视图实现。在本例中定义了两个视图internal和external,分别对应内部网络和外部网络的用户。在这两个视图中分别定义不同的区域文件,从而实现内外网用户能得到不同的解析结果。下面把named.conf文件的内容分成多个部分进行说明。定义Bind的加密密钥以及与rndc间的控制,如下所示。//key语句采用系统默认配置,定义bind的加密密钥keyrndc-key{algorithmhmac-md5;secretoPVRivMD8oROZNHvKjo7Hw==;};controls{inet127.0.0.1port953allow{127.0.0.1;}keys{rndc-key;};};18.4.3配置区域文件接下来需要定义区域文件,以实现域名和IP地址之间的映射,所有区域文件都保存到/var/named目录下,文件的具体内容介绍如下。1.named.root2.localhost-internal.zone3.localhost-internal.arpa4.company-internal.zone5.company-internal.arpa6.company-external.zone18.4.4测试结果经过上述配置后,DNS服务器已经配置完成,接下来可以进行测试以确定bind的服务是否正确并满足需求。用户需要准备另外一台安装了Linux系统的客户端主机。18.5DNS常见问题及常用命令本节将介绍基于Bind配置DNS服务器的常见问题的处理方法,以及与DNS相关的常用命令的用法,通过这些命令可以对Bind服务和配置文件进行检查,以确定Bind服务是否正常,配置文件的格式是否正确。18.5.1因TTL值缺失导致的错误NodefaultTTLsetusingSOAminimuminstead错误是由于没有在域中指定TTL值,因为自Bind8.2开始,用户必须指定一条$TTL语句来设置域的默认TTL值。用户可在SOA记录前添加$TTL语言,如下所示。$ttl1D@INSOAcompany.com.root.company.com.(253891216//版本号3H//刷新时间5M//重试时间1W//保存时间1D)//TTL值18.5.2dig命令:显示DNS解析结果以及配置信息dig命令除了可以显示解析结果以外,还可以查询与之相关的DNS服务器的配置信息。18.5.3ping命令:解析域名ping命令除了用于检测网络的连通性以外,还可以用于域名解析。18.5.4host命令:正向反向解析host命令是一个用于域名解析的简单命令,可以解析域名对应的IP地址或对IP地址进行反向解析。下面是正常解析的结果。#hostserver5.company.com//正向解析server5.company.comhasaddress172.20.1.5##host172.20.1.5//反向解析5.1.20.172.in-addr.arpadomainnamepointerserver5.company.com.如果解析失败,则host命令将返回如下结果:#hostserver5.company.com;;connectiontimedout;noserverscouldbereached18.5.5named-checkconf命令:检查named.conf文件内容named-checkconf是Bind所提供的一个工具,存放在/usr/local/named/sbin目录下,用于检查named.conf文件内容是否配置正确。其命令格式如下所示。named-checkconf文件位置如果named.conf文件配置正确,则该命令不会输出任何结果;否则将输出文件中的错误信息,如下所示。#./named-checkconf/usr/local/named/etc/named.conf/usr/local/named/etc/named.conf:19:missing';'before'view'18.5.6named-checkzone命令:检查区域文件内容named-checkzone也是由Bind所提供,存放在/usr/local/named/sbin目录下,用于检查区域文件的内容是否配置正确。其命令格式如下所示。named-checkzone[-djqvD][-c
本文标题:DNS服务器配置和管理
链接地址:https://www.777doc.com/doc-4790992 .html