Laine, Daniel,
On Mon, 2017-02-13 at 13:34 +0100, Martin Wilck wrote:
Laine, Daniel,
On Thu, 2017-01-05 at 16:32 +0100, Martin Wilck wrote:
> On Sun, 2016-12-18 at 20:37 -0500, Laine Stump wrote:
> > >
> >
> > On 12/16/2016 11:58 AM, Martin Wilck wrote:
> > > "Static" DHCP networks are those where no dynamic DHCP range is
> > > defined, only a list of host entries is used to serve permanent
> > > IP addresses. On such networks, we don't want dnsmasq to reply
> > > to other requests than those statically defined. But
> > > "dhcp-authoritative" will cause dnsmasq to do just that.
> > > Therefore we can't use "dhcp-authoritative" for static
> > > networks.
> >
> > Not surprising that this simple change would have unexpected
> > consequences - that seems to be a basic law of the universe :-)
> >
> > ACK to this, but it has me wondering 1) what is the range for
> > which
> > it
> > returns a positive response? Is it for anything within the IP
> > address/netmask of the interface it's listening on? Or something
> > larger
> > than that? (Does it just blindly ACK any request it gets?) and 2)
> > Do
> > we
> > know for certain that the same thing doesn't happen when there is
> > also a
> > dhcp range defined?
> >
> > I'll wait for an answer to these before I push.
> >
>
> Here is a summary of how dnsmasq behaves:
>
> A) without "dhcp-authoritative", it only responds to DHCPREQUEST
> messages after a preceding DHCPDISCOVER/DHCPOFFER, or if a non-
> expired
> lease for the requesting MAC address is found. This holds also for
> clients with static host entries.
>
> B) with "dhcp-authoritative", dnsmasq always replies to
> DHCPREQUEST
> messages. It will send DHCPNAK if the lease is currently taken by a
> different MAC address (either via a static entry or via a non-
> expired
> lease), and DHCPACK otherwise.
>
> Independent of dhcp-authoritative, dnsmasq responds to DHCPDISCOVER
> if
> and only if it has addresses to hand out, thus either the MAC
> address
> of the client matches a static entry or there are free addresses in
> the
> dynamic pool. I can see no difference between a "static"
> configuration
> and a configuration with zero-length or exhausted dynamic pool.
>
> In case A), every attempt to re-obtain a previous IP address is
> delayed
> because the client needs to wait for several DHCPREQUEST messages
> to
> time out before it sends a new DHCPDISCOVER. In case B) it will
> receive
> either ACK or NAK immediately. This seems to be an advantage of
> "dhcp-
> authoritative".
>
> So the answer to 1)/2) above is "positive response only in the
> defined
> dynamic dhcp range". If there's no dynamic range, no positive
> responses
> will be sent to unkown clients. *But* in authoritative mode it will
> send DHCPNAKs, which may confuse clients. If there's another DHCP
> server on the virtual network, properly configured (no overlap
> between
> dynamic ranges), and the client sends a DHCPREQUEST, it may get an
> DHCPNAK from the libvirt dnsmasq and DHCPACK from the other DHCP
> server. What then happens is probably dependent on timing (which
> response is received first). RFC2131 is not clear about this
> scenario,
> AFAICS.
>
> Sooo, if customers run DHCP servers in VMs concurrently with the
> libvirt DHCP server, problems may arise with "dhcp-authoritative".
> My
> "don't use dhcp-authoritative on static networks" patch fixes this
> for
> cases where the libvirt network is "static", but problems may
> remain
> for cases with non-overlapping dynamic DHCP ranges. It's not an
> easy
> question whether or not this outweighs the benefits of using "dhcp-
> authoritative". Of course I'd hate to have my previous patch
> introducing "dhcp-authoritative" reverted :-)
>
> Maybe we need yet another config option for the network XML. I'm
> unsure
> whether this should be an attribute of the "<network>, <ip>, or
> <dhcp>
> element, or something else. There is a relationship to the
> "localOnly"
> attribute of "<domain>", but I think the two should still be
> independent settings. Anyway, I'll wait what you're saying.
have you made up your mind about this?
may I ask again how to proceed?
Regards,
Martin
--
Dr. Martin Wilck <mwilck(a)suse.com>, Tel. +49 (0)911 74053 2107
SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Graham Norton
HRB 21284 (AG Nürnberg)