Date: Tue, 28 Aug 2012 21:45:38 +0300 From: Theodor-Iulian Ciobanu <thciobanu@nth.ro> To: Bernard Higonnet <bthigonnet@gmail.com> Cc: freebsd-net@freebsd.org Subject: Re: Seems DHCP request is ignoring default route info FreeBSD 9.0 - more info... Message-ID: <20120828214538.00006729@unknown> In-Reply-To: <503CE66B.8000702@gmail.com> References: <503B9298.5060602@gmail.com> <CAFnjQbv9DL6BPRnB7vBQpXPx75LwgUB9hUedQ8_rNTP0Yf6UKA@mail.gmail.com> <503CE66B.8000702@gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 28 Aug 2012 17:40:27 +0200 Bernard Higonnet <bthigonnet@gmail.com> wrote: > On 28/08/2012 00:37, David Cornejo wrote: > > > > > > On Mon, Aug 27, 2012 at 5:30 AM, Bernard Higonnet > > <bthigonnet@gmail.com <mailto:bthigonnet@gmail.com>> wrote: > > > > Hello, > > > > I have two machines running 9.0 and which use DHCP. The DHCP > > server is on a third machine using dnsmasq, also under 9.0, and > > provides an explicit default router address. > > > > dnsmasq is sending the right stuff, as evidenced by the dnsmasq > > log on the one hand, and by the fact that a Windows7 machine and a > > Windows XP machine are using the same DHCP server and those > > machines get the proper default gateway info on the other hand. > > > > Here is output from dnsmasq.log > > > > Aug 27 16:32:19 dnsmasq-dhcp[922]: 4078691060 <tel:4078691060> > > sent size: 4 option: 3 router 192.168.4.1 > > > > What happens on the two FreeBSD machines is that I end up with > > no default gateway at all! > > > > When the same DHCP server used to provide its default gateway > > (i.e. the machine dnsmasq is running on) everything was OK. > > > > TIA > > Bernard Higonnet > > _________________________________________________ > > freebsd-net@freebsd.org <mailto:freebsd-net@freebsd.org> > > mailing list http://lists.freebsd.org/__mailman/listinfo/freebsd-net > > <http://lists.freebsd.org/mailman/listinfo/freebsd-net> > > To unsubscribe, send any mail to > > "freebsd-net-unsubscribe@__freebsd.org > > <mailto:freebsd-net-unsubscribe@freebsd.org>" > > > > > > Can you supply the output of "netstat -nr" from the machine that is > > missing a default route please? > > I hope I shall not be flamed too severely, but I did not mention > something in my original email because I thought it not pertinent, > but it turns out to have been... > > I have instructed dnsmasq to > > a) specify a non-standard default gateway and > b) add a classless-static-route This actually changes everything. :) The RFC requires DHCP clients to ignore the default route option when a classless route option exists.[1] So when using the latter, you actually have to specify at least two routes - the one you need to notify the clients of and 0.0.0.0/0, the default. Linux (or at least the distro I worked with) doesn't respect this, as it accepts the default gateway option even when classless routes are sent and some versions of Windows use a completely different option for classless routes than the standard (249 instead of 121 IIRC). FreeBSD > Each of these instructions are handled correctly by the FreeBSD > machines making a DHCP request, but not both at the same time. If > dnsmasq sends both, only the classless-static-route will be correctly > handled and there will be no default gateway at all. > > If dnsmasq does not provide the classless-static-route, the desired > default gateway works fine > > ?? > > Bernard Higonnet -- Theo [1] From page 5 of http://tools.ietf.org/html/rfc3442 If the DHCP server returns both a Classless Static Routes option and a Router option, the DHCP client MUST ignore the Router option.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120828214538.00006729>