Query Internet name servers with a certain DNS server

Posted on in Categories FAQ, Linux, Troubleshooting last updated May 22, 2006

host, nslookup and dig command used to query Internet name servers interactively (DNS lookup utility). Any one of these command is normally use to convert names to IP addresses and vice versa. These utilities are real lifesaver when you want to troubleshoot problem.

By default, they query and use name server specified in /etc/resolve.conf file. For example, consider output nslookup (use default name server):

$ nslookup

Output:

>cyberciti.biz
Server:         ns9.san.yahoo.com.
Address:        216.109.116.20#53

Name:   cyberciti.biz
Address: 68.142.234.46
Name:   cyberciti.biz
Address: 68.142.234.47
Name:   cyberciti.biz
Address: 68.142.234.44
Name:   cyberciti.biz
Address: 68.142.234.45

Now execute same command as follows:

$ nslookup – ns1.net4india.com

Output:

> cyberciti.biz
Server:         ns1.net4india.com
Address:        202.71.129.33#53

Name:   cyberciti.biz
Address: 67.15.117.192

When the first argument is a hyphen (-) and the second argument is the Internet address of a name server, you are forcing to use a certain name server to nslookup command. This is handy to debug domain related problems. Simlarly you can force dig command to use a certain name server:

$ dig @ns1.net4india.com +qr cyberciti.biz

OR force host command to use a certain nameserver:

$ host cyberciti.biz ns1.net4india.com

See also:

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin and a trainer for the Linux operating system/Unix shell scripting. He has worked with global clients and in various industries, including IT, education, defense and space research, and the nonprofit sector. Follow him on Twitter, Facebook, Google+.

Leave a Comment