Portál AbcLinuxu, 21. května 2025 12:34

Dotaz: BIND9 - servfail na forward only zone

27.4.2017 20:43 moody
BIND9 - servfail na forward only zone
Přečteno: 400×
Odpovědět | Admin
Ahoj, mam active directory, postavene na samba4.x. Na nem mam domenu firma.i, ve ktere jsou A a CNAME zaznamy. Dale mam server s BIND9, na kterem mam nadefinovane ruzne zony. U domeny firma.i chci, aby ji BIND forwardoval na sambu. Mam tedy v confu definovano:

zone "firma.i" IN { type forward; forward only; forwarders { samba4-ip; }; };

Kdyz se na nejaky zaznam v zone firma.i dotazu primo samby, vse funguje korektne:

> pc004.firma.i
Server: samba4-ip
Address: samba4-ip#53

Name: pc004.firma.i
Address: 192.168.102.8
>

Kdyz se vsak na ten samy zaznam v zone firma.i dotazu BINDu, hodi mi servfail nebo nxdomain:

> pc004.firma.i
Server: bind9-ip
Address: bind9-ip#53

** server can't find pc004.firma.i: NXDOMAIN
>

V logu jsem nasel pouze:

27-Apr-2017 20:34:36.714 error (FORMERR) resolving 'pc004.firma.i/A/IN': samba4-ip#53

Jinak vsechny ostatni zony na BINDu funguji normalne. Dokaze me nekdo nakopnout? :-)
Diky.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

27.4.2017 22:04 Sten
Rozbalit Rozbalit vše Re: BIND9 - servfail na forward only zone
Odpovědět | | Sbalit | Link | Blokovat | Admin
FORMERR znamená, že buď Bind poslal dotaz, kterému nerozumí Samba, nebo Samba poslala odpověď, které nerozumí Bind. Může to být třeba oseknutý UDP paket nebo nepodporovaná rozšíření. Chtělo by to dotaz a odpověď zachycenou Wiresharkem.
28.4.2017 09:07 moody
Rozbalit Rozbalit vše Re: BIND9 - servfail na forward only zone
Zkusim, dam vedet.

Diky!
28.4.2017 09:30 moody
Rozbalit Rozbalit vše Re: BIND9 - servfail na forward only zone

Jinak doplnim - vsiml jsem si, ze problem se tyka pouze CNAME. Tedy A zaznamy funguji korektne, CNAME hlasi SERVFAIL nebo NXDOMAIN. Abych vyloucil oseknuty UDP paket, zkusil jsem TCP query:


dig +tcp @bind9-ip pc015.firma.i

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6 <<>> +tcp @bind9-ip pc015.firma.i
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 46075
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 13, ADDITIONAL: 24

;; QUESTION SECTION:
;pc015.firma.i. IN A

;; ANSWER SECTION:
pc015.firma.i. 1200 IN A 192.168.102.57

Kdyz vsak zkusim to same, ale na CNAME (ktery nema A zaznam), hodi mi to SERVFAIL nebo NXDOMAIN:


dig +tcp @bind9-ip uzivatel1.firma.i

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6 <<>> +tcp @bind9-ip uzivatel1.firma.i
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 57324
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;uzivatel1.firma.i. IN A

;; Query time: 4 msec
;; SERVER: bind9-ip#53(bind9-ip)
;; WHEN: Fri Apr 28 09:14:01 2017
;; MSG SIZE rcvd: 37

Kdyz pak dam dotaz explicitne na CNAME, vse funguje:


dig +tcp -t CNAME @bind9-ip uzivatel1.firma.i

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6 <<>> +tcp -t CNAME @bind9-ip uzivatel1.firma.i
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 10574
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 13, ADDITIONAL: 25

;; QUESTION SECTION:
;uzivatel1.firma.i. IN CNAME

;; ANSWER SECTION:
uzivatel1.firma.i. 3600 IN CNAME PC015.firma.i.

Pokud se ptam explicitne na CNAME, v logu nic neni. V opacnem pripade je tam opet FORMERR.

Diky.

28.4.2017 14:08 Sten
Rozbalit Rozbalit vše Re: BIND9 - servfail na forward only zone
TCP query na Bind neznamená, že Bind použije TCP query na forwarder. Použijte Wireshark nebo tcpdump mezi Bindem a Sambou.

Přímý dotaz bude mít o dost menší odpověď než obecný, takže to může být právě to oseknutí UDP. Anebo ta Samba může posílat nějaký bordel v additional, kde si vyhradila místo na (neexistující) A záznam.
28.4.2017 15:06 moody
Rozbalit Rozbalit vše Re: BIND9 - servfail na forward only zone
jo, jasne, jsem hlava dubova :-) Kazdopadne, tcpdump ukazuje toto:

14:51:48.237728 IP (tos 0x0, ttl 64, id 38118, offset 0, flags [none], proto UDP (17), length 65)
bind9-ip.26129 > samba4-ip.domain: [udp sum ok] 43085+
A? uzivatel1.firma.i. (37)

14:51:48.238327 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 187)
samba4-ip.domain > bind9-ip.26129: [udp sum ok] 43085*
q: A? uzivatel1.firma.i.
2/2/0 uzivatel1.firma.i. CNAME PC010.firma.i.,
PC010.firma.i. A 192.168.102.70 ns: firma.i. SOA ad.firma.i. hostmaster.firma.i. 406 900 600 86400 3600,
firma.i. SOA ad.firma.i. hostmaster.firma.i. 406 900 600 86400 3600 (159)

Pricemz kdyz se dotazu BINDu na zaznam v zone, kterou hostuje on sam, vraci pouze toto:

q: A? uzivatel2.firma2.i.
2/2/1 uzivatel2.firma2.i. CNAME pc004.firma2.i.,
pc004.firma2.i. A 192.168.99.16 ns: firma2.i. NS bind.firma2.i.,
firma2.i. NS bind2.firma.i. ar: bind.firma2.i. A 192.168.99.2 (158)

Otazkou ted zrejme je, jak prinutit Sambu, aby vracela odpovedi, ktere se BINDovi budou vice pozdavat. Diky,

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.