I have a server with two interfaces connected to two separate networks, using DHCP for both. When dhclient is writing /etc/resolv.conf
, I would like it to append settings that aren't already there. For instance, if I receive from one DHCP server:
nameserver 10.0.0.1
search one.mydomain.com
and from another:
nameserver 10.1.1.254
search two.mydomain.com
Then resolv.conf should look like this:
search one.mydomain.com two.mydomain.com
nameserver 10.0.0.1
nameserver 10.1.1.254
At the moment, it seems the last dhclient overwrites whatever was there. I know I can preconfigure settings in dhclient.conf using supercede
or append
, but then I have to hard-code the values. I've scoured the man page for dhclient, but it seems like dhclient prefers to work alone (i.e. not in conjunction with any other dhclients)...or am I missing something?
It seems, the most apropriate way is to use custom dhclient-script for each interface and write DNS parameters in separate files (i.e. /etc/resolv.d/eth[01]) and then call script that merges all these files in global /etc/resolv/conf
As far as I know dhclient doesn't support this since it's not smart enough to merge configs and it's something that most people don't make use of.
Your only option is to use
supercede
andappend
but since that doesn't do what you want you're pretty much in a not resolvable scenario.