contents
Next: Other Useful Tools Up: Running named Previous: Writing the Master Files

Verifying the Name Server Setup

There's a fine tool for checking the operation of your name server setup. It is called nslookup, and may be used both interactively and from the command line. In the latter case, you simply invoke it as
	nslookup hostname
and it will query the name server specified in resolv.conf for hostname. (If this file names more than one server, nslookup will choose one at random).

The interactive mode, however, is much more exciting. Besides looking up individual hosts, you may query for any type of DNS record, and transfer the entire zone information for a domain.

When invoked without argument, nslookup will display the name server it uses, and enter interactive mode. At the `>' prompt, you may type any domain name it should query for. By default, it asks for class A records, those containing the IP-address relating to the domain name.

You may change this type by issuing ``set type=type'', where type is one of the resource record names described above in section-gif, or ANY.

For example, you might have the following dialogue with it:

           $ nslookup
           Default Name Server:  rs10.hrz.th-darmstadt.de
           Address:  130.83.56.60

           > sunsite.unc.edu
           Name Server:  rs10.hrz.th-darmstadt.de
           Address:  130.83.56.60

           Non-authoritative answer:
           Name:    sunsite.unc.edu
           Address:  152.2.22.81
If you try to query for a name that has no IP-address associated, but other records were found in the DNS database, nslookup will come back with an error message saying ``No type A records found''. However, you can make it query for records other than type A by issuing the ``set type'' command. For example, to get the SOA record of unc.edu, you would issue:
           > unc.edu
           *** No address (A) records available for unc.edu
           Name Server:  rs10.hrz.th-darmstadt.de
           Address:  130.83.56.60

           > set type=SOA
           > unc.edu
           Name Server:  rs10.hrz.th-darmstadt.de
           Address:  130.83.56.60

           Non-authoritative answer:
           unc.edu
                   origin = ns.unc.edu
                   mail addr = shava.ns.unc.edu
                   serial = 930408
                   refresh = 28800 (8 hours)
                   retry   = 3600 (1 hour)
                   expire  = 1209600 (14 days)
                   minimum ttl = 86400 (1 day)

           Authoritative answers can be found from:
           UNC.EDU nameserver = SAMBA.ACS.UNC.EDU
           SAMBA.ACS.UNC.EDU       internet address = 128.109.157.30
In a similar fashion you can query for MX records, etc. Using a type of ANY returns all resource records associated with a given name.
           > set type=MX
           > unc.edu
           Non-authoritative answer:
           unc.edu preference = 10, mail exchanger = lambada.oit.unc.edu
           lambada.oit.unc.edu     internet address = 152.2.22.80

           Authoritative answers can be found from:
           UNC.EDU nameserver = SAMBA.ACS.UNC.EDU
           SAMBA.ACS.UNC.EDU       internet address = 128.109.157.30


A practical application of nslookup beside debugging is to obtain the current list of root name servers for the named.ca file. You can do this by querying for all type NS records associated with the root domain:
           > set typ=NS
           > .
           Name Server:  fb0430.mathematik.th-darmstadt.de
           Address:  130.83.2.30

           Non-authoritative answer:
           (root)  nameserver = NS.INTERNIC.NET
           (root)  nameserver = AOS.ARL.ARMY.MIL
           (root)  nameserver = C.NYSER.NET
           (root)  nameserver = TERP.UMD.EDU
           (root)  nameserver = NS.NASA.GOV
           (root)  nameserver = NIC.NORDU.NET
           (root)  nameserver = NS.NIC.DDN.MIL

           Authoritative answers can be found from:
           (root)  nameserver = NS.INTERNIC.NET
           (root)  nameserver = AOS.ARL.ARMY.MIL
           (root)  nameserver = C.NYSER.NET
           (root)  nameserver = TERP.UMD.EDU
           (root)  nameserver = NS.NASA.GOV
           (root)  nameserver = NIC.NORDU.NET
           (root)  nameserver = NS.NIC.DDN.MIL
           NS.INTERNIC.NET internet address = 198.41.0.4
           AOS.ARL.ARMY.MIL        internet address = 128.63.4.82
           AOS.ARL.ARMY.MIL        internet address = 192.5.25.82
           AOS.ARL.ARMY.MIL        internet address = 26.3.0.29
           C.NYSER.NET     internet address = 192.33.4.12
           TERP.UMD.EDU    internet address = 128.8.10.90
           NS.NASA.GOV     internet address = 128.102.16.10
           NS.NASA.GOV     internet address = 192.52.195.10
           NS.NASA.GOV     internet address = 45.13.10.121
           NIC.NORDU.NET   internet address = 192.36.148.17
           NS.NIC.DDN.MIL  internet address = 192.112.36.4

The complete set of commands available with nslookup may be obtained by the help command from within nslookup.


contents
Next: Other Useful Tools Up: Running named Previous: Writing the Master Files

Andrew Anderson
Thu Mar 7 23:22:06 EST 1996