Hi all users and developers

I simply noticed what I would call a weird behaviour on my 32 bit 4.9
GENERIC#671 box's dhclient, which I hope is not the expected behavior.
While reading RFC2131, I didnt find any sentence stating or implying
that is the desired behavior, as in a "server MUST...".

Say I run a local instance of named on my machine. I dont want dhcp to
overwrite my resolv.conf, so I add the classical prepend
dns-name-servers to my dhclient.conf.

I capture the traffic while asking for an IP address (no prior leases)
and I can see how DHCP packets do not request DNS servers. However,
which I am afraid happens more often than not, my crappy Comtrend
domestic router ignores the request and simply decides to always
answer including my ISPs DNS servers. I could check this with
Wireshark also. The result is resolv.conf has 3 nameserver entries,
instead of the only one I want to prepend.

I also tried not prepending my localhost named entry, just in case
that would trigger something weird in the code and eventually
nameservers got appended. No luck.

dhclient.conf(5) states the following:

"The protocol also allows the client to reject offers
     from servers if they don't contain information the client needs, or if
     the information provided is not satisfactory."

So, shouldnt dhclients just keep track of what they requested and just
accept that specific set of properties, instead of all it was sent by
the router? I am not talking about whether RFCs or the implementation
is correct or not. I am no authority of course. It simply seems
reasonable to me to implement it as I just mentioned. I understand
clients can ask for parameters that would lead to an invalid network
configurations. Still, Unix doesnt let you shoot yourself in the foot
for a good reason? Am I missing the obvious?

Any comment would be highly appreciated.

Thanks for your time and have a nice day

Reply via email to