Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 254048 - net-dns/dnrd doesn't bind to recently started interface without a delay
Summary: net-dns/dnrd doesn't bind to recently started interface without a delay
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Server (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Natanael Copa
URL: http://dnrd.sourceforge.net
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-01-07 10:32 UTC by James Le Cuirot
Modified: 2009-01-08 11:54 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description James Le Cuirot gentoo-dev 2009-01-07 10:32:02 UTC
I am trying to run dnrd (2.20.3) on all my interfaces but I find that if it starts just after net.br0 has started (and this is the case during boot) then it doesn't actually bind to that interface and I have to start it again. However, if I specifically ask it to bind to that interface (-a 192.168.1.200) then it works. It also works if I add "sleep 2" to the init script. I'm not sure whether this is really dnrd's fault. No other daemons seem to have this problem but I thought I'd post this here first anyway.
Comment 1 Natanael Copa 2009-01-08 07:50:40 UTC
(In reply to comment #0)
> I am trying to run dnrd (2.20.3) on all my interfaces but I find that if it
> starts just after net.br0 has started (and this is the case during boot) then
> it doesn't actually bind to that interface and I have to start it again.
> However, if I specifically ask it to bind to that interface (-a 192.168.1.200)
> then it works. It also works if I add "sleep 2" to the init script. I'm not
> sure whether this is really dnrd's fault. No other daemons seem to have this
> problem but I thought I'd post this here first anyway.

Could you please show the output of "netstat -nlp"?
Verify that dnrd binds to 0.0.0.0.

Thanks!
Comment 2 James Le Cuirot gentoo-dev 2009-01-08 11:49:32 UTC
Ah doing that made me realise what it is. I'm running dnsmasq on the same server but I've only been using it as a DHCP and PXE server. I hadn't configured the DNS settings so it hadn't occurred to me that it was also listening on port 53. I guess adding that delay allowed dnrd to always start after dnsmasq. Having said that, dnsmasq is only listening on eth1, not br0. dnrd shouldn't fail to bind to br0 just because eth1 is tied up on port 53. Maybe there is a bug here?
Comment 3 James Le Cuirot gentoo-dev 2009-01-08 11:54:40 UTC
Ah just figured that out. It's the bind-interfaces option in dnsmasq. Unless you enable that, it still binds to all interfaces but only accepts requests from the interface you've chosen. I've enabled that and now it leaves br0 free for dnrd to use. I added rc_before="dnrd" to /etc/conf.d/dnsmasq to ensure it starts before dnrd.