Hello.
I'm using dnsmasq version 2.86.
I've found that address option works incorrectly if the target domain is
a cname.
Here is an example:
1) Add a domain to dnsmasq configuration:
address=/api.ott.kinopoisk.ru/::
2) Make a DNS query for this domain. Everything is fine now: dnsmasq
replies with an IPv4 address received from the upstream DNS server and
an IPv6 address from the configuration file
root@veronika:~# nslookup api.ott.kinopoisk.ru
Server: 127.0.0.1
Address: 127.0.0.1:53
Name: api.ott.kinopoisk.ru
Address: ::
Non-authoritative answer:
api.ott.kinopoisk.ru canonical name =
ott-api-production-balancer.ott.yandex.net
Name: ott-api-production-balancer.ott.yandex.net
Address: 93.158.134.102
Sat Apr 16 19:13:20 2022 daemon.info dnsmasq[1]: 419 127.0.0.1/58719
query[A] api.ott.kinopoisk.ru from 127.0.0.1
Sat Apr 16 19:13:20 2022 daemon.info dnsmasq[1]: 419 127.0.0.1/58719
forwarded api.ott.kinopoisk.ru to 213.234.192.7
Sat Apr 16 19:13:20 2022 daemon.info dnsmasq[1]: 420 127.0.0.1/58719
query[AAAA] api.ott.kinopoisk.ru from 127.0.0.1
Sat Apr 16 19:13:20 2022 daemon.info dnsmasq[1]: 420 127.0.0.1/58719
config api.ott.kinopoisk.ru is ::
Sat Apr 16 19:13:20 2022 daemon.info dnsmasq[1]: 419 127.0.0.1/58719
reply api.ott.kinopoisk.ru is <CNAME>
Sat Apr 16 19:13:20 2022 daemon.info dnsmasq[1]: 419 127.0.0.1/58719
reply ott-api-production-balancer.ott.yandex.net is 93.158.134.102
3) You may repeat a query and everything is still fine:
root@veronika:~# nslookup api.ott.kinopoisk.ru
Server: 127.0.0.1
Address: 127.0.0.1:53
Non-authoritative answer:
api.ott.kinopoisk.ru canonical name =
ott-api-production-balancer.ott.yandex.net
Name: ott-api-production-balancer.ott.yandex.net
Address: 93.158.134.102
Name: api.ott.kinopoisk.ru
Address: ::
Sat Apr 16 19:13:26 2022 daemon.info dnsmasq[1]: 431 127.0.0.1/34089
query[A] api.ott.kinopoisk.ru from 127.0.0.1
Sat Apr 16 19:13:26 2022 daemon.info dnsmasq[1]: 431 127.0.0.1/34089
cached api.ott.kinopoisk.ru is <CNAME>
Sat Apr 16 19:13:26 2022 daemon.info dnsmasq[1]: 431 127.0.0.1/34089
cached ott-api-production-balancer.ott.yandex.net is 93.158.134.102
Sat Apr 16 19:13:26 2022 daemon.info dnsmasq[1]: 432 127.0.0.1/34089
query[AAAA] api.ott.kinopoisk.ru from 127.0.0.1
Sat Apr 16 19:13:26 2022 daemon.info dnsmasq[1]: 432 127.0.0.1/34089
cached api.ott.kinopoisk.ru is <CNAME>
Sat Apr 16 19:13:26 2022 daemon.info dnsmasq[1]: 432 127.0.0.1/34089
config api.ott.kinopoisk.ru is ::
4) Now query the original domain to which our configured domain points to:
root@veronika:~# nslookup ott-api-production-balancer.ott.yandex.net
Server: 127.0.0.1
Address: 127.0.0.1:53
Non-authoritative answer:
Name: ott-api-production-balancer.ott.yandex.net
Address: 93.158.134.102
Non-authoritative answer:
Name: ott-api-production-balancer.ott.yandex.net
Address: 2a02:6b8::272
Sat Apr 16 19:13:33 2022 daemon.info dnsmasq[1]: 442 127.0.0.1/51782
query[A] ott-api-production-balancer.ott.yandex.net from 127.0.0.1
Sat Apr 16 19:13:33 2022 daemon.info dnsmasq[1]: 442 127.0.0.1/51782
cached ott-api-production-balancer.ott.yandex.net is 93.158.134.102
Sat Apr 16 19:13:33 2022 daemon.info dnsmasq[1]: 443 127.0.0.1/51782
query[AAAA] ott-api-production-balancer.ott.yandex.net from 127.0.0.1
Sat Apr 16 19:13:33 2022 daemon.info dnsmasq[1]: 443 127.0.0.1/51782
forwarded ott-api-production-balancer.ott.yandex.net to 213.234.192.7
Sat Apr 16 19:13:33 2022 daemon.info dnsmasq[1]: 443 127.0.0.1/51782
reply ott-api-production-balancer.ott.yandex.net is 2a02:6b8::272
5) Let's query our configured domain again. Now you can see that dnsmasq
starts to reply with IPv6 from upstream server instead of our configured
IPv6:
root@veronika:~# nslookup api.ott.kinopoisk.ru
Server: 127.0.0.1
Address: 127.0.0.1:53
Non-authoritative answer:
api.ott.kinopoisk.ru canonical name =
ott-api-production-balancer.ott.yandex.net
Name: ott-api-production-balancer.ott.yandex.net
Address: 93.158.134.102
Non-authoritative answer:
api.ott.kinopoisk.ru canonical name =
ott-api-production-balancer.ott.yandex.net
Name: ott-api-production-balancer.ott.yandex.net
Address: 2a02:6b8::272
Sat Apr 16 19:13:37 2022 daemon.info dnsmasq[1]: 458 127.0.0.1/35410
query[A] api.ott.kinopoisk.ru from 127.0.0.1
Sat Apr 16 19:13:37 2022 daemon.info dnsmasq[1]: 458 127.0.0.1/35410
cached api.ott.kinopoisk.ru is <CNAME>
Sat Apr 16 19:13:37 2022 daemon.info dnsmasq[1]: 458 127.0.0.1/35410
cached ott-api-production-balancer.ott.yandex.net is 93.158.134.102
Sat Apr 16 19:13:37 2022 daemon.info dnsmasq[1]: 459 127.0.0.1/35410
query[AAAA] api.ott.kinopoisk.ru from 127.0.0.1
Sat Apr 16 19:13:37 2022 daemon.info dnsmasq[1]: 459 127.0.0.1/35410
cached api.ott.kinopoisk.ru is <CNAME>
Sat Apr 16 19:13:37 2022 daemon.info dnsmasq[1]: 459 127.0.0.1/35410
cached ott-api-production-balancer.ott.yandex.net is 2a02:6b8::272
_______________________________________________
Dnsmasq-discuss mailing list
Dnsmasq-discuss@lists.thekelleys.org.uk
https://lists.thekelleys.org.uk/cgi-bin/mailman/listinfo/dnsmasq-discuss