DNS

PDNS 설정 설치 (CentOS)

서버엔지니어 2022. 11. 16.
728x90

PDNS (PowerDNS)

 

기본적으로 Apache PHP DB (MySQL or MariaDB)가 설치되어있어야한다.

# yum -y install epel-release pdns pdns-backed-mysql

 

PDNS DB설정

 

# mysql -u root -p

mysql > create database pdnsdb;         // 데이터 베이스 생성

mysql > grant all on pdnsdb.* to pdnsadmin@localhost identified by '1234';            // 생성한 데이터 베이스에 권한 추가 및 패스워드 설정

mysql> use pdnsdb;

 

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

 

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

 

mysql> create index rec_name_index on records(name);

mysql> create index nametype_index on records(name,type);

mysql> create index domain_id on records(domain_id);

mysql> create table supermasters ( ip VARCHAR(25) NOT NULL, nameserver VARCHAR(255) NOT

NULL, account VARCHAR(40) DEFAULT NULL );

 

mysql> flush privileges;

 

방화벽 설정 

# vi /etc/sysconfig/iptables

 

-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 53 -j ACCEPT

-A RH-Firewall-1-INPUT -p udp -m state --state NEW -m udp --dport 53 -j ACCEPT

저장

# service iptables restart

 

PDNS 설정파일 수정

# cp -arp /etc/pdns/pdns.conf /etc/pdns/pdns.conf_ori

 

# vi /etc/pdns/pdns.conf

launch=gmysql ← 기존 bind를 gmysql로 변경합니다.

gmysql-host=localhost ← 호스트를 localhost로 설정합니다.

gmysql-user=pdnsadmin ← pdns유저명 입력합니다.

gmysql-password=1234 ← 비밀번호를 입력합니다.

gmysql-dbname=pdnsdb ← DB명을 입력합니다.

 

# chkconfig --levels 235 pdns on

# /etc/init.d/pdns start

# netstat -ntlp

 

Poweradmin설치

vi /etc/httpd/conf.d/httpd-vhosts.conf 여기에 없을것이다.

 

find / -name *vhosts.conf

/usr/share/doc/httpd-2.4.6/httpd-vhosts.conf

이위치에 있다.

<VirtualHost *:80>

    ServerAdmin keyclass1@blacklinux.xyz

    DocumentRoot "/home/webdns/html/poweradmin/"

    ServerName dns.blacklinux.xyz

    ErrorLog /var/log/httpd/dns.blacklinux_error_log

    TransferLog logs/dns.blacklinux.xyz_access_log

#    Require all granted

#    CustomLog "/var/log/httpd/dummy-host2.example.com-access_log" common

<Directory "/home/webdns/html/poweradmin/>

            Options FollowSymLinks

            AllowOverride None

            Require all granted

</Directory>

</VirtualHost>

 

저장

 

# cd /usr/local/src

# wget mirror.koreaidc.com/dns/poweradmin-2.1.6.tgz

# tar xvfz poweradmin-2.1.6.tgz

# mv ./poweradmin-2.1.6/* /home/poweradmin/

# cd /home/poweradmin/inc

# cp -arp ./config-me.inc.php ./config.inc.php

# vi /home/poweradmin/inc/config.inc.php

$db_host = 'localhost'; ← 로컬호스트로 입력합니다.
$db_port = '3306'; ← DB포트번호를 입력합니다.
$db_user = 'pdnsadmin'; ← DB유저명을 입력합니다.
$db_pass = '1234'; ← DB유저의 패스워드를 입력합니다.
$db_name = 'pdnsdb'; ← DB명을 입력합니다.
$db_type = 'mysql'; ← DB타입을 입력합니다.
 
권한설정
cd /home/poweradmin
 
chown -R apache:apache 
chmod -R 755 /home/poweradmin/*

MDB2 설치

# cd /usr/local/php/bin/
# ./pear install MDB2
# ./pear install MDB2_Driver_mysql
# ldconfig
# /etc/init.d/apachectl restart
3-4. 웹상에서의 설치 및 확인
- 도메인/install로 접근하면 설치화면에 접근할 수 있습니다. 아쉽게도 한글이 지원하지 않습니다. 기본으로 되어 있는 영어로 선택하고 다음으로 진행합니다.

 

앞서 입력한 DB 접속정보를 기입하고 넘어갑니다.

 
- 내용에 맞게 입력하고 다음으로 진행합니다.

 

어드민의 계정정보를 입력하고, 1차 2차 네임서버를 입력해주고 다음으로 진행합니다.

 

 

 
최초에 Mysql에 접근하여 설정하였던 부분이니 다음으로 진행합니다.
확인하는 부분입니다. 틀린 부분이 없는지 확인하고 다음으로 진행합니다.
# rm -rf /home/poweradmin/install
- install디렉터리를 지우라고 나옵니다. 다시 서버로 돌아가 install디렉터리를 지워줍니다.

 

 

 

 

확인

 

 

 

 

 

 

 

 

 

'DNS' 카테고리의 다른 글

DNS설치 설정 (CentOS named)  (1) 2022.11.16

댓글