[Resolvconf-devel] using pdnsd with resolvconf

Stuart Prescott debian at nanonanonano.net
Fri Mar 24 16:18:10 UTC 2006


tags 339418 +patch
thanks, mate

Hi!

I had been happily using ifplugd+guessnet+resolvconf to manage my connection 
for the past two years and I stuck with Sarge when it went stable. I am also 
using pdnsd as a caching nameserver to speed things up a little. It's been a 
very nice setup that all just worked (TM) and I've been really happy with it.

But the other day I held my breath and upgraded to etch and I have since been 
having no end of trouble with this combination, particularly with dns lookups 
failing all the time. While I expected a few thing to get broken with such a 
big upgrade, I didn't expect this would be one of them, and it due to a big 
change in the behaviour of resolvconf.

A quick look through /etc/resolv.conf showed me that my nameservers were never 
listed in there (127.0.0.1 was in there for pdnsd to work) 
but /e/n/interfaces static dns-nameserver entries and dhcp-derived nameserver 
entries were never present.

After much frustration and working my way manually through the execution 
of /etc/resolvconf/update.d/libc I have tracked it down to the "ending at 
127.*" change. 

This is already listed as bug #339418, but I see that it's marked "wontfix". 
But it makes the pdnsd + resolvconf useless for people who are switching 
networks (which after all is the entire point of resolvconf!) ... you might 
as well mark them as conflicting.

My understanding is that pdnsd gets its config information about which 
nameservers to use from /etc/resolv.conf. So pdnsd will *never* work with 
resolvconf as 
* 127.0.0.1 (from lo.pdnsd) *must* be first in the file (otherwise pdnsd would 
never be used), but 
* pdnsd will never see any configuration information because there are no 
servers after that configured

In bug #339418 you suggest that the real nameserver could be added 
in /etc/resolveconf/resolve.conf.d/tail so that it always shows through. 
Unfortunately, this is only a workaround for people who are always sitting on 
the one network... (in which case why bother using resolvconf at all?). In my 
case, my laptop needs to be able to pick up different dns servers depending 
on whether it is at work, at home, an internet cafe, a hotel etc etc.... and 
this is surely not an unusual use and this is exactly what resolvconf is for. 

So... I could work around this in a number of ways...

* I can just give up on pdnsd (or any other caching nameserver, I guess) 
* I can hack around with interface-order so that lo.pdnsd is *never* picked up 
and put 127.0.0.1 in the head file (it can't be in base as you check that 
* revert your 127.* change to /etc/resolvconf/update.d/libc myself 

None of these is satisfactory and the second two mean messing around with 
distributed files and hoping that you don't make too many releases so that I 
can do it each time :(

So.... can you please please please reconsider that #339418 is "wontfix"? Or 
could you at the very least make stopping at a 127.* address  a config option 
from /etc/default/resolvconf? (something like the attached patch, perhaps... 
that's what I'm now running with)

thanks in advance for your assistance

cheers
Stuart


-------------- next part --------------
A non-text attachment was scrubbed...
Name: libc.patch
Type: text/x-diff
Size: 551 bytes
Desc: not available
Url : http://lists.alioth.debian.org/pipermail/resolvconf-devel/attachments/20060324/9ed3ce03/libc-0001.bin


More information about the Resolvconf-devel mailing list