[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: pdnsd/diald problem



On Wed, Aug 07, 2002 at 09:00:37PM +0200, if.frijns@wanadoo.nl wrote:
> Hi all,
> 
> Following your advices for setting up a mailserver one of the
> replies was to set up a dns-server first, pdnsd to be more specific.
> 
> Trying so it won't dial in correctly.
> 
> I run pppd on the dial-up server for the connection to my ISP. Works fine.
> I run daild on this server because I want to bring down my connection after
> 10 mins. idle. (I'm served a dynamic IP-address). When my LAN has an internet-
> question it has to be brought back-up again. This works OK too.
> 
> However: pdnsd gives me some trouble:
> 
> Configuration pdnsd:
> resolv.conf:
> 127.0.0.1
> 
> pdnsd.conf:
> ....
> global {
> ...
> server_ip="127.0.0.1"

I dont think this is a good idea... is this machine a gateway for other
downstream clients? If so, the downstream clients will want to use it.

> }
> server {
> ip="xxx.xx.xx.xx"; #first ISP DNS-server
> timeout=30;
> interval=onquery;
> uptest=diald;
> device="ttyS0";
> interface="ppp0";
> purge_cache=off;
> lean_query=on;
> proxy_only=on;
> }
> ______
> 
> diald -f /var/cache/options.provider servers internet-requests.
> 
> The problem is that, when I put forward a internet-request from one
> of the other servers on the LAN, the dial-up server makes the connection,
> but the other server won't see it.
> if you drop the request and ask it again (while the connection is still there)
> the request is resolved.
> But why it doen't work the first time.

I'm pretty sure you currently have your downstream servers using upstream
nameservers. I think the reason the first request brings up the link but
never results in a resolved name is DNS uses UDP. diald probably drops the
first packet used to bring the link up, and relies on the the protocol error
handling to re-transmitt it. I think the UDP DNS query is not recovering
well. Either that or the request is re-using some bogus arp or whatever info
that diald reports before bringing up the link. Any sort of dial-on-demand
setup with dynamic ips has the problem of not knowing what IP to send to
before bringing up the link. I believe ipppd uses some kernel hack to get
around this.

However, all this is not important. all you need to do is make your
downstream servers use the machine running pdnsd as their nameserver.

Because you have configured pdnsd to only bind to 127.0.0.1, none of the
downstream clients can use it as their nameserver. What you want to do is
remove the specific binding to 127.0.0.1, and make the downstream servers
use the machine running pdnsd as their nameserver. The bonus of this is if
pdnsd already has the answer in its cache, then diald won't even need to
make a connection. If you are also running a squid proxy for example, you
might find that whole browsing sessions for relatively static sites (The LDP
comes to mind) can be performed without bringing up the link at all.

-- 
----------------------------------------------------------------------
ABO: finger abo@minkirri.apana.org.au for more info, including pgp key
----------------------------------------------------------------------



Reply to: