服务器 频道

经验谈:Linux 下DNS故障排除攻略(下)

    3.dig

    dig工具向DNS服务器发送named查询。dig可以查询单一或多个域名服务器。dig的功能比 nslookup 强大很多,而且使用简单,不像nslookup需要设置set选项。下面是 dig 的一些比较常用的命令:
dig @server tom.com.cn.  #dig 最基本的用法
dig @server zx.xmgd.com. AXFR  #用 dig 查看 zone 数据传输
dig @server zx.xmgd.com. IXFR=N  #用 dig 查看 zone 数据的增量传输
dig -x 210.52.83.228 @server  #用 dig 查看反向解析
 dig xmgd.com. +nssearch  #查找一个域的授权DNS服务器
dig xmgd.com +trace  #从根服务器开始追踪一个域名的解析过程

    4.named-checkzone

    named-checkzone通过检查句法的正确性来检查区带(zone)文件的正确性。named-checkzone如果没有检查到错误,会返回一个简单的“OK”字符。下面是一个例子:
#named-checkzone -q /var/named/localhost.zone
dns_zone_load: couldnot find NS and/or SOA records or bad datted quad
上面信息说明可能是没有定义SOA记录或A记录设定了一个错误IP地址。查看/var/named/localhost. zone文件后发现一行:
1D IN A    127.0.0.l
显然是一个拼写错误,“I”错误拼写为“1”,如果找到错误文件,就可以很快排除故障。

    5.named-checkconf

    named-checkconf通过检查named.conf句法的正确性来检查named文件的正确性。对于配置正确的named.conf文件,named-checkconf不会显示任何信息。下面是一个检查的例子。
# named-checkconf /etc/named.conf
/etc/named.conf:23: unknown option ''fi1e''
上面信息说明在第23行有一个错误语句,原来是把“file”错误拼写为“fi1e”。找到错误原因,用vi修改配置文件,就可以很快排除故障。
另外,建议不要使用Red Hat Linux提供的一个图形化的配置工具(它可能带来许多严重的问题,因此从RHEL 4开始就取消了这个工具)redhat-config-bind,Linux网络管理员还是应当使用命令行配置DNS服务器管理工作。Linux命令行和redhat-config-bind 相比具有许多优点:
 命令行更加灵活,使用命令行通常比使用redhat-config-bind时具有更多选项。
 命令行运行更快,不必等待Linux处理图形。
  redhat-config-bind工具不能显示所有错误信息,而命令行提供的错误信息都可以在命令行下看到。
  redhat-config-bind工具是一个单独软件,也是一个出错源。

    6.whois

    whois命令会去查找并显示指定帐号的用户相关信息,因为它是到network solutions的whois数据库去查找,所以该帐号名称必须在上面注册方能寻获,且名称没有大小写的差别。图2 是whois命令实例输出,由于whois输出的内容比较多我们主要关注最后的界面:
 


图2 whois命令对it168.com的解析

    可以看到whois功能非常强大,除了可以查询DNS服务器的IP地址外还可以查询到其具体物理位置、电话传真。需要说明的是whois对于TLD(记录查询的优异域名)的.com 和.net以及 .edu域名查询比较可靠。为了工具精确查询可以使用下面三个whios服务器:
# whois domain-name@whois.internic.net
    # whois domain-name@whois.register.com
# whois domain-name@whois.geektools.com

0
相关文章