On 23/09/2022 13:20, Zeta Cloud wrote:
Hi.

I'm running dnsmasq as the local DHCP server in a container/VM/jail intended to serve as a router for multiple VMs, and the router VM is set up with multiple vnics, each on a different subnet.

vnic1: Subnet A -> 192.168.11.0 (external)
vnic2: Subnet B -> 192.168.21.0 (internal)
vnic3: Subnet C -> 192.168.31.0 (storage)

The problem I'm having is that as soon as a VM on subnet A requests a DHCP address, dnsmasq will not respond to any future requests from VMs on subnet B or subnet C. If I restart the dnsmasq service, and if the first DHCP request is from subnet B, it won't respond to queries from subnet A/C. Etc.

Is this peculiar to the particular version of dnsmasq-2.86? I've tried everything, with and without option bind-interfaces, with and without all interfaces explicitly listed, exclude-interfaces, etc.

Any help on this would be greatly appreciated. I've already spent 2 days trying to figure out what was going on. I'm trying to set up containers/VMs. The problem I face is that once I set up a VM on one subnet, VM creation fails for all other subnets. A restart of dnsmasq doesn't help, because then dnsmasq responds to the first and subsequent DHCP requests from a subnet, but stops responding to VMs on other subnets.

Thanks very much.

Sam

My dnsmasq.conf included below for reference.
------------------------------------------
dhcp-authoritative
dhcp-lease-max=1000
dhcp-leasefile=/var/cache/dnsmasq/dnsmasq.leases
dhcp-rapid-commit
log-facility=/var/log/dnsmasq/dnsmasq.log
log-queries
log-dhcp

# NAT Interface
except-interface=net0
no-dhcp-interface=net0

domain=zetac.lan

# Subnet A
interface=net1
bind-interfaces
listen-address=192.168.11.1
dhcp-range=set:extl,192.168.11.101,192.168.11.200,12h
dhcp-option=tag:extl,option:dns-server,192.168.11.1
dhcp-option=option:netmask,255.255.255.0
dhcp-option=option:domain-name,zetac.lan

# Subnet B
interface=net2
bind-interfaces
listen-address=192.168.21.1
dhcp-range=set:intl,192.168.21.101,192.168.21.200,12h
dhcp-option=tag:intl,option:dns-server,192.168.21.1
dhcp-option=option:netmask,255.255.255.0
dhcp-option=option:domain-name,zetac.lan

# Subnet B
interface=net3
bind-interfaces
listen-address=192.168.31.1
dhcp-range=set:intl,192.168.31.101,192.168.31.200,12h
dhcp-option=tag:intl,option:dns-server,192.168.31.1
dhcp-option=option:netmask,255.255.255.0
dhcp-option=option:domain-name,zetac.lan

bogus-priv
filterwin2k
no-hosts
no-resolv
no-poll
expand-hosts
domain-needed
dns-forward-max=150
neg-ttl=3600


What netmasks are set _in_the_kernel_ for net1, net2 and net3? The fact that you've set the netmasks as dhcp-options makes me worry that they may not be set correctly, as if they are you wouldn't need the dhcp-options, the correct value would be sent automatically.

You have log-dhcp set. Posting the resulting logs here might be useful.

Simon.


_______________________________________________
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