Un resolvedor DNS portátil en Rust que bloquea anuncios, asigna dominios .numa a servicios de desarrollo locales y puede cifrar consultas con ODoH.
coredns/coredns
Un servidor DNS flexible escrito en Go que encadena plugins, cada uno encargado de una función DNS.
- Estrellas
- 14,416
- Forks
- 2,554
- Issues abiertos
- 300
- Último commit
- hace 15 horas
¿Qué es?
CoreDNS es un servidor y reenviador DNS escrito en Go. Su comportamiento se construye mediante una cadena de plugins, cada uno encargado de una función DNS, por lo que puedes añadir o quitar capacidades editando un Corefile, sin cambiar el código. Puedes añadir las funciones que no vienen incluidas de serie escribiendo un plugin personalizado.
Acepta consultas por UDP/TCP clásico, así como por DNS over TLS (DoT), DNS over HTTP/2 y HTTP/3 (DoH), DNS over QUIC (DoQ) y gRPC. Los plugins integrados permiten servir archivos de zona con firma DNSSEC, actuar como servidor primario o secundario para transferencias de zona, almacenar en caché, reenviar consultas a resolvers ascendentes, balancear las respuestas y reescribir consultas.
CoreDNS puede usar etcd o Kubernetes como backend para el descubrimiento de servicios y expone métricas de Prometheus. Es un proyecto graduado de la CNCF y se configura mediante un único Corefile.
Funciones clave
- 01Arquitectura de cadena de plugins, cada uno encargado de una función DNS
- 02Compatibilidad con DNS por UDP/TCP, TLS, HTTPS, QUIC y gRPC
- 03Sirve archivos de zona con firma DNSSEC y admite transferencias de zona
- 04Almacenamiento en caché, reenvío a resolvers ascendentes y balanceo de respuestas
- 05Usa etcd o Kubernetes como backend para el descubrimiento de servicios
- 06Expone métricas de Prometheus y admite plugins personalizados
Casos de uso
- Ofrecer descubrimiento de servicios DNS dentro de clústeres de Kubernetes
- Ejecutar un servidor DNS autoritativo para tus propias zonas
- Usarlo como reenviador con caché o como endpoint DoT/DoH para una red
- Crear una canalización DNS personalizada escribiendo o combinando plugins
Inicio rápido
- 1
Clona el repositorio
git clone https://github.com/coredns/coredns - 2
Compila el binario desde el directorio del proyecto (requiere Go 1.26.0 o superior)
make - 3
Crea un Corefile mínimo e inicia CoreDNS
./coredns -conf Corefile - 4
Prueba el servidor con dig
dig @127.0.0.1 google.com
Antes de usarlo
- Para compilar desde el código fuente se requiere Go 1.26.0 o superior.
- Al servir zonas firmadas desde archivos, solo se admite DNSSEC basado en NSEC, no NSEC3.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es coredns?
- Un servidor DNS flexible escrito en Go que encadena plugins, cada uno encargado de una función DNS. CoreDNS es un servidor y reenviador DNS escrito en Go. Su comportamiento se construye mediante una cadena de plugins, cada uno encargado de una función DNS, por lo que puedes añadir o quitar capacidades editando un Corefile, sin cambiar el código. Puedes añadir las funciones que no vienen incluidas de serie escribiendo un plugin personalizado.
- ¿coredns es gratuito? ¿Qué licencia tiene?
- coredns es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿coredns sigue mantenido?
- Mantenimiento activo. El último commit de coredns fue el 7 nov 2026.
- ¿Para qué puedo usar coredns?
- Ofrecer descubrimiento de servicios DNS dentro de clústeres de Kubernetes Ejecutar un servidor DNS autoritativo para tus propias zonas Usarlo como reenviador con caché o como endpoint DoT/DoH para una red Crear una canalización DNS personalizada escribiendo o combinando plugins
- ¿Cómo se instala coredns?
- Clona el repositorio: git clone https://github.com/coredns/coredns Compila el binario desde el directorio del proyecto (requiere Go 1.26.0 o superior): make Crea un Corefile mínimo e inicia CoreDNS: ./coredns -conf Corefile Prueba el servidor con dig: dig @127.0.0.1 google.com
- ¿Dónde consigo coredns?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/coredns/coredns
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Biblioteca de Go para crear clientes y servidores DNS, compatible con todos los tipos de registros de recursos, incluidos los de DNSSEC.
Servidor DNS local que consulta varios resolutores upstream y devuelve la dirección IP que responde más rápido para cada dominio.
Un proxy DNS rápido y ligero que bloquea anuncios y rastreadores en toda la red local, con reglas por grupo de clientes.
Servidor DNS autoritativo y recursivo de código abierto, con consola web, bloqueo de anuncios y malware, y compatibilidad con DNS cifrado.
Un resolvedor DNS validador, recursivo y con caché, diseñado para ser rápido y ligero, con validación DNSSEC integrada.