Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 3 Aug 2018 16:41:42 -0500
From:      Valeri Galtsev <galtsev@kicp.uchicago.edu>
To:        FreeBSD Mailing List <freebsd-questions@freebsd.org>
Subject:   name resolution puzzle
Message-ID:  <5cbb1cc0-8e3f-2736-755e-d182abfd90e6@kicp.uchicago.edu>

next in thread | raw e-mail | index | archive | help
Dear Experts,

I just noticed some behavior of commands "host" and "nslookup" that 
puzzles me. Namely, they do not query /etc/hosts file first, but query 
nameserver instead, even though nsswitch.conf order is "files dns":

$cat /etc/nsswitch.conf | grep hosts

hosts: files dns

$ cat /etc/hosts | grep holometer.uchicago.edu

128.135.20.84	holometer holometer.uchicago.edu

$ host holometer.uchicago.edu

holometer.uchicago.edu has address 128.135.52.70

$ nslookup holometer.uchicago.edu

Server:		128.135.249.50
Address:	128.135.249.50#53

Name:	holometer.uchicago.edu
Address: 128.135.52.70


So, it appears, that the commands "host" and "nslookup" go directly to 
DNS server, and do not look into /etc/hosts first which I have expected.

I should mention that other compiled programs do obey the nsswitch.conf 
query order.


Can someone enlighten me on this?


The reason I have different IP in /etc/hosts is: I'm building the box to 
migrate some host to, and I'd like to test some stuff that should work 
from other machines before I switch DNS records to new IP. So, on these 
external machines I am trying to have hostname resolve into future IP 
just by adding it to /etc/hosts.

Thanks.
Valeri

-- 
++++++++++++++++++++++++++++++++++++++++
Valeri Galtsev
Sr System Administrator
Department of Astronomy and Astrophysics
Kavli Institute for Cosmological Physics
University of Chicago
Phone: 773-702-4247
++++++++++++++++++++++++++++++++++++++++



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5cbb1cc0-8e3f-2736-755e-d182abfd90e6>