On Tue, 29 Nov 2005, Ian D. Leroux wrote:
Greetings,
My machine's ip address is assigned by DHCP, and whenever it changes
ntpd stops functioning and must be restarted. I gather this behavior
will be changed in some future ntpd version, but in the meantime I had
added a line to my /etc/dhclient-exit-hooks to restart ntpd every time a
new address was obtained:
# [...] setup variables for ipcheck
if [ -n "$new_ip_address" ]; then
# [...] run ipcheck to update my dyndns
/etc/rc.d/ntpd restart
fi
This seemed work fine on 5.4, but on 6.0 it gives problems at boot.
Specifically, I get repeated "bad file descriptor" errors after my
network address is assigned, and running ps after the boot completes
shows that there are two ntpd processes running. Killing one of them
stops the file descriptor errors. My interpretation of this (for what
it's worth) is that an ntpd process gets started before dhclient gets a
chance to configure the address (perhaps when the interface initially
comes up) and then when the address is assigned the /etc/rc.d/ntpd
restart starts a second process, but somehow fails to stop the first
one. For now I've removed that line from dhclient-exit-hooks, which
avoids the problems at boot time.
I have the feeling that I'm not doing the Right Thing here. So is there
an accepted (or at least known-good) way of automatically managing the
restart of ntpd on address change? Have I found a bug in rc.d worth
investigating? Or should I just stick to manual restarts until ntpd
stops needing them?
Thanks,
Ian D. Leroux
I needed to solve that same problem and came up with the same solution you
did. I saw it work under 5.4 several times when my ISP did maintenance on
my upstream router. I've kept the same setup under 6 and haven't noticed
any problems yet. I've been fortunate enough to keep my IP address leased
since my upgrade to 6, so I haven't truly tested this under 6. Eventually
my ISP will do something to make me lose my lease, and if I have any
problems then, I'll post.
I run pf on this system too. If I don't reset the firewall when I get a
new IP address, I lose connectivity. That makes ntpd very upset. Here's
what I'm doing in dhclient-exit-hooks to solve both problems:
if [ "$old_ip_address" != "$new_ip_address" ]; then
case "$new_ip_address" in
10.*) ;;
172.1[6-9].* | 172.2[0-9].* | 172.3[0-1].*) ;;
192.168.*) ;;
*)
logger -t dhclient IP address changed from $old_ip_address
to $new_ip_address resetting pf
pfctl -Fa -f /etc/pf.conf
logger -t restarting ntpd
/etc/rc.d/ntpd restart
;;
esac
fi
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "[EMAIL PROTECTED]"