У меня проблема с одним из моих доменов на моем частном DNS. У меня два сервера.
Сервер 1 с dnsdist. Он направляет на порт 54 к серверу 2
Сервер 2 с powerdns (порт 53) и powerdns-recursor (порт 54)
Моя конфигурация работает нормально.
pdns.conf
allow-axfr-ips=X.X.X.X
also-notify=X.X.X.X
only-notify=X.X.X.X
daemon=yes
default-soa-content=ns1.example.eu1. admin.example.eu. 0 10800 3600 604800 3600
default-ttl=3600
disable-axfr=no
guardian=yes
include-dir=/etc/powerdns/pdns.d
launch=
local-address=X.X.X.X
local-port=53
log-dns-details=on
loglevel=4
master=yes
receiver-threads=2
setgid=pdns
setuid=pdns
slave=no
query-cache-ttl=60
Рекурсор.conf
dont-query=127.0.0.0/8, 100.64.0.0/10, 169.254.0.0/16, 192.168.0.0/16, 172.16.0.0/12, ::1/128, fc00::/7, fe80::/10, 0.0.0.0/8, 192.0.0.0/24, 192.0.2.0/24, 198.51.100.0/24, 203.0.113.0/24, 240.0.0.0/4, ::/96, ::ffff:0:0/96, 100::/64, 2001:db8::/32
allow-from=10.0.0.0/8, 127.0.0.0/8, 10.12.0.0/16, 10.13.0.0/16, 195.88.50.0/26, 10.66.0.0/16, 10.64.0.0/16
local-address=X.X.X.X
local-port=54
forward-zones=admin=X.X.X.X:53
max-negative-ttl=300
И я правильно получаю записи из интернета. Например:
dig gmail.com TXT @X.X.X.X
; <<>> DiG 9.10.6 <<>> gmail.com TXT @X.X.X.X
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21866
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;gmail.com. IN TXT
;; ANSWER SECTION:
gmail.com. 103 IN TXT "globalsign-smime-dv=CDYX+XFHUw2wml6/Gb8+59BsH31KzUr6c1l2BPvqKX8="
gmail.com. 103 IN TXT "v=spf1 redirect=_spf.google.com"
Но я столкнулся с проблемой с одним доменом. А точнее, с одной записью TXT. Он возвращает мне запись A, NS правильно. Но не TXT.
dig domain.pl TXT @X.X.X.X
(этот домен является примером ;) )
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 47032
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;domain.pl. IN TXT
Когда я добавлю 8.8.8
dig domain.pl TXT @8.8.8.8
Он становится правильным
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 10134
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;domain.pl. IN TXT
;; ANSWER SECTION:
domain.pl. 3600 IN TXT "FHEdYvpM4TH6rmkf5U/YZ9I7VY6j3YftBJ1W7TVNh+ymbXU++rhkb1sXGnleSybC8NnUtP2ALk7/mAHE9LVgGg=="
И это не кэш. Он был очищен. Он просто не видит запись TXT каждый раз.
У кого-нибудь есть идеи?
В логах я вижу:
Failed to resolve via any of the 2 offered NS at level
failed (res=-1)
решение1
Ок, я нашел проблему. Теперь все работает нормально. В recursor conf я добавилdnssec=off