PowerDNS 문서 원본 보기
←
PowerDNS
둘러보기로 가기
검색하러 가기
문서 편집 권한이 없습니다. 다음 이유를 확인해주세요:
요청한 명령은 다음 권한을 가진 사용자에게 제한됩니다:
사용자
.
이 문서는 편집하거나 다른 명령을 할 수 없도록 보호되어 있습니다.
문서의 원본을 보거나 복사할 수 있습니다.
[[DNS|DNS]] 솔루션인 PowerDNS를 정리 합니다. *홈페이지 : https://www.powerdns.com/ *다운로드 : *라이선스 : *플랫폼 : = PowerDNS 개요 = PowerDNS의 테이블간 관계도 [[File:PowerDNS Architecture.png|700px|PowerDNS Architecture.png]] = CentOS 6.5에 설치 = == PowerDNS 설치 == [[CentOS#EPEL .EC.84.A4.EC.B9.98|CensOS용 EPEL 설치]]를 합니다. PowerDNS를 설치 합니다. {| cellspacing="1" cellpadding="1" style="color: rgb(0, 0, 0); font-family: sans-serif; line-height: 19.0499992370605px; width: 853px;" |- | style="background-color: rgb(241, 241, 241);" | yum install pdns pdns-backend-mysql pdns-recursor<br/> |} [[MariaDB|MariaDB]]에서 Database 등을 생성 합니다. vi pdns.sql {| cellspacing="1" cellpadding="1" style="color: rgb(0, 0, 0); font-family: sans-serif; line-height: 19.0499992370605px; width: 853px;" |- | style="background-color: rgb(241, 241, 241);" | create table domains (<br/> id INT auto_increment,<br/> name VARCHAR(255) NOT NULL,<br/> master VARCHAR(128) DEFAULT NULL,<br/> last_check INT DEFAULT NULL,<br/> type VARCHAR(6) NOT NULL,<br/> notified_serial INT DEFAULT NULL, <br/> account VARCHAR(40) DEFAULT NULL,<br/> primary key (id)<br/>) Engine=InnoDB;<br/>CREATE UNIQUE INDEX name_index ON domains(name); CREATE TABLE records (<br/> id INT auto_increment,<br/> domain_id INT DEFAULT NULL,<br/> name VARCHAR(255) DEFAULT NULL,<br/> type VARCHAR(10) DEFAULT NULL,<br/> content VARCHAR(64000) DEFAULT NULL,<br/> ttl INT DEFAULT NULL,<br/> prio INT DEFAULT NULL,<br/> change_date INT DEFAULT NULL,<br/> primary key(id)<br/>) Engine=InnoDB;<br/>CREATE INDEX rec_name_index ON records(name);<br/>CREATE INDEX nametype_index ON records(name,type);<br/>CREATE INDEX domain_id ON records(domain_id); create table supermasters (<br/> ip VARCHAR(25) NOT NULL, <br/> nameserver VARCHAR(255) NOT NULL, <br/> account VARCHAR(40) DEFAULT NULL<br/>) Engine=InnoDB; |} mysql -uroot -p mysql {| cellspacing="1" cellpadding="1" style="color: rgb(0, 0, 0); font-family: sans-serif; line-height: 19.0499992370605px; width: 853px;" |- | style="background-color: rgb(241, 241, 241);" | create database powerdns;<br/>grant all privileges on powerdns.* to powerdns@127.0.0.1 identified by 'demo1234';<br/>grant all privileges on powerdns.* to powerdns@localhost identified by 'demo1234';<br/>update user<br/> set select_priv = 'Y', <br/> insert_priv = 'Y', <br/> update_priv = 'Y', <br/> delete_priv = 'Y', <br/> create_priv = 'Y', <br/> drop_priv = 'Y', <br/> reload_priv = 'Y', <br/> shutdown_priv = 'Y', <br/> process_priv = 'Y', <br/> file_priv = 'Y', <br/> grant_priv = 'Y', <br/> references_priv = 'Y', <br/> index_priv = 'Y', <br/> alter_priv = 'Y', <br/> show_db_priv = 'Y', <br/> super_priv = 'Y', <br/> create_tmp_table_priv = 'Y', <br/> lock_tables_priv = 'Y', <br/> execute_priv = 'Y', <br/> repl_slave_priv = 'Y', <br/> repl_client_priv = 'Y', <br/> create_view_priv = 'Y', <br/> show_view_priv = 'Y', <br/> create_routine_priv = 'Y', <br/> alter_routine_priv = 'Y', <br/> create_user_priv = 'Y'<br/>where user = 'powerdns';<br/>commit;<br/>flush privileges; select host, user, password from user where user = 'powerdns' order by user, host;<br/>select * from user where user = 'powerdns' order by user, host; use powerdns;<br/>source pdns.sql<br/>commit;<br/>show tables;<br/>quit; |} vi /etc/pdns/pdns.conf {| cellspacing="1" cellpadding="1" style="color: rgb(0, 0, 0); font-family: sans-serif; line-height: 19.0499992370605px; width: 853px;" |- | style="background-color: rgb(241, 241, 241);" | setuid=pdns #--- 이미 있음<br/>setgid=pdns #--- 이미 있음<br/>#launch=bind #--- 삭제 launch=gmysql<br/>allow-recursion=127.0.0.1,192.168.70.1<br/>config-dir=/etc/pdns<br/>daemon=yes<br/>disable-axfr=yes<br/>guardian=yes<br/>local-port=53<br/>module-dir=/usr/lib64/pdns<br/>recursor=127.0.0.1:5300<br/>socket-dir=/var/run<br/>version-string=powerdns<br/> <br/>gmysql-host=localhost<br/>gmysql-user=powerdns<br/>gmysql-password=demo1234<br/>gmysql-dbname=powerdns<br/>gmysql-port=3306<br/>#gmysql-socket=/var/lib/mysql/mysql.sock #--- 향후 사용 |} vi /etc/pdns-recursor/recursor.conf {| cellspacing="1" cellpadding="1" style="color: rgb(0, 0, 0); font-family: sans-serif; line-height: 19.0499992370605px; width: 853px;" |- | style="background-color: rgb(241, 241, 241);" | local-port = 5300<br/>allow-from=127.0.0.0/8<br/> |} setup 명령을 사용하여 방화벽 설정을 합니다. {| cellspacing="1" cellpadding="1" style="color: rgb(0, 0, 0); font-family: sans-serif; line-height: 19.0499992370605px; width: 853px;" |- | style="background-color: rgb(241, 241, 241);" | 53/tcp, 53/udp |} PowerDNS를 시작 합니다. {| cellspacing="1" cellpadding="1" style="color: rgb(0, 0, 0); font-family: sans-serif; line-height: 19.0499992370605px; width: 853px;" |- | style="background-color: rgb(241, 241, 241);" | service pdns restart service pdns-recursor restart |} PowerDNS 설치 확인 {| cellspacing="1" cellpadding="1" style="color: rgb(0, 0, 0); font-family: sans-serif; line-height: 19.0499992370605px; width: 853px;" |- | style="background-color: rgb(241, 241, 241);" | <font color="#333333" face="sans-serif, Arial, Verdana, Trebuchet MS"><span style="line-height: 20.7999992370605px;">yum install bind-utils</span></font> <font color="#333333" face="sans-serif, Arial, Verdana, Trebuchet MS"><span style="line-height: 20.7999992370605px;">dig @localhost www.jopenbusiness.com<br/></span></font>nslookup www.jopenbusiness.com localhost<font color="#333333" face="sans-serif, Arial, Verdana, Trebuchet MS"><span style="line-height: 20.7999992370605px;"></span></font> |} == PowerAdmin 설치 == <span style="color:#0000FF;">'''<span style="font-size:larger;">PowerAdmin 사이트 정보</span>'''</span> *홈페이지 : [http://www.poweradmin.org/ http://www.poweradmin.org/] *GutHub : [https://github.com/poweradmin/poweradmin https://github.com/poweradmin/poweradmin] <span style="color:#0000FF;"><span style="font-size:larger;">'''PowerAdmin 설치'''</span></span> PowerAdmin을 다운로드 합니다. {| cellspacing="1" cellpadding="1" style="color: rgb(0, 0, 0); font-family: sans-serif; line-height: 19.0499992370605px; width: 853px;" |- | style="background-color: rgb(241, 241, 241);" | wget [http://jaist.dl.sourceforge.net/project/poweradmin/poweradmin-2.1.7.tgz http://jaist.dl.sourceforge.net/project/poweradmin/poweradmin-2.1.7.tgz]<br/>tar xvfz poweradmin-2.1.7.tgz<br/>chown -R apache:apache poweradmin-2.1.7<br/>mv poweradmin-2.1.7 /nas/www/ossnode101/public_html/poweradmin |} <div> 필요한 PHP 라이브러리를 설치 합니다. {| cellspacing="1" cellpadding="1" style="color: rgb(0, 0, 0); font-family: sans-serif; line-height: 19.0499992370605px; width: 853px;" |- | style="background-color: rgb(241, 241, 241);" | wget [http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm]<br/>rpm -Uvh epel-release-6-8.noarch.rpm #--- EPEL 라이브러리가 없으면 설정 합니다. yum install php-mcrypt |} </div> <br/>[http://ossnode101.ossbiz.co.kr/poweradmin/install/ http://ossnode101.ossbiz.co.kr/poweradmin/install/] 로 접속하여 설치를 진행 합니다. Step 1<br/>[[File:PowerAdmin Install 001.png|File:PowerAdmin Install 001.png]] Step 2<br/>[[File:PowerAdmin Install 002.png|700px|PowerAdmin Install 002.png]] Step 3<br/>[[File:PowerAdmin Install 003.png|700px|PowerAdmin Install 003.png]] Step 4<br/>[[File:PowerAdmin Install 004.png|700px|PowerAdmin Install 004.png]] Step 5<br/>[[File:PowerAdmin Install 005.png|700px|PowerAdmin Install 005.png]] Step 6<br/>[[File:PowerAdmin Install 006.png|700px|PowerAdmin Install 006.png]] Step 7<br/>[[File:PowerAdmin Install 007.png|700px|PowerAdmin Install 007.png]] <br/>설치 완료 후 install 폴더를 삭제 합니다. {| cellspacing="1" cellpadding="1" style="color: rgb(0, 0, 0); font-family: sans-serif; line-height: 19.0499992370605px; width: 853px;" |- | style="background-color: rgb(241, 241, 241);" | cd /nas/www/ossnode101/public_html/poweradmin rm -rf install |} [http://ossnode101.ossbiz.co.kr/poweradmin/ http://ossnode101.ossbiz.co.kr/poweradmin/] 사이트에 admin / demo1234 사용자로 접속하여 사용 합니다. 설치 후 config.inc.php 파일이 없다는 오류가 표시되면서 정상적으로 동작하지 않을 경우 아래와 같이 작업 합니다. {| cellspacing="1" cellpadding="1" style="color: rgb(0, 0, 0); font-family: sans-serif; line-height: 19.0499992370605px; width: 853px;" |- | style="background-color: rgb(241, 241, 241);" | cd inc<br/>cp config-me.inc.php config.inc.php |} vi config.inc.php {| cellspacing="1" cellpadding="1" style="color: rgb(0, 0, 0); font-family: sans-serif; line-height: 19.0499992370605px; width: 853px;" |- | style="background-color: rgb(241, 241, 241);" | $db_host = 'localhost';<br/>$db_port = '3306';<br/>$db_user = 'powerdns';<br/>$db_pass = 'demo1234';<br/>$db_name = 'powerdns';<br/>$db_type = 'mysql';<br/>$session_key = 'dfjdd762he';<br/>$iface_lang = 'en_EN'; |} = PowerDNS 설정 = == Database 입출력으로 관리 == <span style="color:#0000FF;">'''<span style="font-size:larger;">records 테이블의 type 종류</span>'''</span> {| border="1" cellspacing="0" cellpadding="2" style="width: 100%;" |- | style="text-align: center; background-color: rgb(148, 138, 84);" | <span style="color:#FFFFFF;">'''type'''</span> | style="text-align: center; background-color: rgb(148, 138, 84);" | <span style="color:#FFFFFF;">'''상세'''</span> |- | style="text-align: center;" | <span style="color:#000000;">NS</span> | <span style="color:#000000;">Name Server</span> |- | style="text-align: center;" | <span style="color:#000000;">A</span> | <span style="color:#000000;">도메인에 IP 할당</span> |- | style="text-align: center;" | <span style="color:#000000;">MX</span> | <span style="color:#000000;">Mail Exchange</span> |- | style="text-align: center;" | <span style="color:#000000;">CNAME</span> | <span style="color:#000000;">도메인 별칭에 IP 할당</span> |- | style="text-align: center;" | <span style="color:#000000;">PTR</span> | <span style="color:#000000;">IP에 도메인 할당</span> |} <span style="color:#FFFFFF;"><span style="color:#FFFFFF;"><span style="color:#FFFFFF;"><span style="color:#0000FF;"><span style="font-size:larger;">'''DNS 설정 샘플'''</span></span></span></span></span> <span style="color:#FFFFFF;"><span style="color:#FFFFFF;">설치 후 config.inc.php 파일이 없다는 오류가 표시되면서 정상적으로 동작하지 않을 경우 아래와 같이 작업 합니다.</span></span> {| cellspacing="1" cellpadding="1" style="color: rgb(0, 0, 0); font-family: sans-serif; line-height: 19.0499992370605px; width: 853px;" |- | style="background-color: rgb(241, 241, 241);" | #--- 도메인 등록<br/>INSERT INTO domains (name, master, type, notified_serial) VALUES ('jopenbusiness.com', '', 'MASTER', 1);''<br/>select id, name from domains where name = 'jopenbusiness.com'; #--- NS : Name Server 등록<br/>INSERT INTO records (domain_id, name, type, content, ttl, prio, change_date) <br/> VALUES (1, 'jopenbusiness.com', 'NS', 'ns.jopenbusiness.com', 300, 0, 1267002606); #--- A : 도메인에 IP 할당<br/>INSERT INTO records (domain_id, name, type, content, ttl, prio, change_date) <br/> VALUES (1, 'mail.jopenbusiness.com', 'A', '192.168.70.1', 300, 0, 1267002606); #--- MX : Mail Exchange 설정<br/>INSERT INTO records (domain_id, name, type, content, ttl, prio, change_date) <br/> VALUES (1, 'jopenbusiness.com', 'MX', 'mail.jopenbusiness.com', 300, 10, 1267002606);<br/> <br/> #--- CNAME : 도메인의 별칭에 IP 할당<br/>INSERT INTO records (domain_id, name, type, content, ttl, prio, change_date) <br/> VALUES (1, 'mail01.jopenbusiness.com', 'CNAME', '192.168.70.1', 300, 0, 1267002606);<br/> <br/> #--- PTR : IP에 도메인 할당<br/>INSERT INTO records (domain_id, name, type, content, ttl, prio, change_date) <br/> VALUES (1, '192.168.70.1', 'PTR', 'mail.jopenbusiness.com', 300, 0, 1267002606); #--- SOA : <br/>INSERT INTO records (domain_id, name, type, content, ttl, prio, change_date) <br/> VALUES (1, 'jopenbusiness.com', 'SOA', 'ns.jopenbusiness.com dnsmaster@jopenbusiness.com2011120800 10800 3600 432000 300', 300, 0, 1267002606); |} == PowerAdmin으로 관리 == <span style="color:#0000FF;"><span style="font-size:larger;">'''PowerAdmin 메뉴'''</span></span> {| border="1" cellspacing="0" cellpadding="2" style="width: 100%;" |- | style="text-align: center; background-color: rgb(148, 138, 84);" | <span style="color:#FFFFFF;">Index</span> | PowerAdmin 메뉴 표시 |- | style="text-align: center; background-color: rgb(148, 138, 84);" | <span style="color:#FFFFFF;">Search zones and records</span> | Zone과 records 검색 |- | style="text-align: center; background-color: rgb(148, 138, 84);" | <span style="color:#FFFFFF;">List zones</span> | Zone 목록 조회 및 수정<br/>Zone에 records를 등록할 수 있습니다. |- | style="text-align: center; background-color: rgb(148, 138, 84);" | <span style="color:#FFFFFF;">List supermasters</span> | Super Master 목록 조회 |- | style="text-align: center; background-color: rgb(148, 138, 84);" | <span style="color:#FFFFFF;">Add master zone</span> | master zone 등록 |- | style="text-align: center; background-color: rgb(148, 138, 84);" | <span style="color:#FFFFFF;">Add slave zone</span> | slave zone 등록 |- | style="text-align: center; background-color: rgb(148, 138, 84);" | <span style="color:#FFFFFF;">Add supermaster</span> | Super Master 네임서버 등록 |- | style="text-align: center; background-color: rgb(148, 138, 84);" | <span style="color:#F0F8FF;">Change password</span> | 사용자 암호 변경 |- | style="text-align: center; background-color: rgb(148, 138, 84);" | <span style="color:#FFFFFF;">User administartion</span> | 사용자 정보 관리<br/>Permission template을 사용하여 사용자의 권한 관리 |- | style="text-align: center; background-color: rgb(148, 138, 84);" | <span style="color:#FFFFFF;">Logout</span> | 로그 아웃 |} <span style="color:#0000FF;"><span style="font-size:larger;">'''DNS 등록 절차'''</span></span> "Add master zone" 메뉴에서 도메인 (zztest.com)을 등록 합니다. [[File:PowerAdmin setting01.png|700px|PowerAdmin setting01.png]] "List zones" 메뉴를 선택 합니다.<br/> zztest.com 존의 수정 화면에서 records를 등록 합니다.<br/>[[File:PowerAdmin setting02.png|700px|PowerAdmin setting02.png]] "Search zones and records" 에서 아래 정보를 확인할 수 있습니다.<br/>[[File:PowerAdmin setting03.png|700px|PowerAdmin setting03.png]]<br/> DNS 등록이 정상적으로 설정 되었는지 확인 합니다. {| cellspacing="1" cellpadding="1" style="color: rgb(0, 0, 0); font-family: sans-serif; line-height: 19.0499992370605px; width: 853px;" |- | style="background-color: rgb(241, 241, 241);" | dig @localhost www.zztest.com |} = DNS Server 등록 = Whois에 DNS 서버를 등록하는 방법을 설명 합니다. "도메인 활용/부가서비스 -> 네임서버 고급설정" 메뉴를 선택 합니다.<br/>도메인을 선택한 후 "DNS 호스트 설정" 버튼을 선택하여 DNS 호스트를 등록 합니다.<br/>(주의, 등록한 DNS host는 등록하려는 DNS Server에 설정되어 있어야 합니다.) [[File:Whois 001.png|File:Whois 001.png]] "변경/이전 -> 등록정보/네임서버 변경" 메뉴를 선택 합니다.<br/>도메인을 선택한 후 "네임서버 변경" 버튼을 선택하여 네임서버에 새로 등록한 DNS 호스트를 설정 합니다. [[File:Whois 002.png|700px|Whois 002.png]] = 참고 문헌 = <ul style="/* insecure input */"> <li>[[Network|Network]]</li> <li>[[DNS|DNS]]</li> <li>[http://www.jopenbusiness.com/mediawiki/index.php/CentOS#DNS_.EC.84.9C.EB.B2.84_.EA.B5.AC.EC.B6.95 DNS 서버 구축] : bind를 사용한 [[DNS|DNS]] 서버 구축</li> </ul> [[Category:Network|Category:Network]]
PowerDNS
문서로 돌아갑니다.
둘러보기 메뉴
개인 도구
로그인
이름공간
문서
토론
변수
보기
읽기
원본 보기
역사 보기
더 보기
검색
주요 메뉴
오픈소스 컨설팅
오픈소스
오픈소스 라이선스
오픈소스 커뮤니티
오픈소스 종류
오픈소스 현황
오픈소스 한글화
문자셋과 인코딩
Storage
Network
보안
고가용성
모니터링
오픈 API
오픈 서비스
Cloud
BigData
Android
산사랑 노트
둘러보기
인기 문서
최근 수정 문서
모든 문서
모든 분류
임의 문서
위키 사용법
자매 사이트
CMS
오비컨 홈페이지
오비컨 CMS
블로그
데모 - SuiteCRM
산사랑의 Twitter
산사랑의 Facebook
친구 사이트
공개SW 포털
OLIS
한국공개소프트웨어협회
AppCenter 지원본부
OLC
PSEG
개발자 블로그
블로터
개인 메뉴
메뉴 수정
양식함
도구
여기를 가리키는 문서
가리키는 글의 최근 바뀜
특수 문서 목록
문서 정보