name resolution puzzle

Valeri Galtsev galtsev at
Fri Aug 3 21:41:50 UTC 2018

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

$ host has address

$ nslookup



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.


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

More information about the freebsd-questions mailing list