KnotDNS 3.0.0, un servidor DNS de código abierto que proporciona funciones de DNS esenciales
Se ha publicado el lanzamiento de Knot DNS 3.0.0, un servidor DNS autorizado de alto rendimiento (el recursor se crea como una aplicación separada) que admite todas las características modernas de DNS.
Knot DNS es un servidor autorizado de código abierto para el sistema de nombres de dominio. Fue creado desde cero y es desarrollado activamente por CZ.NIC. El propósito de este proyecto es proporcionar una implementación alternativa de código abierto de un servidor DNS autorizado adecuado para que los operadores de TLD aumenten la seguridad, la estabilidad y la resistencia generales del Sistema de nombres de dominio.
Se implementa como un demonio de subprocesos múltiples, utilizando una serie de técnicas de programación y estructuras de datos para hacer que el servidor sea muy rápido.
Sobre Knot DNS
Knot DNS utiliza un analizador de zonas escrito en Ragel para lograr una carga muy rápida de las zonas al inicio. También es capaz de agregar y eliminar zonas sobre la marcha cambiando el archivo de configuración y recargando el servidor usando la utilidad ‘knotc’.
Knot DNS se centra en el procesamiento de consultas de alto rendimiento, para lo cual utiliza una implementación multiproceso y en su mayoría sin bloqueo que se adapta bien a los sistemas SMP.
Se proporcionan características como agregar y eliminar zonas sobre la marcha, transferencia de zona entre servidores, DDNS (actualizaciones dinámicas), extensiones NSID (RFC 5001), EDNS0 y DNSSEC (incluido NSEC3), limitación de la tasa de respuesta (RRL).
Principales novedades de KnotDNS
En esta nueva version se agregó el modo de red de alto rendimiento, implementado utilizando el subsistema XDP (eXpress Data Path), que proporciona un medio para procesar paquetes en el nivel del controlador de red antes de ser procesados por la pila de red del kernel de Linux. Este modo requiere el kernel de Linux 4.18 o posterior.
Se agregó soporte para “Zonas de catálogo” para simplificar el mantenimiento de servidores DNS secundarios. Cuando esta función está habilitada, en lugar de definir registros separados para cada zona secundaria en el servidor secundario, el catálogo de zona se transfiere entre los servidores primario y secundario, después de lo cual las zonas creadas en el servidor primario marcadas como incluidas en el catálogo se crearán automáticamente en el servidor secundario sin la necesidad de editar archivos. Configuración. Se ofrece la utilidad kcatalogprint para administrar el catálogo.
Se agregó soporte para el estado de revocación de KSK (clave de firma de clave) (RFC 5011) en el modo de administración de claves manual de DNSSEC.
Se agregó soporte para la generación determinista de firmas digitales usando algoritmos ECDSA (requiere GnuTLS 3.6.10 y más reciente para funcionar).
De los demás cambios que se destacan de esta nueva version:
- Se agregó un nuevo modo de verificación DNSSEC.
- Se agregó la utilidad kzonesign para la generación manual de firmas digitales para DNSSEC.
- Se agregó la utilidad kxdpgun con implementación de DNS de alto rendimiento sobre generador de tráfico UDP para Linux.
- Kdig agrega compatibilidad con DNS sobre HTTPS (DoH) con GnuTLS y libnghttp2.
- Se propone un método seguro para realizar copias de seguridad y restaurar datos de zonas DNS.
- El rendimiento del módulo de estadísticas se ha mejorado significativamente.
- Cuando se habilita el modo multiproceso para generar firmas digitales para zonas DNS, se paralelizan algunas operaciones adicionales con zonas.
- Eficiencia de almacenamiento en caché mejorada y rendimiento de consultas mejorado.
Descargar e instalar
Para poder instalar este servidor DNS en tu sistema debes de realizar la compilación de su código y para ello debes contar con las siguientes dependencias:
- make
- libtool
- pkg-config
- autoconf >= 2.65
- python-sphinx
Ahora solo tienes que obtener el código de la última version. Esto lo puedes hacer dirigente a su sitio web oficial y en su sección de descargas podrás obtener el paquete.
En cuanto a los pasos a realizar para la compilación, no es la gran ciencia, solo tienes que ejecutar:
autoreconf -i -f ./configure make
Y si requieres de una instalación mas personalizada, puedes consultar los detalles en el siguiente enlace.