DNS 솔루션인 PowerDNS를 정리 합니다.
PowerDNS 개요
CentOS 6.5에 설치
PowerDNS 설치
CensOS용 EPEL 설치를 합니다.
PowerDNS를 설치 합니다.
yum install pdns pdns-backend-mysql pdns-recursor
|
MariaDB에서 Database 등을 생성 합니다.
vi pdns.sql
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 INT 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, primary key(id) ) Engine=InnoDB; 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 ) Engine=InnoDB;
|
mysql -uroot -p mysql
create database powerdns; grant all privileges on powerdns.* to powerdns@127.0.0.1 identified by 'demo1234'; grant all privileges on powerdns.* to powerdns@localhost identified by 'demo1234'; update user set select_priv = 'Y', insert_priv = 'Y', update_priv = 'Y', delete_priv = 'Y', create_priv = 'Y', drop_priv = 'Y', reload_priv = 'Y', shutdown_priv = 'Y', process_priv = 'Y', file_priv = 'Y', grant_priv = 'Y', references_priv = 'Y', index_priv = 'Y', alter_priv = 'Y', show_db_priv = 'Y', super_priv = 'Y', create_tmp_table_priv = 'Y', lock_tables_priv = 'Y', execute_priv = 'Y', repl_slave_priv = 'Y', repl_client_priv = 'Y', create_view_priv = 'Y', show_view_priv = 'Y', create_routine_priv = 'Y', alter_routine_priv = 'Y', create_user_priv = 'Y' where user = 'powerdns'; commit; flush privileges;
select host, user, password from user where user = 'powerdns' order by user, host; select * from user where user = 'powerdns' order by user, host;
use powerdns; source pownerdns.sql commit; show tables; quit;
|
vi /etc/pdns/pdns.conf
setuid=pdns #--- 이미 있음 setgid=pdns #--- 이미 있음 #launch=bind #--- 삭제
launch=gmysql allow-recursion=127.0.0.1,192.168.70.1 config-dir=/etc/pdns daemon=yes disable-axfr=yes guardian=yes local-port=53 module-dir=/usr/lib64/pdns recursor=127.0.0.1:5300 socket-dir=/var/run version-string=powerdns gmysql-host=localhost gmysql-user=powerdns gmysql-password=demo1234 gmysql-dbname=powerdns gmysql-port=3306 #gmysql-socket=/var/lib/mysql/mysql.sock #--- 향후 사용
|
vi /etc/pdns-recursor/recursor.conf
local-port = 5300 allow-from=127.0.0.0/8
|
setup 명령을 사용하여 방화벽 설정을 합니다.
PowerDNS를 시작 합니다.
service pdns restart
service pdns-recursor restart
|
PowerDNS 설치 확인
yum install bind-utils
dig @localhost www.jopenbusiness.com
|
PowerAdmin 설치
PowerAdmin 사이트 정보
PowerAdmin 설치
PowerAdmin을 다운로드 합니다.
http://ossnode101.ossbiz.co.kr/poweradmin/install/ 로 접속하여 설치를 진행 합니다.
설치 완료 후 install 폴더를 삭제 합니다.
cd /nas/www/ossnode101/public_html/poweradmin
rm -rf install
|
http://ossnode101.ossbiz.co.kr/poweradmin/ 사이트에 admin / demo1234 사용자로 접속하여 사용 합니다.
설치 후 config.inc.php 파일이 없다는 오류가 표시되면서 정상적으로 동작하지 않을 경우 아래와 같이 작업 합니다.
cd inc cp config-me.inc.php config.inc.php
|
vi config.inc.php
$db_host = 'localhost'; $db_port = '3306'; $db_user = 'powerdns'; $db_pass = 'demo1234'; $db_name = 'powerdns'; $db_type = 'mysql'; $session_key = 'dfjdd762he'; $iface_lang = 'en_EN';
|
PowerDNS 설정
참고 문헌