De ce refuză Bind unele dintre întrebările mele? Acest lucru se întâmplă doar pentru anumite domenii.
O interogare prin named eșuează:
$ dig -t A fedoraproject.org @127.0.0.1
;; ->>HEADER<<- opcode: QUERY, stare: SERVFAIL, id: 33117
$ journalctl -n10
...
01 august 17:07:11 ns3.r3.mclarkdev.com numit[10807]: interogarea de amorsare a rezolvării finalizată
01 august 17:09:57 ns3.r3.mclarkdev.com numit[10807]: expirat rezolvând „fedoraproject.org/DNSKEY/IN”: 8.8.8.8#53
01 august 17:09:59 ns3.r3.mclarkdev.com numit[10807]: expirat rezolvând „fedoraproject.org/DNSKEY/IN”: 8.8.8.8#53
Cu toate acestea, o interogare directă către expeditor funcționează:
$ dig -t A fedoraproject.org @8.8.8.8
;; ->>HEADER<<- opcode: QUERY, stare: NOERROR, id: 42249
... înregistrări ...
Bind folosește o configurație destul de implicită.
Singurele lucruri pe care le-am schimbat au fost să permit interogări de oriunde și să adaug un fișier de zone pentru servirea unor înregistrări locale.
Opțiuni {
portul de ascultare 53 { oricare; };
permite-interogare { orice; };
expeditori { 8.8.8.8; };
recursivitate da;
...
dnssec-activare da;
validare dnssec da; // am încercat și auto
}
...
// include două definiții suplimentare pentru „zonă”.
includ „/opt/dns/named.zones”;
Versiunea OS: CentOS Linux versiunea 8.4.2105
Versiunea Kernel: 4.18.0-305.10.2.el8_4.x86_64
Versiune numită: BIND 9.11.26-RedHat-9.11.26-4.el8_4
Privind tcpdump, pot vedea că named se adresează expeditorului și preia înregistrările A, dar refuză să le transmită clientului după ce a efectuat câteva interogări suplimentare.
localhost.49683 > localhost.domain: 14274+ A? fedoraproject.org. (35)
ns3.r3.mclarkdev.com.56668 > 8.8.8.8.domain: 21852+% [1au] A? fedoraproject.org. (58)
localhost.39587 > localhost.domain: 53253+ PTR? 8.8.8.8.in-addr.arpa. (38)
ns3.r3.mclarkdev.com.55378 > 8.8.8.8.domain: 61019+% [1au] PTR? 8.8.8.8.in-addr.arpa. (61)
8.8.8.8.domain > ns3.r3.mclarkdev.com.56668: 21852$ 12/0/1 fedoraproject.org. A 140.211.169.206, fedoraproject.org. A 152.19.134.198, fedoraproject.org. A 8.43.85.73, fedoraproject.org. A 152.19.134.142, fedoraproject.org. A 38.145.60.21, fedoraproject.org. A 140.211.169.196, fedoraproject.org. A 209.132.190.2, fedoraproject.org. A 8.43.85.67, fedoraproject.org. A 67.219.144.68, fedoraproject.org. A 38.145.60.20, fedoraproject.org.RRSIG, fedoraproject.org. RRSIG (528)
/\ bind are înregistrările A
ns3.r3.mclarkdev.com.52120 > 8.8.8.8.domain: 7073+% [1au] DNSKEY? fedoraproject.org. (58)
8.8.8.8.domain > ns3.r3.mclarkdev.com.55378: 61019 1/0/1 8.8.8.8.in-addr.arpa. PTR dns.google. (73)
ns3.r3.mclarkdev.com.55309 > 8.8.8.8.domain: 23607+% [1au] DS? 8.in-addr.arpa. (55)
localhost.48388 > localhost.domain: 55328+ PTR? 201.23.16.172.in-addr.arpa. (44)
/\ bind face câteva interogări suplimentare
localhost.domain > localhost.48388: 55328 NXDomain* 0/1/0 (98)
/\ bind servește NXDomain către client
De ce este numit refuzul de a servi rezultatul clientului? Se întâmplă doar pentru aproximativ 1% din domenii.