您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > 经验谈Linux下DNS故障排除攻略
经验谈:Linux下DNS故障排除攻略1DNS是网络服务的基础,要长期不断地保持其正常运作,每一个DNS服务器都应该定期检测。域名系统的配置和管理是一项比较复杂和繁琐的系统管理任务,它对整个网络的运行影响极大。为了保证DNS服务器的正常运行,不仅要使用可靠的服务器软件版本,而且要对DNS服务器进行合理配置,同时还要跟踪服务器软件和操作系统的各种漏洞。一、保持DNS服务器配置正确Linux上的域名服务由named守护进程控制,该进程从主文件/etc/named.conf中获取信息,包括一组将主机名称映射为IP地址的文件。DNS主要配置文件/etc/hosts----主机的一个列表文件,包含本地网络中已知主机的一个列表,如果系统的IP不是动态生成,就可以使用它。对于简单的主机名解析,在请求DNS或NIS网络域名服务器之前,该文件通常会告诉解析程序先查看此文件。/etd/host.conf----转化程序控制文件,告诉网络域名服务器如何查找主机名(通常是/etc/hosts,然后是域名服务器,可通过netconf对其进行更改)/etc/resolv.conf----转化程序配置文件,在配置程序请求BIND域名查询服务查询主机名时,必须告诉程序使用哪个域名服务器和IP地址来完成这个任务。named配置文件族名称中文名作用/etc/named.conf主文件设置一般的name参数,指向该服务器使用的域数据库的信息源/var/named/named.ca根域名配置服务器文件指向根域名配置服务器,告诉缓存服务器初始化/var/named/localhost.zoneLocalhost区域正向解析文件用于将本机IP转化为回送localhost名字/var/named/name.localLocalhost区域反向解析文件用于将localhost名字转化为本机回送IP地址/var/named/name2ip.conf用户配置区德正向解析文件将主机名映射为IP地址的区数据文件/var/named/ip2name.conf用户配置区的反向解析文件将IP地址映射为主机名的区数据文件named.conf文件的配置命令语法Acl定义IP地址的访问控制清单Control定义rndc使用的控制通道Include把其他文件包含到配置文件中Key定义授权的安全密钥Logging定义日志内容和位置Options定义全局配置选项和默认值Server定义远程服务器的特征Zone定义一个区可以看到DNS配置文件是一个复杂的系统。伴随DNS建立出现的许多问题都会引起相同的结果。但大多数问题是由于配置文件中的语法错误而导致的。了解bind9目录结构如下:/etc/named.conf/var/named/localhost.zoneexample.com.zonenamed.canamed.localslaves/var/named/chroot/var/named/Localhost.zoneExample.com.zoneNamed.caNamed.localSlaves上表说明:如果BIND9运行的chroot(牢监)模式下,所有配置在目录/var/named/chroot/var/named内,如果BIND9运行的非chroot(正常)模式下,所有配置在目录/var/named内。三、掌握Linux下DNS客户端配置方法BIND软件是一个客户端/服务器系统,客户端程序称为转换程序(resolver),它负责产生域名信息查询,将这类信息发送到服务器。服务器的named守护进程负责回答转换程序的查询。作为客户端,首先要在用户的计算机上配置客户端程序(转换程序),即向DNS服务器获得域名解析/反解析服务。域名服务器客户端包括三个文件。1./etc/hosts/etc/hosts是主机的一个列表文件包含(本地网络中)已知主机的一个列表。如果系统的IP不是动态生成,就可以使用它。对于简单的主机名解析(点分表示法),在请求DNS或NIS网络域名服务器之前,/etc/host.conf通常会告诉解析程序先查看此文件。2./etc/host.conf文件/etc/host.conf是用来控制本地转化程序设置的文件,该文件告诉转换程序实用哪些服务已经依照什么顺序进行查询。该文件的子段可以实用空格和制表符合分隔。/etc/host.conf文件配置选项见表4.选项说明Order指定按照哪种顺序来尝试不同的名字解析机制,按列出的顺序来进行指定的解析服务,支持下面的名字解析机制Hosts试图通过查找本地/etc/hosts文件来解析名字Bind使用DNS域名服务器来解析名字NIS使用网络信息服务协议来解析主机名字Multi以off和on为参数,与host查询一起使用,用来确定一台主机是否在/etc/hosts文件中指定了多个IP地址Nospoof如果用逆向解析找出与指定的地址匹配的主机名,对返回的地址进行解析以确认它确实与您查询的地址匹配,为了防止骗取IP地址,通过指定nospoofon来允许这种功能Alert以off和on为参数,如果打开,任何试图骗取IP地址的行为都通过syslog工具进行记录trim以域名为参数,在/etc/hosts中查找名字前,trim删除这个域名,这是你只把基本主机名放在/etc/host.conf中而不指定域名。一个典型的/etc/host.conf文件:orderbindhostsmultionnospoofontrimcao.netalerton上面文件中该解析程序首先使用DNS然后使用/etc/hosts文件查找主机名。如果由于某种原因不能使用域名服务器了,我们还可以使用主机文件中列出的那些主机名。该机器上允许使用多个IP地址,主机通过重新解析主机名字(从IP地址逆向查找返回的主机名字)来检查IP欺骗。3./etc/resolv.conf/etc/resolv.conf是转化程序配置文件,当配置转换程序使用BIND域名服务查询主机时,我们必须告诉转换程序使用哪一个域名服务器。用来完成这项任务的工具就是/etc/resolv.conf文件。/etc/resolv.conf文件配置选项:选项说明Domain定义缺省域名,转换程序会将缺省域名挂在任何不含点的主机名后面nameserver利用IP地址去识别让转换程序去识别查询域信息的那些服务器,我们可以多次使用nameserver选项,可以使用多达三个域名服务器Search指定域名搜索列表,最多六个一个典型的/etc/resolv.conf文件:domaincao.netnameserver192.168.1.1searchcao.net四、熟悉DNS资源纪录格式DNS域名数据库由资源记录(RR,resourcerecords)组成和区文件指令组成。每个资源纪录都是一个类别的组成。每个DNS域名数据库由SOARR开始,同时包括NSRR。对于正向解析文件包括ARR、MXRR、CNAMERR等。反向解析文件包括PTRRR。RR文件基本格式:[name][ttl]INtyperdata各个字段由空格和制表符隔开。各个字段含义如下:name字段:.:根域(RootDomain),以圆点“.”表示。根域只有一个,它没有上级域。在互联网上,根域一般不需要表示出来。@:默认域,文件使用$ORIGINdomain来说明默认域。标准域名:以“.”结束的域名,或是一个相对域名。空:纪录最后一个带有名字的域对象。ttl:ttl全称TimeToLive。以秒为单位记录该资源记录中谢谢存放在高速缓存这的时间长度。通常此处设定值为空,表示采用SOA中最小ttl值。IN:将该纪录标识为一个InternetDNS资源纪录。type字段:A记录:A(Address)记录是用来指定主机名(或域名)对应的IP地址记录。用户可以将该域名下的网站服务器指向到自己的webserver上。同时也可以设置您域名的二级域名。MX(MaileXchanger)记录:邮件交换记录,用户可以将该域名下的邮件服务器指向到自己的邮件服务器上,然后即可自行操控所有的邮箱设置。您只需在线填写您服务器的IP地址,即可将您域名下的邮件全部转到您自己设定相应的邮件服务器上。CNAME(CanonicalNAME)记录:别名记录。这种记录允许您将多个名字映射到同一台计算机。通常用于同时提供Web和邮件服务的计算机。例如,有一台计算机名为“host.mydomain.com”(A记录)。它同时提供Web和邮件服务,为了便于用户访问服务。可以为该计算机设置两个别名(CNAME):。这两个别名的全称就是和“mail.mydomain.com”。实际上他们都指向“host.mydomain.com”。SOA(StartOfAuthority)记录:SOA纪录一个授权区的开始,SOA纪录后的所有信息是控制这个域的。每个配置文件都必须包含一个SOA纪录,以标示服务器所管理的起始地方。配置文件的第一个纪录必须是SOA纪录。PTR(domiannamePoinTeR)记录:用于地址到主机名的映射。HINFO(HostINFOrmation)记录:该记录由一组描述主机的信息稳步文件组成。通常包括硬件名称和操作系统名称。rdata字段:A:存放IP地址。CNAME:设定主机别名。HINFO:通常分为两行,分别对应。Hardware:“计算机硬件名称”。Os-type:操作系统名。MX:通常分为两行,分别对应。Preference-value:优先级别数字(数字越小优先级别越高)。MaileXchanger:邮件服务器名称。NS:域名服务器名称。PTR:主机真实名称。Hostname:存放本纪录的主机名称。Contact:管理域的管理员邮件地址,因为@符号在文件中表示默认域,所以邮件地址以.代替,如abc@def.com改为:abc.def.com。Serial:本区信息文件的版本号,文件每次修改后要将其数值增加1。Refresh:辅助域名服务器多长时间更新一次数据库记录,以秒为单位。Retry:辅助域名服务器更新数据库失败后,多长时间再试,以秒为单位。Expire:如果辅助域名服务器无法从主服务器上更新数据,原有数据何时失效,以秒为单位。Minimun:如果资源记录中没有设定ttl,以此处设定的时间为准。五、学会使用测试DNS服务器方法1.使用host命令#hostlinux.cao.net//正向查询主机地址#linux.cao.nethasaddress192.168.1.1#host192.168.1.1//正向查询域名#1.1.168.192.in-addr.arpadomainnamepointerlinux.cao.net2.nslookupnslookup命令用来测试正向、反向的解析是否正常。nslookup可以向服务器直接查询信息,一般情况下均使用交互模式。此时会出现提示符“”,nslookup提供了许多命令,下面列举其中一些常用的详细说明。help命令:显示帮助信息,以及一些简单的命令的作用。exit命令:退出nslookup命令。lserver命令:查找指定的域名服务器并将其设置为默认的域名服务器。server命令:和lserver相似,解析另一台域名服务器并将其设置为默认的域名服务器,不同在于本命令使用当前默认的域名服务器来解析。set命令:修改工作参数,它也是nslookup中最常用的命令。set命令包含下面几种命令。setclass:设置查询的类型,一般情况下为Internet。setdebug:设置调试模式。setnodebug:设置为非调试模式。setd2:设置详细调试模式。setnod2:设置为非详细调试模式。set[no]defname:设置为defname,会在所有没有加“o”的名字后,自动加上默认的域名。setdomain:设置默认
本文标题:经验谈Linux下DNS故障排除攻略
链接地址:https://www.777doc.com/doc-2137372 .html