Velvet Star Monitor

Standout celebrity highlights with iconic style.

news

What does the dns-search option mean in /etc/network/interfaces?

Writer Emily Wong

Can anybody explain to me about the dns-search directive in /etc/network/interfaces file:

iface eth0 inet static address 192.168.3.3 netmask 255.255.255.0 gateway 192.168.3.1 dns-search example.com dns-nameservers 192.168.3.45 192.168.8.10

Is it mandatory? And how can I configure it?

1

2 Answers

dns-search determines which domain is appended for dns lookups.

Normally you will specify here the same domain as returned by hostname -f.

For detailed information see the following quote from man resolv.conf:

search Search list for host-name lookup. The search list is normally determined from the local domain name; by default, it contains only the local domain name. This may be changed by listing the desired domain search path following the search keyword with spaces or tabs separating the names. Resolver queries having fewer than ndots dots (default is 1) in them will be attempted using each component of the search path in turn until a match is found. For environments with multiple subdomains please read options ndots:n below to avoid man-in-the-middle attacks and unnecessary traffic for the root-dns-servers. Note that this process may be slow and will generate a lot of network traffic if the servers for the listed domains are not local, and that queries will time out if no server is available for one of the domains. The search list is currently limited to six domains with a total of 256 characters.
3

I also found this in the README.gz located in /usr/share/doc/resolvconf on Ubuntu 14.04. It provides a bit more clarity.

Beware of the resolv.conf file being managed by the service resolvconf.

dns-search appears to be a necessary line in the stanza of a logical interface.

 3.4 ifupdown * Remove any "up" or "down" commands from /etc/network/interfaces that futz with /etc/resolv.conf and remove any scripts from /etc/network/if-*.d/ that futz with /etc/resolv.conf. * For each inet static logical interface through which a nameserver is accessible, add lines like the following to /etc/network/interfaces . dns-nameservers 11.22.33.44 55.66.77.88 dns-search foo.org bar.com Other recognized option words are 'dns-domain' and 'dns-sortlist'. These option names correspond to the option names used in the resolv.conf file with one exception: whereas one lists several nameserver addresses in /etc/resolv.conf on several "nameserver" lines, here one should list them all on a single "dns-nameservers" line. See resolv.conf(5) for more information. The lines entered in /etc/network/interfaces will be added to the resolver configuration file (without the "dns-" prefix, of course) when a physical interface is brought up as that logical interface. Note that the resolver configuration is updated AFTER all the "up" commands have been run; therefore "up" commands cannot make use of nameservers listed on "dns-nameservers" lines in the same logical interface stanza. Changing this will require modifying ifupdown so that it talks to resolvconf; currently resolvconf hooks into ifupdown using the script /etc/network/if-up.d/000resolvconf. Note too that scripts in /etc/network/if-up.d/ CAN make use of the added nameservers because those scripts run after 000resolvconf.

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy