No domain defined in /etc/resolv.conf

I see more and more servers that have no domain defined in the /etc/resolv.conf file.
Only a search entry.
In what cases is this setup used ?
Are there any cases where it must not be used ?

nameserver xxx.xxx.xxx.xxx
nameserver yyy.yyy.yyy.yyy
nameserver zzz.zzz.zzz.zzz

search domain1 domain2 domain3 ...

Answers:

Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.

Method 1

When you specify a domain it becomes the first search domain. This search feature is the main use of setting the domain so you can get away with only defining a search entry, most of the time.

Also the domain can be automatically determined from the host name of the machine, if the host name contains a . the suffix will become the domain.

The main difference for having a resolv.conf without a domain would be local processes trying to determine a fully qualified domain name (FQDN). SMTP servers come to mind initially as something that like to know the local FQDN and can use local host/domain config to work it out. As time goes on the local host name and domain are relied on less and less as it’s becoming meaningless to the real world service a machine actually represents due to things like NAT, virtual hosting and load balancers. This means most software now provides alternative configuration options for domain names instead of solely trying to determine them from the local host name.

man resolv.conf

domain Local domain name.
Most queries for names within this domain
can use short names relative to the local domain. If no domain entry
is present, the domain is determined from the local hostname returned
by gethostname(2); the domain part is taken to be everything after the
first ‘.’. Finally, if the hostname does not contain a domain part,
the root domain is assumed.

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.


All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments