CoreDNS is a DNS server and forwarder built around a chain of plugins. Rather than providing every function through a single fixed implementation, it processes DNS requests through configurable components, each responsible for a particular operation.
The server can provide authoritative DNS responses, forward requests to upstream resolvers, cache results and supply service discovery for container-based environments. Its plugin architecture allows administrators to assemble different DNS behaviours for individual zones, while developers can implement additional functionality through custom plugins.
Configuration is handled through a Corefile, which defines the zones served by CoreDNS and the plugins applied to incoming requests. CoreDNS is widely associated with Kubernetes, where it provides DNS-based service discovery for workloads, but the same server can be used independently for conventional DNS forwarding and authoritative services.
This is free and open source software.
Key Features
- Serve authoritative DNS records from zone files using the file plugin.
- Automatically discover and reload zone files from designated directories.
- Provide Kubernetes service discovery through the kubernetes plugin.
- Forward DNS queries to upstream recursive resolvers using configurable policies.
- Cache positive and negative DNS responses to reduce repeated upstream requests.
- Support DNS-over-TLS and DNS-over-HTTPS for encrypted DNS communication.
- Sign DNS responses using the dnssec plugin.
- Transfer zones between primary and secondary servers.
- Use etcd as a backend for DNS records.
- Rewrite DNS queries and generate responses from templates.
- Provide DNS64 functionality for IPv6-only environments.
- Expose Prometheus metrics, health checks and readiness information.
- Log DNS queries and errors for troubleshooting.
- Implement custom DNS functionality through additional plugins.
Website: github.com/coredns/coredns
Support:
Developer: CoreDNS Authors
License: Apache License 2.0
CoreDNS is written in Go. Learn Go with our recommended free books and free tutorials.
Related Software
| DNS Servers | |
|---|---|
| CoreDNS | DNS server that chains plugins |
| BIND | Flexible, full-featured DNS system |
| PowerDNS | Authoritative server, the Recursor, and Dnsdist |
| NSD | NLnet Labs Name Server Daemon |
| Technitium | Self host a DNS server for privacy and security |
| SmartDNS | Local DNS server that accepts DNS query requests from local clients |
| Unbound | Validating, recursive, caching DNS resolver |
| Hickory | Rust-based DNS client, server and resolver |
| YADIFA | Lightweight authoritative Name Server with DNSSEC capabilities |
| Knot DNS | High-performance authoritative-only DNS server |
| gdnsd | Authoritative-only DNS server |
| Dnsmasq | Network infrastructure: DNS, DHCP, router advertisement and network boot |
| acme-dns | Simplified DNS server with a RESTful HTTP API |
| encrypted-dns | Modern encrypted DNS server |
| MaraDNS | Small DNS server |
| aardvark-dns | Authoritative DNS server for A/AAAA container records |
| FDNS | Encrypted DNS proxy designed for small networks and Linux desktops |
| tinydns | Tiny DNS server with simple JSON config |
| pkdns | DNS server resolving pkarr self-sovereign domains |
| dprox | Lightweight DNS proxy server |
| PopuraDNS | Simple DNS server with decentralized domain names support |
| pdnsd | DNS server designed for local caching of DNS information |
| dnrs | DNS server written in rust |
Read our verdict in the software roundup.
LinuxLinks helps you discover the best free and open source software for Linux. Explore our extensive collection of recommended applications, including alternatives to popular proprietary software.We also publish software reviews, Linux tutorials, hardware reviews, free programming books and articles covering the wider open source community. Browse our Linux resources to discover more. Know a useful free and open source Linux application we haven't covered? Suggest a program for inclusion. Has your software been featured on LinuxLinks? Display one of our Featured on LinuxLinks badges on your website or GitHub README. |


Please read our Comment Policy before commenting.