[Dnsmasq-discuss] dhcp-range for DNS entries: how to gain A and AAAA for same host?

Geert Stappers stappers at stappers.nl
Mon Mar 15 22:38:43 UTC 2021


On Mon, Mar 15, 2021 at 08:35:44PM +0100, Steffen Nurpmeso:
> Geert Stappers wrote:
> > On Sun, Mar 14, 2021 at 01:39:18AM +0100, Steffen Nurpmeso
> > > For being more automatic and flexible with (many) VMs i changed
> > > from a static addn-hosts= to a dhcp-hostsfile= approach, which
> > > luckily can still serve as the sole DNS source for already
> > > assigned IPs for all already existing VMs (slowly to be migrated
> > > to DHCP-based addresses, if at all), which is great!
> > > (Of course, this time only when the VM is running, but this does
> > > not really matter here.)
> > > 
> > > However, i stumbled over a problem on Linux.  If i scp a file with
> > > the name of the VM it tooks a long time, and this is because ssh
> > > uses getaddrinfo, and the GNU C library resolver sends out queries
> > > for A and AAAA at the same time.  The A is delivered quickly by
> > > dnsmasq, but the AAAA one is forwarded (thus subject to fail, on
> > > dotless names).
> > 
> > That reminds on new dnsmasq feature of replying with NODATA
> > Visit https://lists.thekelleys.org.uk/pipermail/dnsmasq-discuss/2021q1/014779.html
> > to read more about it.
> 
> In a way, yes.  However my problem is more simple as it would
> vanish by going back to static hosts.txt assignment, this is where
> i am coming from.
> 
> > > So i wondered how to add IPv6 support for this config in order to
> > > let dnsmasq simply serve the AAAA in addition, anyway a goal, to
> > > finally relearn, and this time for good, about IPv6.  (I even
> > > "own" an unbelievable amount of them for a time.  Could be used
> > > for something.  Anyhow.)
> > > And this turned out to be impossible.  First i simply changed
> > > a line in the hosts.dnsmasq (this last of some trials)
> > > 
> > >   54:72:01:01:00:15,alp-2021,10.0.1.21,[::5472:101:15]
> > > 
> > > but that turned out not to serve, so, understandable that,
> > > i tried to add the IPv6 range to the dhcp-range= line of
> > > dnsmasq.conf, which was
> > > 
> > >   dhcp-range=10.0.0.1,10.3.255.253,255.252.0.0,24h
> > > 
> > > until then.  This seems not to work, so i added another
> > > 
> > >   #dhcp-range=3fb:1::5472:101:1,3fb:1::5472:104:FFFF,24h
> > > and
> > >   #dhcp-range=::1,constructor:vm,24h
> > > 
> > > at least the latter worked, but now we _only_ had IPv6 in the VM,
> > > and the IPv4 address was not assigned.
> > 
> > Not knowning how much iterations it went through,
> > but I hope that
> > 
> >    dhcp-range=10.0.0.1,10.3.255.253,255.252.0.0,24h
> >    dhcp-range=3fb:1::5472:101:1,3fb:1::5472:104:FFFF,24h
> > and
> >    dhcp-range=10.0.0.1,10.3.255.253,255.252.0.0,24h
> >    dhcp-range=::1,constructor:vm,24h
> > where tried.  Yes, two  dhcp-range lines in the same file.
> > One for IPv4 the other for IPv6.
> 
> Well yes multiple entries each time.  But it does not matter.
> 
>   Mar 15 20:04:02 kent dnsmasq-dhcp[27703]: 396513898 client provides name: alp-2021
>   Mar 15 20:04:02 kent dnsmasq-dhcp[27703]: 396513898 DHCPREQUEST(vm) 10.0.1.21 54:72:01:01:00:15
>   Mar 15 20:04:02 kent dnsmasq-dhcp[27703]: 396513898 tags: known, vm
>   Mar 15 20:04:02 kent dnsmasq-dhcp[27703]: 396513898 DHCPACK(vm) 10.0.1.21 54:72:01:01:00:15 alp-2021
      ...
>   Mar 15 20:04:02 kent dnsmasq-dhcp[27703]: 396513898 sent size:  8 option: 12 hostname  alp-2021

So only  DHCPv4, no sign of  DHCPv6


> ...
>   Mar 15 20:05:11 kent dnsmasq[27703]: 10 127.0.0.1/22091 query[A] alp-2021 from 127.0.0.1
>   Mar 15 20:05:11 kent dnsmasq[27703]: 10 127.0.0.1/22091 DHCP alp-2021 is 10.0.1.21

Yes


>   Mar 15 20:05:11 kent dnsmasq[27703]: 11 127.0.0.1/22091 query[AAAA] alp-2021 from 127.0.0.1
>   Mar 15 20:05:11 kent dnsmasq[27703]: 11 127.0.0.1/22091 forwarded alp-2021 to 10.5.0.2

That forward is justified.
Dnsmasq hasn't seen that alp-2021 is doing IPv6.


 
> > > In theory this would not be such an issue, but of course the
> > > origin of why i tried to change it was the DNS forwarding of the
> > > C library resolver, and now i wonder what to do.
> > > 
> > > Is this a misconfiguration, or is there another way to support
> > > IPv4 + IPv6 DHCP, but especially DNS service for both address
> > > types for the same machine?
> > 
> > a misconfiguration could be at client side.
> > DHCP client not telling it's hostname to the DHCP server
> > during the request.
>  ...
> > Please report back
> 
> I now also tried to use parts of my real address range.  (I own
> a full set of 64-bits of addresses, that is grazy.)  I no nothing
> of IPv6, i wrote an InetAddress parser that hm was actually pretty
> good (less devices suffixes) and configurable in 2003 i think, but
> that was basically it, and almost nothing ever since.  But the
> address range i now used is globally usable, too.
> 
> I mean, it is not really a problem, i can easily generate IPv6
> entries from the hosts.dnsmasq, but the fun would now be to become
> completely automatic, only storing the MAC and a name in that
> file, or even generating as many as desired on the fly,
> dynamically, and still being able to spin them up with dnsmasq,
> after having reread the updated file, serving them properly via
> DNS for IPv4 and/or (later maybe even tending for or) IPv6.
> 
> > P.S.
> > Original poster might
> > deem https://lists.thekelleys.org.uk/pipermail/dnsmasq-discuss/2021q1/014810.html
> > usefull.
> 
> For me it would be nice that if dnsmasq serves only IPv4 via DHCP
> even though the hosts.dnsmasq has according entries for IPv4 and
> IPv6, it would not forward the IPv6 query (and vice versa).
> Forward looking it would be even better if there would be
> a configuration option so that i would only create the MAC (and
> a name), and it would still serve what is requested/taken but
> still serves both entries via DNS.
> 
> Other than that it seems dnsmasq cannot do this for now?

OP should come back with an URL of a libpcap file
that shows that "alp-2021" is telling "dnsmasq"
that it wants to talk IPv6.


> It is great nonetheless :)

;-)

 

Groeten
Geert Stappers

P.S.   I'm subscribed to this mailinglist.
-- 
Silence is hard to parse



More information about the Dnsmasq-discuss mailing list