|
|
Zeile 21: |
Zeile 21: |
| === Datenbank === | | === Datenbank === |
|
| |
|
| ==== Datenbank anlegen ====
| | [[Datenbank für PowerDNS erstellen (Version 4.1.X)|Datenbank für PowerDNS erstellen]] |
| | |
| Datenbank ''powerdns'' erstellen - siehe [[MySQL#Neue_Datenbank_anlegen:|MySQL]]
| |
| | |
| | |
| Die Zugangsdaten für die Datenbank in der Datei
| |
| | |
| <pre>
| |
| sudo vi /etc/powerdns/pdns.conf
| |
| </pre>
| |
| | |
| am Ende hinzufügen:
| |
| | |
| <pre>
| |
| #################################
| |
| # database connection
| |
| launch=gmysql
| |
| gmysql-host=127.0.0.1
| |
| gmysql-user=powerdns
| |
| gmysql-dbname=powerdns
| |
| gmysql-password=<password>
| |
| </pre>
| |
| | |
| ==== Tabellen anlegen ====
| |
| | |
| <pre>
| |
| 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);
| |
| </pre>
| |
|
| |
|
| === Testdaten einfügen === | | === Testdaten einfügen === |
Allgemein
https://www.powerdns.com/
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 für PowerDNS erstellen
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://www.poweradmin.org/
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