标签归档:DNS

DNS服务器调试工具dig、host、nslookup

       先前曾经简单介绍过在CentOS5.2下搭建实现DNS服务器,可查看这里

       现在就再简单大致记录介绍三款常用于检查测试调试DNS服务器搭建是否成功的工具吧~即Dig、Host、Nslookup,介绍:

      
Shell方式可以使用3种工具来查询DNS数据库:nslookup、dig和host,在BIND的软件发布中包括nslookup和dig。
Nslookup是这三个工具中最老的,而且总是随同BIND一起发布;dig是域信息的探索程序,最初由SteveHotz编写,后来
MichaelSawy针对BIND 9将它重新编写,它也和BIND一起发布;host由Eric
Wassenaar编写,是另一个开放源代码的工具,其特点是输出对用户很友好,功能是可检查区文件的语法。另外三者使用的解析器库不同:dig和
host使用BIND的解析器,而nslookup有其自身的解析器。

       (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} [...]]

      
以上是关于dig用法参数列表,可以通过man dig 或者 dig –h | more 查看其命令相应的帮助信息~ 参数可接IP
address或domain name来获得name server所提供的相关讯息,提供不同资料记录型态,例如A、MX…等等

      (2)、Host命令

[root@yanqx ~]$ host -h              
host: illegal option — h
Usage: host [-aCdlriTwv] [-c class] [-N ndots] [-t type] [-W time]
            [-R number] hostname [server]
       -a is equivalent to -v -t *
       -c specifies query class for non-IN data
       -C compares SOA records on authoritative nameservers
       -d is equivalent to -v
       -l lists all hosts in a domain, using AXFR
       -i IP6.INT reverse lookups
       -N changes the number of dots allowed before root lookup is done
       -r disables recursive processing
       -R specifies number of retries for UDP packets
       -t specifies the query type
       -T enables TCP/IP mode
       -v enables verbose output
       -w specifies to wait forever for a reply
       -W specifies how long to wait for a reply
       -4 use IPv4 query transport only
       -6 use IPv6 query transport only

       默认情况下,只是简单使用host+欲查询域名得到只是简单一些A记录或MX记录等,想了解全部信息需加上 –a 参数查看 如:

[root@yanqx ~]$ host qingxianyan.cn
qingxianyan.cn has address 74.220.219.76
qingxianyan.cn mail is handled by 0 qingxianyan.cn.

   (3)、Nslookup命令

       在linux或win下
入nslookup命令后,会看到 > 提示符号,之后就可输入查询指令。一般会输入IP address或是domain
name来做反向及正向的解析。而nslookup不仅提供上述2种解析,亦像dig提供DNS中其它的资料记录型态,例如A、MX、NS…等等,可在提
示符号直接输入”?”来获得所有可以使用的参数或资料型态。

Commands:   (identifiers are shown in uppercase, [] means optional)
NAME            – print info about the host/domain NAME using default server
NAME1 NAME2     – as above, but use NAME2 as server
help or ?       – print info on common commands
set OPTION      – set an option
    all                 – print options, current server and host
    [no]debug           – print debugging information
    [no]d2              – print exhaustive debugging information
    [no]defname         – append domain name to each query
    [no]recurse         – ask for recursive answer to query
    [no]search          – use domain search list
    [no]vc              – always use a virtual circuit
    domain=NAME         – set default domain name to NAME
    srchlist=N1[/N2/.../N6] – set domain to N1 and search list to N1,N2, etc.
    root=NAME           – set root server to NAME
    retry=X             – set number of retries to X
    timeout=X           – set initial time-out interval to X seconds
    type=X              – set query type (ex. A,ANY,CNAME,MX,NS,PTR,SOA,SRV)
    querytype=X         – same as type
    class=X             – set query class (ex. IN (Internet), ANY)
    [no]msxfr           – use MS fast zone transfer
    ixfrver=X           – current version to use in IXFR transfer request
server NAME     – set default server to NAME, using current default server
lserver NAME    – set default server to NAME, using initial server
finger [USER]   – finger the optional NAME at the current default host
root            – set current default server to the root
ls [opt] DOMAIN [> FILE] – list addresses in DOMAIN (optional: output to FILE)
    -a          -  list canonical names and aliases
    -d          -  list all records
    -t TYPE     -  list records of the given type (e.g. A,CNAME,MX,NS,PTR etc.)
view FILE           – sort an ‘ls’ output file and view it with pg
exit            – exit the program

     参考资料:http://docsrv.sco.com/NET_tcpip/dnsC.nslook.html

centos5.2搭建配置dns服务

一、配置环境:
       OS:CentOS 5.2
       IP:192.168.1.99
       计算机名:yousri
       域名:yousri.com
       别名:www.yousri.com

二、检查自己是否已经安装了Bind:

[root@yanqx ~]# rpm –qa | grep bind
bind-9.3.4-6.P1.el5.i386.rpm
bind-libbind-devel-9.3.4-6.P1.el5.i386.rpm
bind-sdb-9.3.4-6.P1.el5.i386.rpm
bind-devel-9.3.4-6.P1.el5.i386.rpm
caching-nameserver-9.3.4-6.P1.el5.i386.rpm
bind-chroot-9.3.4-6.P1.el5.i386.rpm

       主要检查以上六个包是否有安装:
       配置文件修改,主要将涉及到的配置文件包括以下:

/etc/sysconfig/network   //设置主机名
/etc/sysconfig/network-scripts/ifgcfg-eth0  //设置IP地址
/etc/named.conf    //DNS主配置文件
/var/named/chroot/var/named/yousri.com.db   //正向解析文件
/var/named/chroot/var/named/1.168.192.db   //反向解析文件
/etc/resolv.conf     //本机DNS配置文件
/var/named/chroot/var/named/localdomain.zone   //正向解析文件模板
/var/named/chroot/var/named/named.local       //反向解析文件模板

       关于修改主机名及设置IP地址的配置这里就不多言啦/// 可以上网的话基本都已经配置好啦,可使用hostname查询主机名

三、主配置文件named.conf的配置
       因为主配置文件named.conf包含一句话扩展外包配置文件的记录:include “/etc/named.rfc1912.zones”;故这里在配置定义正向解析文件与反向解析文件

[root@yanqx ~]#vim /var/named/chroot/etc/named.rfc1912.zonesf
zone "yousri.com" IN {       //定义一个正向域yousri.com
type master;
file "yousri.com.db";    //定义正向解析文件名 yousri.com.db
allow-update { none; };
};
zone "1.168.192.in-addr.arpa" IN {        //定义反向域
type master;
file "1.168.192.db";                  //定义反向解析文件名 1.168.192.db
allow-update { none; };
};

       添加以上两段配置文件保存并退出

四、配置正向解析与反向解析文件
       正向反向解析文件都创建在相同目录—/var/named/chroot/var/named/下,且可直接使用原有的模板localdomain.zone及named.local分别修改而得

[root@yanqx ~]#cd /var/named/chroot/var/named
[root@yanqx named]#cp -p localdomain.zone yousri.com.db
[root@yanqx named]#cp -p named.local 1.168.192.db

       使用参数p,是为了复制文件时保持文件的属性不变,防止有误导致稍后named服务无法启动/// 接下来分别修改这两个配置文件为如下:
正向解析文件:

[root@yanqx named]#vim yousri.com.db
 $TTL 86400
 $ORIGIN yousri.com.
 @         IN SOA yanqx.yousri.com. root.yanqx.yousri.com. (
                20060415              ; serial (d. adams)
            28800       ; refresh
             7200   ; retry
           604800   ; expiry
            86400 )   ; minimum

         IN NS   yanqx.yousri.com.
         IN MX 10 mail.yousri.com.
 @   IN A 192.168.1.99
 yanqx IN A 192.168.1.99
 mail IN A 192.168.1.99
 www IN CNAME yanqx

反向解析文件:

[root@yanqx named]#vim 1.168.192.db
 $TTL 86400
 @         IN SOA yanqx.yousri.com. root.yanqx.yousri.com. (
                                     20060415              ; serial (d. adams)
                                        28800              ; refresh
                                         7200              ; retry
                                       604800              ; expiry
                                        86400 )            ; minimum

         IN NS yousri.com.
 99      IN PTR yanqx.yousri.com.
 99      IN PTR mail.yousri.com.

五、系统配置
       1、修改/etc/resolv.conf文件,添加一条本机IP的DNS记录,以便实现域名解析效果

[root@yanqx named]#vim /etc/resolv.conf
 nameserver 202.101.103.54
 nameserver 202.101.103.55
 nameserver 192.168.1.99

       其中202.101.103.54&202.101.103.55为厦门电信DNS,120.35.120.155为本机IP地址
2、启动DNS服务及named服务

[root@yanqx ~]#/etc/init.d/named start

或者

[root@yanqx ~]#service named start

3、测试服务
       使用测试的命令是dig或nslookup或ping 侦测验证或更具体的客户端验证
       windows xp/2003客户端配置:网上邻居–属性–网络连接–属性–TCP/IP/属性/DNS–添加192.168.1.99记录保存退出即可。接着还可以结合已配置有DNS服务的服务器上搭建apache服务,配置apache基于名字的虚拟主机服务,配置使用www.yousri.com的域名,并在客户端(刚已设置好DNS的客户端上)直接浏览器浏览http://www.yousri.com访问apache服务的虚拟主机程序。