PowerDNS, psql – prosto i przyjemnie.
Strukturę deko zmieniłem, bo ta dostępna w examples jest do bani. Wygląda to tak: parenaście razy wywalałem baze (szybciej) bo nie wychodziło jak miało wychodzić ;) do tego prosty zbiór komend na użytkowniku postgres: dropdb masterdns #kasyjemy baze createdb masterdns #tworzymy baze createlang plpgsql masterdns #dodajemy obsługę perl'a dla bazy ostatnia wymagała doinstalowania bibliotek ;) Struktura bazy: CREATE TABLE dns_zones ( id SERIAL8 PRIMARY KEY, origin VARCHAR(255) UNIQUE NOT NULL, ns VARCHAR(255) NOT NULL, mbox VARCHAR(255) NOT NULL, serial INT8 NOT NULL DEFAULT '1', refresh INT4 NOT NULL DEFAULT '10800', -- 3 hours retry INT4 NOT NULL DEFAULT '3600', -- 1 hour expire INT4 NOT NULL DEFAULT '604800', -- 1 week ttl INT4 NOT NULL DEFAULT '3600'); -- 1 hour CREATE TABLE dns_resource_types ( id SERIAL8 PRIMARY KEY, name VARCHAR(255) NOT NULL, description TEXT ); INSERT INTO dns_resource_types (name, description) VALUES ('A', ''); INSERT INTO dns_resource_types (name, description) VALUES ('AAAA', ''); INSERT INTO dns_resource_types (name, description) VALUES ('CNAME', ''); INSERT INTO dns_resource_types (name, description) VALUES ('HINFO', ''); INSERT INTO dns_resource_types (name, description) VALUES ('MX', ''); INSERT INTO dns_resource_types (name, description) VALUES ('NS', ''); INSERT INTO dns_resource_types (name, description) VALUES ('PTR', ''); INSERT INTO dns_resource_types (name, description) VALUES ('SRV', ''); INSERT INTO dns_resource_types (name, description) VALUES ('TXT', ''); CREATE TABLE dns_resources ( id SERIAL8 PRIMARY KEY, dns_zone_id INT8 NOT NULL REFERENCES dns_zones ON DELETE CASCADE ON UPDATE CASCADE, dns_resource_type_id INT8 NOT NULL REFERENCES dns_resource_types, name VARCHAR(64) NOT NULL, data VARCHAR(255) NOT NULL, aux INT4 NULL DEFAULT NULL, ttl INT4 NULL DEFAULT NULL); Należy stworzyć użytkownika pdns, nadać prawa etc.. ...