On 22/09/2023 21:48, Graham Leggett via Dnsmasq-discuss wrote:
On 22 Sep 2023, at 20:27, Geert Stappers <stapp...@stappers.nl> wrote:

I have a dnsmasq config on a development machine that looks like this:

dhcp-range=fd33:xxxx:xxxx:1::, ra-only, 24h

The intention is for this development machine to announce to anyone
directly connected that the development machine exists, and can be
connected to. No routing, no DNS, only “I exist”.

This almost works. On MacOS I’m getting an IP address allocated on
the expected interface, but almost immediately the address is declared
“deprecated”.

Why?

I was today-years-old when I learned there was such a thing as a deprecated IPv6 address. I am as confused as you are :)

This causes MacOS to ignore the direct connection and to route packets
to the router, which in turn has no idea what to do with the packets
and (correctly) drops them.

How do I get dnsmasq to tell anyone who cares that the IPv6 addresses
are valid and not deprecated?

I would start with only two computers: One being dnsmasq doing radvd,
the other one being told "you exist".

I am somewhat limited in the hardware I have available to me.

The development machine is currently running in virtualbox. Virtualbox local only networks appear to ignore IPv6 on the host, there is talk of setting /etc/vbox/networks.conf but this does not appear to work. Ignoring this side-quest for now.

Virtualbox bridging the development machine directly to the network works - but the IPv6 addresses are deprecated soon after being assigned, and so stop working after a short while.

The end goal is ease of use - deploy the development machine and off you go, but this seems to be weirdly difficult. Does anyone know what would trigger a deprecated IPv6 address to be created, and how to make it stop?


An IPv6 address gets deprecated if the subnet it's on gets advertised with a preferred lifetime of zero. I quick look through the dnsmasq shows ways that this can happen when dnsmasq is doing the advertising. The first is setting the lifetime in dhcp-range to "deprecated", which isn't the case here, unless you've got other configuration hiding. The second is if the relevant address on the advertising machine is deprecated, so if the local address in the fd33:xxxx:xxxx:1::/64 subnet on development machine that's running dnsmasq and send the adverts is deprecated, then dnsmasq will copy that state into it's advertisments.

This is quite sensible, especially when using the "constructed address" configuration. As new addresses appear on the advertising machine's interface, they get advertised, and as old one's start to die, that gets advertised too.

TL/DR; Looks at the network interface config on the machine running dnsmasq. That could be the source of the problem.

Cheers,

Simon.


Regards,
Graham
—


_______________________________________________
Dnsmasq-discuss mailing list
Dnsmasq-discuss@lists.thekelleys.org.uk
https://lists.thekelleys.org.uk/cgi-bin/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