Skip to content
_CORE
AI & Agentic Systems Core Information Systems Cloud & Platform Engineering Data Platform & Integration Security & Compliance QA, Testing & Observability IoT, Automation & Robotics Mobile & Digital Banking & Finance Insurance Public Administration Defense & Security Healthcare Energy & Utilities Telco & Media Manufacturing Logistics & E-commerce Retail & Loyalty
References Technologies Blog Know-how Tools
About Collaboration Careers
CS EN DE
Let's talk

DNS Configuration — BIND and CoreDNS

01. 10. 2021 Updated: 27. 03. 2026 1 min read intermediate
This article was published in 2021. Some information may be outdated.

Running your own DNS server means full control over the resolver. You eliminate dependency on external DNS providers, gain internal service discovery, and the ability to set up split-horizon DNS where the same domain returns different IP addresses depending on whether the query comes from the internal network or the internet. For companies with their own infrastructure, this is a networking architecture foundation.

BIND

# /etc/bind/zones/db.example.local
$TTL 3600
@ IN SOA ns1.example.local. admin.example.local. (
    2024010101 3600 900 604800 86400)
@ IN NS ns1.example.local.
ns1 IN A 10.0.1.1
web IN A 10.0.1.10
db  IN A 10.0.1.20

BIND is the most widely deployed authoritative DNS server with support for DNSSEC, dynamic updates, and views for split-horizon. Configuration is declarative in text zone files. For high availability, deploy primary and secondary servers with zone transfers (AXFR/IXFR).

CoreDNS

.:53 {
    forward . 8.8.8.8 8.8.4.4
    cache 30
    log
}
example.local:53 {
    file /etc/coredns/db.example.local
}

CoreDNS is the default DNS server in Kubernetes. Its plugin architecture lets you assemble exactly the functionality you need — from simple forwarding through caching to service discovery from the Kubernetes API. Corefile configuration is cleaner and simpler than BIND. For Kubernetes clusters, CoreDNS automatically creates DNS records for services and pods.

When to Use What

  • BIND — enterprise, authoritative DNS, DNSSEC, zone transfers
  • CoreDNS — Kubernetes, microservices, plugin architecture
  • dnsmasq — small networks, DHCP + DNS in one, home/office LAN

Diagnostics

For DNS troubleshooting, use dig (detailed responses), nslookup (quick check), or drill (DNSSEC validation). The command dig +trace example.com shows the complete query path through root servers.

DNS server = control

Your own DNS server enables internal resolver, service discovery, split-horizon DNS, and DNSSEC. For small environments dnsmasq suffices, for Kubernetes use CoreDNS, for enterprise use BIND.

dnsbindcoredns
Share:

CORE SYSTEMS team

We build core systems and AI agents that keep operations running. 15 years of experience with enterprise IT.