1

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?

Brian
  • 796
  • 1
  • 6
  • 15

2 Answers2

2

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

gelraen
  • 2,341
  • 20
  • 19
  • Something along those lines seems appropriate but this seems like a fundamentally very weird way to go about things. – Phil Hollenback Jan 17 '11 at 17:53
  • Other way that I can see - patch or rewrite dhclient itself :) Using dhclient-script is a bit easier. – gelraen Jan 17 '11 at 18:04
  • I'm thinking if the tools don't already exist to get two dhclients to work together, then it's probably easier to just statically assign both interfaces. – Brian Jan 18 '11 at 15:09
0

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 and append but since that doesn't do what you want you're pretty much in a not resolvable scenario.

lynxman
  • 9,397
  • 3
  • 25
  • 28