I am using dnsmasq 2.90 for captive portal besides other use cases and
I've noticed that when I put into dnsmasq cfg file e.g.
`interface-name=captive.apple.com,switch0.1` (this interface contains
ipv6 LL address and `100.104.103.1/28`) I will be getting this on the
client device (dnsmasq is running on a router which serves as a gateway
for the client to the internet):
|$ host captive.apple.com captive.apple.com has address 100.104.103.1
captive.apple.com is an alias for
captive-cidr.origin-apple.com.akadns.net.
captive-cidr.origin-apple.com.akadns.net is an alias for
captive-cdn.origin-apple.com.akadns.net.
captive-cdn.origin-apple.com.akadns.net is an alias for
captive.g.aaplimg.com. captive.g.aaplimg.com has IPv6 address
2a01:b740:a10:f000::199 captive.g.aaplimg.com has IPv6 address
2a01:b740:a10:f100::210 captive.apple.com is an alias for
captive-cidr.origin-apple.com.akadns.net.
captive-cidr.origin-apple.com.akadns.net is an alias for
captive-cdn.origin-apple.com.akadns.net.
captive-cdn.origin-apple.com.akadns.net is an alias for
captive.g.aaplimg.com. $ host captive.apple.com captive.apple.com is an
alias for captive-cidr.origin-apple.com.akadns.net.
captive-cidr.origin-apple.com.akadns.net is an alias for
captive-cdn.origin-apple.com.akadns.net.
captive-cdn.origin-apple.com.akadns.net is an alias for
captive.g.aaplimg.com. captive.g.aaplimg.com has address 17.253.73.203
captive.g.aaplimg.com has address 17.253.73.201 captive.g.aaplimg.com
has IPv6 address 2a01:b740:a10:f000::199 captive.g.aaplimg.com has IPv6
address 2a01:b740:a10:f100::210|
Note that on the first run the ipv4 address from the interface is
correctly retrieved, however on the second run it appears that the IP
for an alias is not retrieved, but the address for A record to which the
alias resolves is actually retrieved - and that's the real IP address.
This then breaks the resolution to my captive portal.
Whereas If I use `host-record=captive.apple.com,100.104.103.1` instead,
the IP address retrieved is deterministic and is indeed `100.104.103.1`.
So this seems to be working as I'd expect, however it has the downside
that I have to specify the IP address manually.
Is this expected behaviour or is this a bug? I tried looking through the
documentation and even `dnsmasq`code briefly, but I unfortunately
couldn't determine that.
_______________________________________________
Dnsmasq-discuss mailing list
Dnsmasq-discuss@lists.thekelleys.org.uk
https://lists.thekelleys.org.uk/cgi-bin/mailman/listinfo/dnsmasq-discuss