Hi all,

It's been a while since I originally posted about this, and I've done a lot of experimenting without landing on a working setup.

I'm trying to get a very simple test case working, where I have a number of vnet interfaces, all configured with the link-local address 169.254.0.1/16, and have dnsmasq allocate the leases out of a different range (in this case, I'm using a portion of the documentation prefix, 203.0.113.0/29).  Here's my configuration:

pid-file=/var/lib/dnsmasq-vnet/dnsmasq-vnet.pid
bind-dynamic
interface=vnet*
log-dhcp
no-hosts
dhcp-range=203.0.113.0, 255.255.255.248, 1d
dhcp-option=option:router,169.254.0.1
shared-network=169.254.0.1,203.0.113.0

As far as I can tell, this is compliant with the directions given in the manual section for shared-network.  However, it doesn't work (no DHCP offers are sent), and it gives the following logs:

Jul 10 15:37:02 server dnsmasq[314647]: started, version 2.84rc2 cachesize 150 Jul 10 15:37:02 server dnsmasq[314647]: compile time options: IPv6 GNU-getopt DBus no-UBus i18n IDN2 DHCP DHCPv6 no-Lua TFTP conntrack ipset auth cryptohash DNSSEC loop-detect inotify dumpfile Jul 10 15:37:02 server dnsmasq[314647]: warning: interface vnet* does not currently exist Jul 10 15:37:02 server dnsmasq-dhcp[314647]: DHCP, IP range 203.0.113.0 -- 255.255.255.248, lease time 1d
Jul 10 15:37:02 server dnsmasq[314647]: reading /etc/resolv.conf
Jul 10 15:37:02 server dnsmasq[314647]: using nameserver 127.0.0.53#53
Jul 10 15:37:02 server dnsmasq[314647]: cleared cache
Jul 10 15:37:08 server dnsmasq[314647]: listening on vnet0(#65): 169.254.0.1 port 53 Jul 10 15:37:09 server dnsmasq[314647]: listening on vnet0(#65): fe80::fc54:ff:fe64:2291%vnet0 port 53 Jul 10 15:37:38 server dnsmasq-dhcp[314647]: no address range available for DHCP request via vnet0 Jul 10 15:38:11 server dnsmasq-dhcp[314647]: message repeated 5 times: [ no address range available for DHCP request via vnet0] Jul 10 15:38:19 server dnsmasq[314647]: stopped listening on vnet0(#65): fe80::fc54:ff:fe64:2291 port 53 Jul 10 15:38:19 server dnsmasq[314647]: stopped listening on vnet0(#65): 169.254.0.1 port 53

The "listening on" and "stopped listening on" messages correspond to when the guest VM is started and stopped, when the vnet0 interface is created and destroyed.  There is a start script for the VM which automatically adds the required routes described in the manual section for shared-network.  (I'll likely move this to the dnsmasq dhcp-script once the configuration is working.)

If I add the additional line:

dhcp-range=169.254.0.0, 255.255.0.0, 1d

it behaves essentially the same, with the addition of the rather perplexing error message:

Jul 10 15:27:01 server dnsmasq-dhcp[313742]: DHCP range 169.254.0.0 -- 255.255.0.0 is not consistent with netmask 255.255.0.0

(If I'm reading the manual page correctly, there shouldn't be any need for the dhcp-range matching the interface on which the requests arrive, but I thought I'd test it just in case.)

What's needed to make shared-network work?

Thanks in advance,
Paul

On 22/9/20 6:51 pm, Paul Gear wrote:
On 22/9/20 4:22 pm, Nicolas Cavallari wrote:
On 21/09/2020 21:32, Paul Gear wrote:
Hi all,

I've been trying to solve the same problem described in this blog post:
https://blog.fhrnet.eu/2020/03/07/dhcp-server-on-a-32-subnet/

In a nutshell, the situation is a VM host which performs routing and
firewalling for all its guests, providing an isolated IPv4 /32 (and in
my case an IPv6 /64 or /128 as well) to each VM guest, and using
interface routes on the host to direct traffic to each guest, without
wasting IPv4 addresses on /31 or /30 point-to-point links.
...
This sounds like the use case for shared-network:

shared-network=virbr13,192.168.1.26

or

shared-network=172.16.0.1,192.168.1.26

Alternatively, i sent this patch a while ago to be able to ignore any
matching, but my use case is different. I can send an updated version if
people are interested.

http://lists.thekelleys.org.uk/pipermail/dnsmasq-discuss/2018q1/012070.html

Ah, perfect - thanks very much, Nicolas.

I was doing my testing using the OS-packaged dnsmasq on my laptop, which
was 2.79.  Looks like shared-network was added in 2.81.  I'll upgrade
and do some testing, but it looks from the description like this is
exactly what I'm looking for.

Much appreciated.

Regards,
Paul



_______________________________________________
Dnsmasq-discuss mailing list
Dnsmasq-discuss@lists.thekelleys.org.uk
http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss


_______________________________________________
Dnsmasq-discuss mailing list
Dnsmasq-discuss@lists.thekelleys.org.uk
https://lists.thekelleys.org.uk/cgi-bin/mailman/listinfo/dnsmasq-discuss

Reply via email to