DNS on Linux
resolv.conf
Linux uses the configuration file /etc/resolv.conf to lookup names. The file is read sequentially (note: up to 3 nameservers) for each lookup. As such, changes are effective immediately.
A number of tools exist for debugging DNS on Linux:
drill
dig (from the bind project, sometimes bundled with dnsutils)
Programs that will overwrite resolv.conf
dchpcd will try to call resolvconf, or else overwrite /etc/resolv.conf. This latter behavior can be disabled by editing /etc/dhcpcd.conf:
nohook resolv.conf