首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 计算机考试 > 认证考试 > Linux认证 >

Linux下 DNS配置文件检查工具(3)

2008-11-27 
DNS就是Domain Name System, DNS服务器可以分为三种,高速存服务器(Cache-only server)、主服务器(Primary Name server)、辅助服务器(Second Name Server)。

  软件安装:

#gunzip dlint1.4.0.tar.gz
#tar vxf dlint1.4.0.tar
#cd dlint1.4.0
#make install

  系统会将dlint安装在/usr/bin/目录下。

  dlint首先检查拼写错误。

  有A记录的主机名称必须有PTR(称 pointer, PTR反向解析)记录。如果有A记录的主机名称没有PTR,配置文件不能通过。Dlint可以在用户配置文件中为A建立查找丢失的PTR记录。

  dint会检查in-addr.arpa区带(Zone)的每一条PTR记录是否有对应的A记录存在。

  dint会以递归的方式检查子区带(Zone),查找配置问题。

  应用实例:

[root@www dlint1.4.0]# dlint www.cao.com
;;  dlint version 1.4.0, Copyright (C) 1998 Paul A. Balyoz <pab@domtools.com>
;;  Dlint comes with ABSOLUTELY NO WARRANTY.
;;  This is free software, and you are welcome to redistribute it
;;  under certain conditions.  Type 'man dlint' for details.
;; command line: /usr/local/bin/dlint www.cao.com
;; flags: normal-domain recursive.
;; using dig version 9.2.1
;; run starting: 五  6月 18 12:02:29 CST 2004
;; ============================================================
;;  Now linting www.cao.com
Checking serial numbers per nameserver
;;      2002063000 NS1.cao.com.
;;     2002063000 NS2.cao.com.
;; All nameservers agree on the serial number.
;; Now caching whole zone (this could take a minute)
;; trying nameserver NS1.cao.com.
;; 12 A records found.
;; ============================================================
;;  dlint of www.cao.com run ending with errors.
;;  run ending: 五  6月 18 12:02:40 CST 2004

  ;; 后边是程序版本和解释语句,ERROR后边是Dlint对DNS配置文件的检查结果。如果没有ERROR字段表示配置正确。Dlint能检查的DNS配置文件主要错误:

  1. 没有增加 SOA (start of authority) RR 的 serial 值

  这是最主要的 DNS 出错的原因. 因为, serial 值没有增加, secondary server 就不会在 primary server 的配置文件改变后随之改变。 包括改变 SOA 里面其它的值, seconrary server 自己并不会发觉. 即使是修改 SOA RR 里面的资料, 也都要记得去改 SOA RR 的 serial 值. 改了 serial 后,secondary 到时后查出有增加, 就会从 primary 作一次 zone transfer. 改了 SOA RR 后, 最好去测试一下 secondary server 是不是有更新. 目前有dlint软件可以分析任何DNS区带。

  2. 在 BIND 中的配置文件, 少写了一个点 (.)

  少写了一个点, 看起来差不多. 但是却造成了很大的问题. BIND 的设定档案一定要小心的设定. 要不然很可能产生很多错误。

  3、错误的 resolv.conf 设定

  resolv.conf 里面包含了 local domain, 当你没有把全部的 domain name 设定好时, 就会自动加上去这个东西. 然后机器就不会去查 DNS 而直接用这个 domain name 连出去了. 要是 resolv.conf 有不正确的 domain name entry, 那就有可能连到一堆不存在的地方. (然后得到 error.)

  4. rndc命令

  rndc指令是系统管理员用来管理域名服务器的操作的命令。rndc主要命令:

rndc  reload用来装入新的数据库。
rndc status 查看目前DNS服务器状态。
rndc stop  停止DNS服务器。
rndc restart 从新启动DNS服务器。
rndc stats 生成DNS统计报表。
rndc dumpdb 将所有缓存输入文件named_dump.db。

  5 、DNS状态检测工具-DNSTOP

  在维护DNS服务器时,网管员希望知道到底是哪些用户在使用DNS服务器,同时也希望能对DNS状态查询做一个统计。通常想到是tcpdump –i eth0 port 53来查看DNS查询包,Tcpdump是一个命令行方式的嗅探器。它可以根据需要显示出经过一个网络接口的所有数据包,供网络管理员对网络进行检测。但由于采用的是命令行方式,对这些数据包的分析可能会比较困难。这里我们可以使用DNSTOP查询DNS服务器状态:

  软件安装:

  DNSTOP依赖Tcpdump和pcap库(libpcap)对网络上传输的数据包进行截获和过滤,所以你需要检查系统是否安装相应软件,可以使用命令:结果见图-1。

#rpm –qa|grep Tcpdump; rpm –qa|grep libpcap

 
图-1 运行DNSTOP必需软件和库函数

软件主页:http://dns.measurement-factory.com/tools/dnstop 下载链接:http://dns.measurement-factory.com/tools/dnstop/src/dnstop-20040309.tar.gz

软件安装:

#tar vxfz dnstop-20040309.tar.gz
cd dnstop-20040309
make

  运行软件:

  如果想查看通过eth0的DNS网络流量可以使用命令

#./dnstop -s eth0
0 new queries, 6 total queries                    Mon Jul  6 09:54:35 2004
Sources              count      %
---------------- --------- ------
192.168.0.117            4   66.7
192.168.0.143            1   16.7
192.168.0.42             1   16.7

  在运行DNSTOP的过程中,可以敲入如下命令: S,D,T,1,2,ctrl+R,ctrl+X,以交互方式来显示不同的信息。更详细信息可以查看dnstop –help。

  总结:在Linux下新手第一次配置DNS都会错,请留意出错信息。DNS是一个很复杂的系统。用户可能会做错很多事,并且会使系统不能正常运行。伴随DNS建立出现的许多问题都会引起相同的结果,但起因却不同。但大多数问题是由于配置文件中的语法错误而导致的。关于如何配置DNS笔者不作赘述了, 另外网络上有大量的文档、FAQ和其他的资源。这些大量的文档对于很好的利用DNS的各种功能是非常重要的。这里介绍的工具如:ping、 nslookup、dlint 、rndc、 dnstop都是一些检查工具,如果你希望作为一名合格Unix/Linux的网络管理员就应该从需求方案出发,以客户的需求为导向,配置出我们自己需要的DNS服务器,这样不但可以满足需要,还能大大减少我们的工作量,以上这些都是你应当掌握的工具,但并不是说你可以忽略对DNS本身的了解。

 

3COME考试频道为您精心整理,希望对您有所帮助,更多信息在http://www.reader8.com/exam/

热点排行