zone-transfer med bind saknar ns-records

Permalänk
Medlem

zone-transfer med bind saknar ns-records

Jag har försökt ett tag att få en lokal DNS-server baserad på bind 9.5, mysql och dlz att skicka uppdateringar till en extern leverantör som ska fungera som backup dns.

Problemet är att av någon underlig anledning saknas alla NS-records när jag försöker göra en zone-transfer. Jag vet att zone-transfer inte är det bästa att använda ihop med dlz men det är vad den externa leverantören stödjer och så länge man även uppdaterar serial nummret efter man ändrat en domän ska det inte vara något problem?

Så här ser det ut i varje fall.

~ $ dig axfr <hidden>.eu @10.0.6.15

; <<>> DiG 9.6.1-P2 <<>> axfr <hidden>.eu @10.0.6.15
;; global options: +cmd
<hidden>.eu. 7200 IN SOA udns1.ultradns.net. hostmaster.<hidden>.eu. 20091215 10800 7200 1814400 7200
<hidden>.eu. 7200 IN A <hidden>
test.<hidden>.eu. 7200 IN A 127.0.0.1
www.<hidden>.eu. 7200 IN A <hidden>
<hidden>.eu. 7200 IN SOA udns1.ultradns.net. hostmaster.<hidden>.eu. 20091215 10800 7200 1814400 7200
;; Query time: 15 msec
;; SERVER: 10.0.6.15#53(10.0.6.15)
;; WHEN: Mon Jan 4 11:29:08 2010
;; XFR size: 5 records (messages 1, bytes 183)

Av någon anledning får jag två SOA-records utan att min databas innehåller det och inga NS-records alls.

Så här ser bind-configen ut.

dlz "Mysql zone" {
database "mysql
{host=localhost port=3306 dbname=<hidden> user=dns pass=<hidden>}
{SELECT zone FROM records WHERE zone = '%zone%'}
{SELECT ttl, type, mx_priority, IF(type = 'TXT', CONCAT('\"',data,'\"'), data) AS data
FROM records
WHERE zone = '%zone%' AND host = '%record%' AND type <> 'SOA' AND type <> 'NS'}
{SELECT ttl, type, data, primary_ns, resp_contact, serial, refresh, retry, expire, minimum
FROM records
WHERE zone = '%zone%' AND (type = 'SOA' OR type='NS')}
{SELECT ttl, type, host, mx_priority, IF(type = 'TXT', CONCAT('\"',data,'\"'), data) AS data, resp_contact, serial, refresh, retry, expire, minimum
FROM records
WHERE zone = '%zone%' AND type <> 'SOA' AND type <> 'NS'}
{SELECT zone FROM xfr where zone='%zone%' AND client = '%client%'}";
};

Hoppas någon ser vad som är fel, jag har totalt slut på ideér.