Seems DHCP request is ignoring default route info FreeBSD 9.0 -
more info...
Theodor-Iulian Ciobanu
thciobanu at nth.ro
Tue Aug 28 18:46:14 UTC 2012
On Tue, 28 Aug 2012 17:40:27 +0200
Bernard Higonnet <bthigonnet at gmail.com> wrote:
> On 28/08/2012 00:37, David Cornejo wrote:
> >
> >
> > On Mon, Aug 27, 2012 at 5:30 AM, Bernard Higonnet
> > <bthigonnet at gmail.com <mailto:bthigonnet at 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 at freebsd.org <mailto:freebsd-net at 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 at __freebsd.org
> > <mailto:freebsd-net-unsubscribe at 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.
More information about the freebsd-net
mailing list