PowerDNS es un proyecto de software que proporciona un servidor autoritativo DNS , un servidor recursivo y un proxy. Está escrito en C++ y tiene licencia GPL . Se ejecuta en la mayoría de los derivados de Unix . PowerDNS cuenta con una gran cantidad de backends diferentes , que van desde simples archivos de zona estilo BIND hasta bases de datos relacionales [ 1 ] y algoritmos de equilibrio de carga / conmutación por error .
Historia
El desarrollo de PowerDNS comenzó en 1999 y originalmente era un producto comercial propietario. En noviembre de 2002, el código fuente se hizo público bajo la licencia de código abierto GPL v2. [ 2 ] [ 3 ]
Componentes
Servidor autoritativo
El servidor autoritativo PowerDNS (pdns_server) consta de un servidor autoritativo de propósito general y varios backends de carga dinámica que se ejecutan en modo multihilo . El núcleo gestiona todo el procesamiento de paquetes y la inteligencia DNS, mientras que uno o más backends entregan los registros DNS utilizando métodos de almacenamiento arbitrarios .
Se admiten transferencias de zona y notificaciones de actualización, y los procesos pueden ejecutarse sin privilegios y en un entorno chroot . Se mantienen varias cachés para acelerar el procesamiento de consultas. El control en tiempo de ejecución está disponible mediante el comando pdns_control, que permite recargar zonas individuales, purgar la caché, enviar notificaciones de zona y volcar estadísticas en formato Multi Router Traffic Grapher / rrdtool . También se puede obtener información en tiempo real a través del servidor web integrado opcional .
Existen numerosos proyectos independientes para crear interfaces de gestión para PowerDNS.
El servidor autoritativo PowerDNS admite DNSSEC desde la versión 3.0. Si bien se pueden servir zonas pre-firmadas, también es posible realizar la firma y la gestión de claves en línea. Esto tiene la ventaja de ser relativamente sencillo, pero la desventaja de que el material de clave criptográfica se encuentra en los propios servidores (lo cual también ocurre con cualquier servidor HTTPS cuando no se utiliza con un HSM, por ejemplo).
Recursor
PowerDNS Recursor (pdns_recursor [ 4 ] ) es un servidor DNS de resolución que se ejecuta como un proceso separado.
Esta parte de PowerDNS utiliza una combinación de subprocesos nativos y subprocesos en el espacio de usuario, mediante Boost y la biblioteca MTasker [ 5 ] , que es una sencilla biblioteca de multitarea cooperativa. También está disponible como paquete independiente.
No es necesario ejecutar un proceso pdns_server como guardián para pdns_recursor, si el objetivo es simplemente proporcionar un servicio de nombres de almacenamiento en caché/recursivo/resolución, ya que ejecutar pdns_recursor por sí solo es incluso más eficiente que detrás del componente autoritativo.
En la versión 4.0 se añadió compatibilidad con la validación DNSSEC a pdns_recursor.
DNSdist
PowerDNS DNSdist (dnsdist [ 6 ] ) es un proxy DNS con almacenamiento en caché, con muchas características que incluyen:
- Balanceo de carga de consultas DNS
- Compatibilidad con cifrado DNS: DNS sobre HTTPS, DNS sobre TLS, tanto de subida como de bajada (es decir, hacia clientes y servidores backend).
- Motor de políticas Lua: amplias capacidades para crear reglas para el procesamiento de paquetes DNS, como cambiar la respuesta, redirigir una consulta o bloquear el tráfico que supere un número máximo de consultas por segundo (QPS) desde una subred.
- Generación dinámica de reglas: se utiliza para crear bloques dinámicos, que son reglas de corta duración que se insertan automáticamente en función de umbrales configurables y del análisis del tráfico recibido recientemente. Se utiliza para hacer frente a ataques DoS.
DNSdist está disponible como paquete independiente y se puede implementar con PowerDNS Authoritative Server o Recursor, o con cualquier otro servidor DNS de terceros.
Véase también
Referencias
- ^ Jeannerot, Christophe (21 de octubre de 2016). «POWERDNS [ sic ] » . Azylis dot net (en francés). Archivado desde el original el 27 de julio de 2019 . Consultado el 27 de julio de 2019 .
Todos utilizamos POWERDNS con un almacenamiento de tablas DNS en una base de datos MARIADB.
- ↑ Mens, Jan-Piet (2008). Servidores DNS alternativos: selección e implementación, y back-ends SQL/LDAP opcionales (Tapa blanda) . UIT Cambridge Ltd. pág. 114. ISBN 978-0-9544529-9-5.
- ↑ "Acerca de" . PowerDNS . PowerDNS.COM BV. s.f. Consultado el 24 de enero de 2019.
PowerDNS se lanzó en 1999"; "Originalmente de código cerrado"; "En 2002, todo el software de PowerDNS se lanzó como código abierto".
- ↑ "PowerDNS Recursor" . Doc.powerdns.com . Consultado el 11 de mayo de 2014 .
- ↑ MTasker
- ↑ "PowerDNS DNSdist" . dnsdist.org . Consultado el 11 de mayo de 2023 .
Enlaces externos
- Sitio web oficial

- pdns en GitHub
- Software DNS
- Software libre programado en C++
- Software gratuito relacionado con redes
- Software programable mediante Lua (lenguaje de programación).
- Software de servidor DNS para Linux
- Software que utiliza la Licencia Pública General de GNU.