PowerDNS Authoritative Server (Ubuntu): Unterschied zwischen den Versionen
(→Links) |
|||
Zeile 136: | Zeile 136: | ||
CREATE UNIQUE INDEX namealgoindex ON tsigkeys(name, algorithm); | CREATE UNIQUE INDEX namealgoindex ON tsigkeys(name, algorithm); | ||
</pre> | |||
=== Testdaten einfügen === | |||
<pre> | |||
# mysql pdnstest | |||
mysql> INSERT INTO domains (name, type) values ('example.com', 'NATIVE'); | |||
INSERT INTO records (domain_id, name, content, type,ttl,prio) | |||
VALUES (1,'example.com','localhost admin.example.com 1 10380 3600 604800 3600','SOA',86400,NULL); | |||
INSERT INTO records (domain_id, name, content, type,ttl,prio) | |||
VALUES (1,'example.com','dns-us1.powerdns.net','NS',86400,NULL); | |||
INSERT INTO records (domain_id, name, content, type,ttl,prio) | |||
VALUES (1,'example.com','dns-eu1.powerdns.net','NS',86400,NULL); | |||
INSERT INTO records (domain_id, name, content, type,ttl,prio) | |||
VALUES (1,'www.example.com','192.0.2.10','A',120,NULL); | |||
INSERT INTO records (domain_id, name, content, type,ttl,prio) | |||
VALUES (1,'mail.example.com','192.0.2.12','A',120,NULL); | |||
INSERT INTO records (domain_id, name, content, type,ttl,prio) | |||
VALUES (1,'localhost.example.com','127.0.0.1','A',120,NULL); | |||
INSERT INTO records (domain_id, name, content, type,ttl,prio) | |||
VALUES (1,'example.com','mail.example.com','MX',120,25); | |||
</pre> | </pre> | ||
Version vom 22. Januar 2020, 00:20 Uhr
Allgemein
Voraussetzungen
SQL-Datenbank => siehe MariaDB
Installation
Binaries
sudo apt-get -y install pdns-server pdns-backend-mysql
Links
https://doc.powerdns.com/authoritative/installation.html
Datenbank
Datenbank anlegen
Datenbank powerdns erstellen - siehe MySQL
Die Zugangsdaten für die Datenbank in der Datei
sudo vi /etc/powerdns/pdns.conf
am Ende hinzufügen:
################################# # database connection launch=gmysql gmysql-host=127.0.0.1 gmysql-user=powerdns gmysql-dbname=powerdns gmysql-password=<password>
Tabellen anlegen
CREATE TABLE domains ( id INT AUTO_INCREMENT, name VARCHAR(255) NOT NULL, master VARCHAR(128) DEFAULT NULL, last_check INT DEFAULT NULL, type VARCHAR(6) NOT NULL, notified_serial INT DEFAULT NULL, account VARCHAR(40) CHARACTER SET 'utf8' DEFAULT NULL, PRIMARY KEY (id) ) Engine=InnoDB CHARACTER SET 'latin1'; CREATE UNIQUE INDEX name_index ON domains(name); CREATE TABLE records ( id BIGINT AUTO_INCREMENT, domain_id INT DEFAULT NULL, name VARCHAR(255) DEFAULT NULL, type VARCHAR(10) DEFAULT NULL, content VARCHAR(64000) DEFAULT NULL, ttl INT DEFAULT NULL, prio INT DEFAULT NULL, change_date INT DEFAULT NULL, disabled TINYINT(1) DEFAULT 0, ordername VARCHAR(255) BINARY DEFAULT NULL, auth TINYINT(1) DEFAULT 1, PRIMARY KEY (id) ) Engine=InnoDB CHARACTER SET 'latin1'; CREATE INDEX nametype_index ON records(name,type); CREATE INDEX domain_id ON records(domain_id); CREATE INDEX ordername ON records (ordername); CREATE TABLE supermasters ( ip VARCHAR(64) NOT NULL, nameserver VARCHAR(255) NOT NULL, account VARCHAR(40) CHARACTER SET 'utf8' NOT NULL, PRIMARY KEY (ip, nameserver) ) Engine=InnoDB CHARACTER SET 'latin1'; CREATE TABLE comments ( id INT AUTO_INCREMENT, domain_id INT NOT NULL, name VARCHAR(255) NOT NULL, type VARCHAR(10) NOT NULL, modified_at INT NOT NULL, account VARCHAR(40) CHARACTER SET 'utf8' DEFAULT NULL, comment TEXT CHARACTER SET 'utf8' NOT NULL, PRIMARY KEY (id) ) Engine=InnoDB CHARACTER SET 'latin1'; CREATE INDEX comments_name_type_idx ON comments (name, type); CREATE INDEX comments_order_idx ON comments (domain_id, modified_at); CREATE TABLE domainmetadata ( id INT AUTO_INCREMENT, domain_id INT NOT NULL, kind VARCHAR(32), content TEXT, PRIMARY KEY (id) ) Engine=InnoDB CHARACTER SET 'latin1'; CREATE INDEX domainmetadata_idx ON domainmetadata (domain_id, kind); CREATE TABLE cryptokeys ( id INT AUTO_INCREMENT, domain_id INT NOT NULL, flags INT NOT NULL, active BOOL, content TEXT, PRIMARY KEY(id) ) Engine=InnoDB CHARACTER SET 'latin1'; CREATE INDEX domainidindex ON cryptokeys(domain_id); CREATE TABLE tsigkeys ( id INT AUTO_INCREMENT, name VARCHAR(255), algorithm VARCHAR(50), secret VARCHAR(255), PRIMARY KEY (id) ) Engine=InnoDB CHARACTER SET 'latin1'; CREATE UNIQUE INDEX namealgoindex ON tsigkeys(name, algorithm);
Testdaten einfügen
# mysql pdnstest mysql> INSERT INTO domains (name, type) values ('example.com', 'NATIVE'); INSERT INTO records (domain_id, name, content, type,ttl,prio) VALUES (1,'example.com','localhost admin.example.com 1 10380 3600 604800 3600','SOA',86400,NULL); INSERT INTO records (domain_id, name, content, type,ttl,prio) VALUES (1,'example.com','dns-us1.powerdns.net','NS',86400,NULL); INSERT INTO records (domain_id, name, content, type,ttl,prio) VALUES (1,'example.com','dns-eu1.powerdns.net','NS',86400,NULL); INSERT INTO records (domain_id, name, content, type,ttl,prio) VALUES (1,'www.example.com','192.0.2.10','A',120,NULL); INSERT INTO records (domain_id, name, content, type,ttl,prio) VALUES (1,'mail.example.com','192.0.2.12','A',120,NULL); INSERT INTO records (domain_id, name, content, type,ttl,prio) VALUES (1,'localhost.example.com','127.0.0.1','A',120,NULL); INSERT INTO records (domain_id, name, content, type,ttl,prio) VALUES (1,'example.com','mail.example.com','MX',120,25);
Links
https://doc.powerdns.com/authoritative/guides/basic-database.html
https://github.com/PowerDNS/pdns/blob/rel/auth-4.1.x/modules/gmysqlbackend/schema.mysql.sql
Links
https://doc.powerdns.com/authoritative/installation.html
https://www.linux.com/tutorials/how-install-powerdns-dns-server-ubuntu/
https://clouding.io/kb/en/how-to-install-powerdns-on-ubuntu-18-04/
https://www.debacher.de/wiki/Mein_eigenes_DynDNS
Konfiguration
Master / Slave
https://www.claudiokuenzler.com/blog/844/powerdns-master-slave-dns-replication-mysql-backend
Benutzeroberfläche
Poweradmin
Download
https://sourceforge.net/projects/poweradmin/
Links
https://blog.jonaharagon.com/installing-powerdns-admin-on-ubuntu-18-04/
PowerDNS-Admin
Download
https://github.com/ngoduykhanh/PowerDNS-Admin
Links
https://blog.jonaharagon.com/installing-powerdns-admin-on-ubuntu-18-04/
Links allgemein
[https://github.com/PowerDNS/pdns/wiki/WebFrontends https://github.com/PowerDNS/pdns/wiki/WebFrontend
Zurück zu Domain selbst verwalten