ntpd couldn't resolve host name on system boot

Paul Schenkeveld freebsd at psconsult.nl
Tue Oct 25 13:42:06 UTC 2011


On Tue, Oct 25, 2011 at 05:51:08AM -0700, Jeremy Chadwick wrote:
> On Tue, Oct 25, 2011 at 11:20:12AM +0200, Paul Schenkeveld wrote:
> > On Mon, Oct 24, 2011 at 06:03:27PM -0700, Jeremy Chadwick wrote:
> > > The one shortcoming of netwait is that it doesn't support waiting for
> > > multiple NICs.  Some people have dual-homed environments where they
> > > really would like to wait for both, say, em0 and em1, to come up and be
> > > functional before any more scripts are started.  I left that as a
> > > project for someone else, but it's something that should be added given
> > > its importance.
> > 
> > How would you like to see multiple interfaces implemented:
> > 
> >   - All interfaces must be up at the same time
> >   - Probe interfaces one by one, proceed to the next when an interface
> >     up or bail out when any interface stays down until the loop times
> >     out
> 
> 1) Each interface should be checked in the order specified.
> 2) Each ping probe should be done using that interface (ping -I).

>From ping(8):

    -I iface
	Source multicast packets with the given interface address.  This
	flag only applies if the ping destination is a multicast address.

I believe that for unicast the interface used is determined by looking
up the destination address in the routing table (unless overridden by a
packet filter that changes the next hop).  Another way to influence the
next hop selection and the outgoing interface is using setfib(1) but
apart from rc.d/jail I see no fib support in rc.conf at all.

> 3) In the case of success, the next interface should be checked (e.g. go
> back to step #1 but for the next interface defined.
> 4) In the case of failure, output a message on-screen (similar to what
> we already do) and continue on with the next interface check.
> 
> So I imagine the variables for this would need to become something like:
> 
> netwait_em0_ip="4.2.2.1 4.2.2.2"
> netwait_em1_ip="192.168.1.1 192.168.1.2"
> 
> You get the idea -- think ifconfig_* in style.

This also suggests that ping can be forced to send out packets thru a
certain interface which I think is misleading.

Where I see the testing of multiple interfaces becoming important is in
the case where interfaces are bonded using lagg(4).  I usually have RTP
disabled on server ports but started to see problems with ntpd and other
services when I started to use LACP trunks.

Paul Schenkeveld


More information about the freebsd-stable mailing list