mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-11-03 20:01:16 +00:00
82fe58ff26
dnsmasq documentation says that the *IPv4* prefix/network address/broadcast address sent to dhcp clients will be automatically determined by dnsmasq by looking at the interface it's listening on, so the original libvirt code did not add a netmask to the dnsmasq commandline (or later, the dnsmasq conf file). For *IPv6* however, dnsmasq apparently cannot automatically determine the prefix (functionally the same as a netmask), and it must be explicitly provided in the conf file (as a part of the dhcp-range option). So many years after IPv4 DHCP support had been added, when IPv6 dhcp support was added the prefix was included at the end of the dhcp-range setting, but only for IPv6. A user had reported a bug on a host where one of the interfaces was a superset of the libvirt network where dhcp is needed (e.g., the host's ethernet is 10.0.0.20/8, and the libvirt network is 10.10.0.1/24). For some reason dnsmasq was supplying the netmask for the /8 network to clients requesting an address on the /24 interface. This seems like a bug in dnsmasq, but even if/when it gets fixed there, it looks like there is no harm in just always adding the netmask to all IPv4 dhcp-range options similar to how prefix is added to all IPv6 dhcp-range options. Signed-off-by: Laine Stump <laine@laine.org> Reviewed-by: John Ferlan <jferlan@redhat.com>
19 lines
595 B
Plaintext
19 lines
595 B
Plaintext
##WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE
|
|
##OVERWRITTEN AND LOST. Changes to this configuration should be made using:
|
|
## virsh net-edit private
|
|
## or other application using the libvirt API.
|
|
##
|
|
## dnsmasq conf file created by libvirt
|
|
strict-order
|
|
except-interface=lo
|
|
bind-interfaces
|
|
listen-address=192.168.152.1
|
|
dhcp-option=3
|
|
no-resolv
|
|
dhcp-range=192.168.152.2,192.168.152.254,255.255.255.0
|
|
dhcp-no-override
|
|
dhcp-authoritative
|
|
dhcp-lease-max=253
|
|
dhcp-hostsfile=/var/lib/libvirt/dnsmasq/private.hostsfile
|
|
addn-hosts=/var/lib/libvirt/dnsmasq/private.addnhosts
|