Cara instalasi PowerDNS pada linux CentOS 7 sangatlah mudah, karena semua file yang dibutuhkan sudah tersedia dan anda hanya cukup melakukan beberapa tahap maka anda sudah bisa memiliki sebuah dns dengan menggunakan powerdns pada sistem operasi centos 7.
Sejarah PowerDNS
PowerDNS adalah salah satu aplikasi yang cukup dikenal untuk membangun sebuah DNS Server, selain bind PowerDNS juga dikenal sebagai aplikasi DNS Server yang cukup handal. Perbedaan yang cukup signifikan antara PowerDNS dan Bind adalah PowerDNS menggunakan mySQL sebagai media penyimpanan record DNS, berbeda dengan Bind yang menggunakan text. PowerDNS dikenal sejak tahun 1990 dan merupakan salah satu DNS yang dikenal reliable diantara aplikasi DNS yang ada. Cara instalasi PowerDNS pada linux CentOS 7
Berikut ini adalah langkah-langkah untuk melakukan instalasi PowerDNS pada sistem operasi linux centos 7
- Instalasi MariaDB
#yum install mariadb-server mariadb - Setup agar mariadb selalu dijalankan pada saat sistem operasi dinyalakan
#systemctl enable mariadb
#systemctl start mariadb - Setup mariadb agar lebih aman
#mysql_secura_installation (ikuti step step yang ada sampai dengan selesai) - Instalasi repository untuk PowerDNS pada centos
#yum install epel-release yum-plugin-priorities
# curl -o /etc/yum.repos.d/powerdns-auth-40.repo https://repo.powerdns.com/repo-files/centos-auth-40.repo
#yum install pdns pdns-backend-mysql - Konfigurasi database untuk PowerDNS
- #mysql -u root -p
- CREATE DATABASE powerdns;
CREATE USER ‘powerdns’@’localhost’ IDENTIFIED BY ‘mysecretpassword’;
GRANT ALL PRIVILEGES ON powerdns.* TO ‘powerdns’@’localhost’; - Paste script mysql berikut ini :
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) DEFAULT NULL,
PRIMARY KEY (id)
) Engine=InnoDB; 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; CREATE INDEX nametype_index ON records(name,type); CREATE INDEX domain_id ON records(domain_id); CREATE INDEX recordorder ON records (domain_id, ordername); CREATE TABLE supermasters (
ip VARCHAR(64) NOT NULL,
nameserver VARCHAR(255) NOT NULL,
account VARCHAR(40) NOT NULL,
PRIMARY KEY (ip, nameserver)
) Engine=InnoDB; 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) NOT NULL,
comment VARCHAR(64000) NOT NULL,
PRIMARY KEY (id)
) Engine=InnoDB; CREATE INDEX comments_domain_id_idx ON comments (domain_id); 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; 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; 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; CREATE UNIQUE INDEX namealgoindex ON tsigkeys(name, algorithm); - Keluar dari database MySQL
#quit;
- Konfigurasikan PowerDNS dengan menggunakan editor pada file /etc/pdns/pdns.conf
cari baris yang memiliki tulisan launch= dan rubah dengan launch=gmysql
kemudian tambahkan baris berikut inigmysql-host=127.0.0.1
gmysql-user=powerdns
gmysql-dbname=powerdns g
mysql-password=mysecretpassword - Jalankan PowerDNS
# systemctl enable pdns
# systemctl start pdns - Konfigurasikan firewall agar bisa diakses oleh client
#firewall-cmd –permanent –add-service=dns
# firewall-cmd –reload
Selamat .. sekarang anda sudah memiliki sebuah dns server yang menggunakan PowerDNS. Cara instalasi PowerDNS pada linux CentOS 7