Bilgi Bankası: Linux
PowerDNS Kurulumu
Posted by Veri Merkezi Operasyonları(287) on 13 February 2015 02:34 PM

DNS Nedir?
DNS, "Domain Name Server" ( Alan Adı Sunucusu) isminin baş harflerinden oluşmuş bir kısaltmadır. DNS, alan adını IP adresi karşılığına çeviren protokoltür. İnternet ağını oluşturan her birim sadece kendine ait bir IP adresine sahiptir. Bu IP adresleri kullanıcıların kullanımı için www.site_ismi.com gibi kolay hatırlanır adreslere karşılık düşürülür. DNS sunucuları, internet adreslerinin IP adresi karşılığını kayıtlı tutmaktadır.

DNS, TCP ve UDP 53 portunu kullanan bir protokoldür.  Sıradan bir DNS sorgusu UDP 53 Portunu kullanırken, cevabı 512 bytedan büyük olan DNS istekleri TCP 53 portunu kullanmaktadır. Bu nedenle sunucunuz üzerinde kurulu olan firewall'de ve Azure Pack üzerindeki "NAT RULE" işlemlerinde her iki portu da eklemenizi öneririz. Aşağıdaki adımlarla Azure Pack üzerinde DNS Servisi için TCP ve UDP 53 Portuna RULE ekleyebilirsiniz.

http://destek.doruk.net.tr/staff/index.php?/Knowledgebase/ViewKnowledgebase/Article/199/42

DNS hakkında daha detaylı bilgi için aşağıdaki dökümantasyonu incelemenizi öneririz.

http://tr.wikipedia.org/wiki/DNS

PowerDNS & PowerAdmin Nedir?
PowerDNS, MySQL-tabanlı bir DNS sunucusudur, C++ dili ile yazılmış ve GPL ile lisanslanmıştır. PowerDNS sunucusunu talebiniz halinde mySQL erişimi sağlayarak komut satırıyla yönetebileceğiniz gibi mySQL ve SSH erişimi konusunda yeterli tecrübeye sahip olmasanız bile web arayüzünden yönetim için PowerAdmin uygulamasını kullanarak kolaylıkla DNS sunucunuzu yönetebilirsiniz.

Bu yazıda Linux Centos 7 üzerinde PowerDNS + mySQL ve Apache Web Server sunucusu kurulumu anlatılmaktadır.

Kuruluma başlamadan önce Web sunucusu için TCP 80, mySQL Veritabanı sunucusu için TCP 3306 Portunu ve PowerDNS için TCP/UDP 53 portuna RULE eklendiğinden emin olunuz.

RHEL/CentOS 7 ile birlikte önceki CentOS sürümlerinden farklı olarak FirewallD güvenlik duvarı kullanılmaktadır. Eğer işletim sistemi üzerindeki FirewallD servisi üzerinde kural yazmak istemiyorsanız FirewallD servisini kapatabilirsiniz. FirewallD servisi konumuzun dışında olduğu için bu uygulama sırasında kapatıyoruz.

# Centos 7 Firewalld Servisi için

# Firewall Servisini Durdurma için (Centos 7.x)
/bin/systemctl stop firewalld

# Firewall Servisini Sistem Açılışında Başlamaması için 
/bin/systemctl disable firewalld

# Firewall Servisini Sistem Açılışındaki Durumunu Kontrol için 
systemctl list-unit-files --type=service |grep firewalld

# Firewall Servisini Kontrol Etmek için (Centos 7.x)
firewall-cmd --state

# DNS sunucusu için ön gereksinimlerin kurulumu

yum install  wget net-tools -y

rpm -ivh http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
rpm -ivh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
rpm -ivh wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

yum -y install php php-mcrypt php-pdo php-mysql pdns pdns-backend-mysql mysql-server httpd

#mySQL Sunucusunu Başlatın ve Güvenli Kurulumu gerçekleştiriniz.

systemctl start mysqld

mysql_secure_installation

#Enter
Enter current password for root (enter for none):

Set root password? [Y/n] Y

New password: # mySQL Parolası yazınız.
Re-enter new password: # mySQL Parolasını tekrar yazınız.
Password updated successfully!

Remove anonymous users? [Y/n]Y

Disallow root login remotely? [Y/n]Y

Remove test database and access to it? [Y/n]Y

Reload privilege tables now? [Y/n] Y

Thanks for using MySQL!

 

# DNS sunucu için veritabanı ve kullanıcısı oluşturunuz

mysql -uroot -p
Enter password: # mySQL Parolası yazınız.

create database powerdns;
create user 'powerdns'@'localhost' IDENTIFIED BY 'MYSQL_PAROLASI';
grant all privileges on powerdns.* to powerdns@localhost;

SELECT User, Host, Password FROM mysql.user;

# DNS sunucusu için powerdns isimli veritabanına aşağıdaki tabloları oluşturunuz.

use powerdns;

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)
);

CREATE UNIQUE INDEX name_index ON domains(name);

CREATE TABLE records (
id INT auto_increment,
domain_id INT DEFAULT NULL,
name VARCHAR(255) DEFAULT NULL,
type VARCHAR(6) DEFAULT NULL,
content VARCHAR(255) DEFAULT NULL,
ttl INT DEFAULT NULL,
prio INT DEFAULT NULL,
change_date INT DEFAULT NULL,
primary key(id)
);

CREATE INDEX rec_name_index ON records(name);
CREATE INDEX nametype_index ON records(name,type);
CREATE INDEX domain_id ON records(domain_id);

CREATE TABLE supermasters (
ip VARCHAR(25) NOT NULL,
nameserver VARCHAR(255) NOT NULL,
account VARCHAR(40) DEFAULT NULL
);

exit

#PowerDNS için Web Arayüzü (PowerAdmin) Kurulumu

wget http://cznic.dl.sourceforge.net/project/poweradmin/poweradmin-2.1.7.tgz

tar xvfz poweradmin-2.1.7.tgz

cd poweradmin-2.1.7/inc

vi config.inc.php

$db_host = 'localhost';
$db_port = '3306';
$db_user = 'powerdns';
$db_pass = 'password';  #powerdns kullanıcısı için parolayı yazınız.
$db_name = 'powerdns';
$db_type = 'mysql';
$session_key = 'session_key'; #Mevcut değer değiştirilmelidir.

# PowerAdmin dosyalarını "/var/www/html/" dizine veya belirlediğiniz özel bir DocumentRoot'a taşıyınız.

mv /root/poweradmin-2.1.7/*   /var/www/html/

# Apache Web Server'i Başlatınız.

/bin/systemctl start httpd

/etc/pdns/pdns.conf dosyasını bir metin editörü ile düzenleyerek veritabanı bilgilerini tanımlayınız.

vi /etc/pdns/pdns.conf
#launch= satırını Bul / Değiştir
launch=gmysql
# altına ekle
gmysql-host=localhost
gmysql-user=powerdns
gmysql-password=password #powerdns kullanıcısı için parolayı yazınız.
gmysql-dbname=powerdns

# /etc/pdns/pdns.conf dosyasındaki değişiklikleri kaydedip çıkın.

# PowerDNS servisini başlatınız.
/bin/systemctl start pdns

# External IP adresinizi ve aşağıdaki adresi web tarayıcınıza yazarak PowerAdmin Kurulumunu başlatınız. External IP adresinizi aşağıdaki adımlarla görüntüleyebilirsiniz.

http://destek.doruk.net.tr/staff/index.php?/Knowledgebase/ViewKnowledgebase/Article/209/42

http://External_IP_Adresiniz/install/

# Ekran görüntüsündeki yönergeleri takip ederek PowerAdmin kurulumunu gerçekleştirebilirsiniz.

# Resim 7 'den sonra install klasorunu siliniz.
rm -rf   /var/www/html/install/

PowerAdmin Paneline Erişim

http://External_IP_Adresiniz/index.php

Username : Kullanıcı Adınız
Password : Şifre
Go

PowerAdmin Paneli üzerinden Add Mater Zone 'e tıklayarak DNS sunucusuna domain adı ekleyebilir ve bu işlem sonrasında DNS kayıtlarınızı web arayüzünü kullanarak ekleyebilir ve düzenleyebilirsiniz.

#Yeni DNS Kaydı Eklemek için List Zones 'e tıklayınız

Eklenen domain adınızı listeden bularak " View zone " ikonuna tıklayınız.

Type sekmesinden eklemek istediğiniz DNS kaydı tipini seçerek ilgili alanlara DNS kayıtlarınızı "Add Record"a tıklayarak yazabilirsiniz.

Type sekmesindeki diğer kayıt tiplerini seçerek MX, TXT, NS, CNAME vb. kayıtlarınızı oluşturabilirsiniz.

(10 oy)
Bu makale yararlı
Bu makale yararlı değil

Yorumlar (0)
Yorum gönder
 
 
Tam İsim:
E-Posta:
Yorumlar:
Resim Doğrulama 
 
Lütfen alttaki resimde gördüğünüz karakterleri aşağıdaki kutucuğa girin. Bu özellik otomatik kayıt ve form gönderilerini engellemek için uygulanmaktadır.