Re: pdns recursor forward zone to consul
Prochazka via Pdns-users <[email protected]> Tue, 06 Aug 2024 11:33:32 +0200
| Newsgroups | gmane.network.dns.powerdns.user |
|---|---|
| Message-ID | <[email protected]> |
Sorry, my reading fail. I disabled qname-minimization, restarted, again servfail. Thanks. Dne 2024-08-06 11:21, Prochazka via Pdns-users napsal: > No effect (anyway, default is yes), i even tried > qname-max-minimize-count=1, no success. > > Recursor is 5.0.5 btw. > > Thanks > > Dne 2024-08-06 11:06, Frank @ kiwazo.be napsal: >> Could you try disabling qname-minimisation? >> https://doc.powerdns.com/recursor/settings.html#qname-minimization >> >> If that works, could you file a bug with the Consul folks? >> >> Frank >> >>> On 6 Aug 2024, at 10:56, [email protected] wrote: >>> >>> Consul cluster is authoritative: >>> >>> # dig soa consul @localhost -p 8600 >>> ; <<>> DiG 9.18.28-1~deb12u2-Debian <<>> soa consul @localhost -p >>> 8600 >>> ;; global options: +cmd >>> ;; Got answer: >>> ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 1715 >>> ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 3, >>> ADDITIONAL: 4 >>> >>> ;; OPT PSEUDOSECTION: >>> ; EDNS: version: 0, flags:; udp: 1232 >>> ;; QUESTION SECTION: >>> ;consul. IN SOA >>> >>> ;; ANSWER SECTION: >>> consul. 0 IN SOA ns.consul. hostmaster.consul. 1722932854 3600 600 >>> 86400 0 >>> >>> ;; AUTHORITY SECTION: >>> consul. 0 IN NS test-consul-02.service.dc1.consul. >>> consul. 0 IN NS test-consul-01.service.dc1.consul. >>> consul. 0 IN NS test-consul-03.service.dc1.consul. >>> >>> ;; ADDITIONAL SECTION: >>> test-consul-02.service.dc1.consul. 0 IN A 192.168.200.206 >>> test-consul-01.service.dc1.consul. 0 IN A 192.168.200.205 >>> test-consul-03.service.dc1.consul. 0 IN A 192.168.200.207 >>> >>> Dnsmasq is default Debian12 configuration, only custom snippet: >>> server=/consul/192.168.200.205#8600 >>> >>> Pdns recursor default Debian12 configuration, custom snippet: >>> # cat /etc/powerdns/recursor.d/recursor-local.conf >>> >>> >> allow-from=127.0.0.1,192.168.0.0/16,SUBNET1/22,SUBNET2/27,::1/128,SUBNET3/29,SUBNET4/24 >>> local-address=::1,IPv6,127.0.0.1,IPv4 >>> local-port=53 >>> max-negative-ttl=300 >>> query-local-address=0.0.0.0,:: >>> serve-rfc1918=no >>> >>> forward-zones= >>> forward-zones+=sub1.domain.tld=IPs pdns auth >>> forward-zones+=sub2.domain.tld=IPs pdns auth >>> forward-zones+=168.192.in-addr.arpa=IPs pdns auth >>> forward-zones+=a.b.c.d.ip6.arpa=IPs pdns auth >>> forward-zones+=sub3.domain.tld=IPs pdns auth >>> forward-zones+=consul=192.168.200.205:8600 >>> >>> When i change forward zone to the only consul as dnsmasq: >>> 10:31:32.584238 IP 192.168.200.201.49345 > 192.168.200.55: 47787+ >>> [1au] A? master.testcluster.service.consul. (74) >>> 10:31:32.736315 IP 192.168.200.55.domain > 192.168.200.201.49345: >>> 47787 ServFail 0/0/1 (62) >>> >>> 10:31:32.584694 IP 192.168.200.55.30152 > 192.168.200.205.8600: >>> 59346 [1au] A? service.consul. (43) >>> 10:31:32.586480 IP 192.168.200.205.8600 > 192.168.200.55.30152: >>> 59346 NXDomain* 0/1/1 (93) >>> 10:31:32.603241 IP 192.168.200.55.29051 > 192.168.200.205.8600: >>> 13078 [1au] A? master.testcluster.service.consul. (62) >>> 10:31:32.606545 IP 192.168.200.205.8600 > 192.168.200.55.29051: >>> 13078* 2/0/1 CNAME test-patroni-02.sub1.domain.tld., A >>> 192.168.200.202 (122) >>> 10:31:32.613117 IP 192.168.200.55.49421 > 192.168.200.205.8600: >>> 50188 [1au] DS? testcluster.service.consul. (55) >>> 10:31:32.615703 IP 192.168.200.205.8600 > 192.168.200.55.49421: >>> 50188* 2/0/1 CNAME test-patroni-02.sub1.domain.tld., A >>> 192.168.200.202 (115) >>> 10:31:32.633388 IP 192.168.200.55.49375 > 192.168.200.205.8600: >>> 19606 [1au] DS? testcluster.service.consul. (55) >>> 10:31:32.635325 IP 192.168.200.205.8600 > 192.168.200.55.49375: >>> 19606* 2/0/1 CNAME test-patroni-01.sub1.domain.tld., A >>> 192.168.200.201 (115) >>> 10:31:32.641387 IP 192.168.200.55.56897 > 192.168.200.205.8600: >>> 28586 [1au] DS? testcluster.service.consul. (55) >>> 10:31:32.643305 IP 192.168.200.205.8600 > 192.168.200.55.56897: >>> 28586* 2/0/1 CNAME test-patroni-01.sub1.domain.tld., A >>> 192.168.200.201 (115) >>> 10:31:32.656262 IP 192.168.200.55.18550 > 192.168.200.205.8600: >>> 25986 [1au] DS? testcluster.service.consul. (55) >>> 10:31:32.658261 IP 192.168.200.205.8600 > 192.168.200.55.18550: >>> 25986* 2/0/1 CNAME test-patroni-02.sub1.domain.tld., A >>> 192.168.200.202 (115) >>> 10:31:32.667227 IP 192.168.200.55.8608 > 192.168.200.205.8600: 16502 >>> [1au] DS? testcluster.service.consul. (55) >>> 10:31:32.669022 IP 192.168.200.205.8600 > 192.168.200.55.8608: >>> 16502* 2/0/1 CNAME test-patroni-02.sub1.domain.tld., A >>> 192.168.200.202 (115) >>> 10:31:32.686261 IP 192.168.200.55.30571 > 192.168.200.205.8600: >>> 52874 [1au] DS? testcluster.service.consul. (55) >>> 10:31:32.688356 IP 192.168.200.205.8600 > 192.168.200.55.30571: >>> 52874* 2/0/1 CNAME test-patroni-02.sub1.domain.tld., A >>> 192.168.200.202 (115) >>> 10:31:32.712947 IP 192.168.200.55.2258 > 192.168.200.205.8600: 303 >>> [1au] DS? testcluster.service.consul. (55) >>> 10:31:32.715829 IP 192.168.200.205.8600 > 192.168.200.55.2258: 303* >>> 2/0/1 CNAME test-patroni-02.sub1.domain.tld., A 192.168.200.202 >>> (115) >>> 10:31:32.726324 IP 192.168.200.55.13556 > 192.168.200.205.8600: 3022 >>> [1au] DS? testcluster.service.consul. (55) >>> 10:31:32.728700 IP 192.168.200.205.8600 > 192.168.200.55.13556: >>> 3022* 2/0/1 CNAME test-patroni-01.sub1.domain.tld., A >>> 192.168.200.201 (115) >>> >>> Consul is set for domain "consul". >>> Patroni is set for namespace "service". >>> Patroni is set for scope "testcluster". >>> >>> Thats why I can't set forward zone for testdomain.service.consul, >>> because every patroni cluster (or every cluster service) has it own >>> scope value. Anyway, i set >>> forward-zone+=testdomain.service.consul=..., got NXDOMAIN result >>> this time. >>> >>> Dnsmasq/dig does only one query (tcpdump from consul server): >>> 10:54:04.293482 IP 192.168.200.201.35239 > 192.168.200.205.8600: >>> 40715+ [1au] A? master.testcluster.service.consul. (74) >>> 10:54:04.297128 IP 192.168.200.205.8600 > 192.168.200.201.35239: >>> 40715* 2/0/1 CNAME test-patroni-02.sub1.domain.tld., A >>> 192.168.200.202 (122) >>> >>> BUT pdns doing multiple queries. That's main difference. >>> >>> Thanks. >>> >>> Dne 2024-08-06 10:06, Frank @ kiwazo.be napsal: >>> dnsmasq: forwarded master.testcluster.service.consul to >>> 192.168.200.205#8600 >>> dnsmasq: reply master.testcluster.service.consul is <CNAME> >>> dnsmasq: reply test-patroni-02.sub.domain.tld is 192.168.200.202 >>> ... >>> Failing query via pdns-recursor, pdns to consul: >>> 09:00:28.996364 IP 192.168.200.55.50085 > 192.168.200.205.8600: >>> 36627+% [1au] A? master.testcluster.service.consul. (62) >>> 09:00:29.007576 IP 192.168.200.205.8600 > 192.168.200.55.50085: >>> 36627* 2/0/1 CNAME test-patroni-02.intr.cortex.cz., A >>> 192.168.200.202 (122) >>> 09:00:29.021812 IP 192.168.200.55.33770 > 192.168.200.206.8600: >>> 35806+% [1au] DS? service.consul. (43) >>> 09:00:29.023654 IP 192.168.200.206.8600 > 192.168.200.55.33770: >>> 35806 NXDomain* 0/1/1 (93) >>> ... >>> 192.168.200.206 is telling pdns there is no "service.consul" >>> configured there. So either 206 is wrong, or 206 is not >>> Authoritative >>> for the service.consul domain, or 206 is misconfigured. >>> To rule out #2, could you set the forward-zones config to JUST the >>> domain 205/206/207 are responsible for? (could be it only answers to >>> testcluster.service.consul)? >>> Also, you have given us 0.005% of your config, yet you ask us to >>> figure out what's wrong? Please see >>> >> https://blog.powerdns.com/2016/01/18/open-source-support-out-in-the-open >>> Frank > > _______________________________________________ > Pdns-users mailing list > [email protected] > https://mailman.powerdns.com/mailman/listinfo/pdns-users