| 원저자 | PowerDNS.com B.V. |
|---|---|
| 개발자 | PowerDNS 커뮤니티, 베르트 휘베르트(Bert Hubert) |
| 저장소 | |
| 프로그래밍 언어 | C++ |
| 운영 체제 | 유닉스 계열 |
| 종류 | DNS 서버 |
| 라이선스 | GNU 일반 공중 사용 허가서 v2 |
| 웹사이트 | www |
PowerDNS는 DNS 권한 있는 서버(Authoritative Server), 리커서(Recursor), 프록시를 제공하는 소프트웨어 프로젝트이다. C++로 작성되었으며 GPL 하에 배포된다. 대부분의 유닉스 계열 운영체제에서 실행된다. PowerDNS는 단순한 BIND 형식의 존 파일(zonefile)부터 관계형 데이터베이스 및 부하분산/장애 조치(failover) 알고리즘에 이르기까지 다양한 백엔드를 지원하는 것이 특징이다.
PowerDNS 개발은 1999년에 시작되었으며 원래는 상용 독점 제품이었다. 2002년 11월, 소스 코드가 오픈 소스 GPL v2 라이선스로 공개되었다.
PowerDNS 권한 있는 서버(pdns_server)는 범용 권한 서버와 다중 스레드로 실행되는 여러 동적 로드 가능 백엔드로 구성된다. 핵심 엔진은 모든 패킷 처리와 DNS 지능형 기능을 담당하며, 하나 이상의 백엔드가 임의의 저장 방식을 사용하여 DNS 레코드를 전달한다.
존 전송 및 업데이트 알림이 지원되며, 프로세스는 비특권 모드 및 chroot 환경에서 실행될 수 있다. 쿼리 처리를 가속화하기 위해 다양한 캐시가 유지된다. 런타임 제어는 pdns_control 명령을 통해 가능하며, 이를 통해 개별 존을 다시 로드하거나, 캐시를 삭제하고, 존 알림을 보내거나, MRTG / rrdtool 형식으로 통계를 덤프할 수 있다. 실시간 정보는 선택적인 내장 웹 서버를 통해서도 얻을 수 있다.
PowerDNS를 위한 관리 인터페이스를 만드는 독립적인 프로젝트도 많이 존재한다.
PowerDNS 권한 있는 서버는 3.0 버전부터 DNSSEC을 지원한다. 미리 서명된 존을 제공할 수도 있지만, 온라인 서명 및 키 관리도 가능하다. 이는 구현이 상대적으로 쉽다는 장점이 있지만, 암호화 키 자료가 서버 자체에 존재하게 된다는 단점이 있다(이는 HSM 등을 사용하지 않는 모든 HTTPS 서버의 공통된 특징이기도 하다).
PowerDNS 리커서(pdns_recursor)는 별도의 프로세스로 실행되는 DNS 확인 서버이다.
이 부분은 Boost와 단순한 협력적 멀티태스킹 라이브러리인 MTasker 라이브러리를 사용하여 네이티브 스레드와 사용자 공간 스레드를 조합해 구현되었다. 단독 패키지로도 제공된다.
단순히 캐싱/재귀/이름 확인 서비스를 제공하는 것이 목적이라면 pdns_recursor를 단독으로 실행하는 것이 권한 있는 서버 구성요소 뒤에서 실행하는 것보다 효율적이므로, pdns_recursor를 위해 pdns_server 프로세스를 게이트키퍼로 실행할 필요는 없다.
DNSSEC 검증에 대한 지원은 4.0 버전에서 pdns_recursor에 추가되었다.
PowerDNS DNSdist(dnsdist)는 다음과 같은 기능을 포함하는 캐싱 DNS 프록시이다.
DNSdist는 독립형 패키지로 제공되며, PowerDNS 권한 있는 서버나 리커서, 또는 기타 타사 DNS 서버와 함께 배포할 수 있다.
Nous allons utiliser POWERDNS avec un stockage des tables DNS dans une base de données MARIADB.
PowerDNS was launched in 1999"; "Originally closed source"; "In 2002, all PowerDNS software was released as open source