I have configured Consul to return all DNS RRs with TTL=60s which can be verified by
dig -p 8600 @localhost consul.service.consul.
dnsmasq is configured to forward queries to the consul domain and to remember 1000 RRs:
The problem is however that these responses are not being cached by dnsmasq. Each time there is a query to dnsmasq for consul.service.consul, there is a query from dnsmasq to Consul for this name, even though the TTL has not expired.
This is probably not Consul-related, but I hope to find someone using dnsmasq with Consul, for enlightenment.