bind-dlz mysql nincs NS

 ( igiboy | 2013. június 25., kedd - 19:42 )

Váltani szeretnék mysql adatbázis alapú DNS megoldásra. Eredetileg bind működött zónafájlokkal. Fordítottam a rendszerre bind-et dlz-mysql-el. Chroot-ban fut, eléri az adatbázist. Ha a zónafájlokat használom továbbra is akkor minden rendben, de ha adatbázisból akarom lekérdezni az adatokat akkor nem ad NS rekordokat vissza a
dig @nameserver domain -t AXFR parancsra, ha zónafájlt használok akkor van NS rekord lekérdezéskor. Minden egyéb rekordot látok és azonnal frissül, újraindítás nélkül.

a domain.hu ellenörző oldalán ezt kapom:

M-GREET -I- [xxxx.hu] Domi version 20130625 
M-STAR -I- [xxxx.hu] NS parameter not given, getting it from DNS 
M-PRIF -E- [xxxx.hu] Cannot get domain data ( )

jelenleg a named.conf tartalma a következő:

dlz "Mysql zone" {
    database "mysql
    {host=127.0.0.1 port=3306 socket=/mysql/mysql.sock dbname=dyndns user=root pass=xxxx}
    {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$'}
    {UPDATE dns_count SET count = count + 1 WHERE zone ='$zone$'}";
};

Próbáltam már keresni mindenféle megoldást, de legtöbbször az lett a vége, hogy el sem indult a babrálás után a named.

Mi lehet a gond? Merre keressem a megoldást? Valakinek egy működő config?

Mysql 5.0.95
Bind 9.8.0

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

UP

trace mit mond? SQL log?

mysql-ben semmi érdemleges a daemon elindítás és megállításon kivül.
traceroute-ra gondolsz? Route hogy kavarhat be a dig-nek? Nincs amugy semmi route dolog, a szokásos portszűrésen kívül. Az az érdekes hogy NS-t nem ad vissza ha adatbázisból jön az adat, de ha fájból akkor van NS is. Ha külön kérdezem le az NS-t akkor visszaadja adatbázisból is. Mindegy hogy a szerveren vagy a saját gépemen kérdezem le az AXFR-t.

Ha a mysql-t debug módba kapcsolod akkor még a lefuttatott query-ket is látod. Hátha abból látsz valami érdekeset...