DNS server (Bind/PowerDNS): turnkey setup

A DNS failure stops everything at once: the website is unavailable, emails do not arrive, clients go to competitors that are up. We set up DNS servers turnkey — design the scheme, configure replication, document procedures, and hand over the infrastructure for support. You get a resilient name service with no single point of failure.

Our competencies:

Frequently Asked Questions

Latest works

  • Development of a web application for FEEDME
    Development of a web application for FEEDME
    1359
  • Development of an online store for the company FURNORO
    Development of an online store for the company FURNORO
    1330
  • B2B Advance company logo design
    B2B Advance company logo design
    776
  • Development of a web application for Enviok
    Development of a web application for Enviok
    1077
  • AIDER company logo development
    AIDER company logo development
    1022
  • CRM development for Chasseurs
    CRM development for Chasseurs
    1113

DNS server as a single point of failure: where exactly it breaks

While there is only one DNS server, it is itself a single point of failure.

A process crash, a disk filling up with logs, or a network failure on the node instantly turns into name resolution failure for everyone at once — both for external visitors and for internal services that find each other by name.

From the outside, this looks like slow website response: the resolver does not receive a response, waits for a timeout, and only then goes to a backup address, while some requests return an error.

Internally, the cascade is more noticeable — services tied to name resolution fail in a chain, and stale records live in caches until TTL expiration, so even after the node comes back up, traffic continues going to decommissioned addresses for some time.

The second cause is manual zone edits. Records are added directly on the production node, the zone serial number is not incremented, and secondary copies silently remain on the old version.

After a few months, configurations on the nodes diverge, no one knows which one is correct, and moving changes between environments becomes a separate risky operation.

The third is the lack of replication: updating, maintaining, or migrating a node requires a downtime window because there is nowhere to fail over to.

The approach does not depend on the implementation — both BIND and PowerDNS tolerate a single node with manual zone editing equally poorly. All three failures are addressed by one architecture: multiple nodes, automatic zone transfer, health checks, and predictable failover. Let's break down how this is arranged.

What a managed DNS server provides: speed, resilience, control

A managed DNS server is not a “set it and forget it” story. We choose the foundation for the task: BIND is convenient when zones live in text form and are edited rarely, PowerDNS — when records are stored in a database and change automatically. Next are three effects that are visible in metrics.

Reduced name resolution response time

A caching resolver serves repeated requests from the local cache without going to the external network: on a warm cache, the hit rate stays at 90–95%, and the TTL of internal zones is selected to match the actual change frequency.

Direct queries to authoritative servers instead of a long chain of third-party resolvers remove unnecessary steps in resolution. Response time drops severalfold, and the class of failures where “the application waits for a response from a third-party resolver” disappears.

Fault tolerance when a node fails

One server is one point of failure: a node crash means the domain simply does not open, even though the application itself is running.

A scheme with multiple instances, zone replication, and external monitoring removes this: node unavailability is detected by a check, traffic is moved to a live server without manual edits and a night-shift admin.

Name resolution stays within the target availability of 99.99%, and the class of failures where “the site is up, but the domain does not resolve” disappears entirely.

Traffic control

Every request is written to a log and analyzed by source and type, so an anomaly is visible on the graph the moment it appears, not after an outage.

Response policies and rate limiting suppress queries to known malicious domains and spikes from infected hosts inside the network; subnet ACLs protect the resolver from open recursive use from outside. A load spike stops being a surprise — the logs immediately show which segment created it.

Authoritative, caching, and forwarding mode: what to choose

The same server rarely operates in only one mode.

An authoritative server serves only its own zones and is not responsible for third-party domains; a caching server accepts client requests and keeps responses until the time to live expires; and forwarding mode sends everything external to upstream resolvers.

Confusion between roles produces two classes of failures: an open resolver used for amplification attacks, and “stuck” responses when delegation changes.

Option When it fits Limitations
Authoritative server Your own domains and subdomains: zone publication, mail and service records Does not answer for external names; open network access to it is not needed
Caching server Internal network, offices, sites: speeds up repeated requests Requires restricting the client list and protection against response spoofing
Request forwarding mode Branches and segments behind a firewall where direct outbound access is closed Depends on upstream resolver availability, less control over the cache

Zone separation and delegation

We separate roles across different instances: the authoritative layer holds zones and transfers them between nodes, while the caching layer listens only on internal addresses.

We arrange subdomain delegation as separate zones with their own set of servers — editing one zone does not affect the others, and change propagation does not hit a single node.

Protecting the cache from response spoofing

The cache accepts a response only from the server to which the domain is delegated, and verifies the zone signature chain where it is configured.

Restricting query sources and disabling recursion for external addresses remove the scenario where a client receives a forged address instead of the real one.

Implementation stages: from zone inventory to handover to support

The DNS implementation order is built so that each next step relies on the recorded result of the previous one: first we describe the current state, then reproduce it on an isolated environment, and only then release changes into production. This order leaves the possibility of rollback at any step.

Inventory and zone map

  1. We collect the list of zones from all sources: configurations of running servers, registrar panels, internal documents. The output is a zone table with owner, purpose, and current placement.
  2. We mark the boundaries: external and internal zones, split-horizon responses, reverse zones for address space, subdomain delegation.
  3. We record record types, TTLs, and mail-related links. We resolve discrepancies between sources before work begins, not along the way.

Testing on a staging environment before rollout

  • We deploy a copy of the configuration on an isolated staging environment and run automatic syntax and zone integrity checks, separately for signatures and delegation correctness.
  • We compare responses from the staging and production environments by control names: a discrepancy is either a migration error or an intentional change, in which case the zone owner confirms it.
  • We roll out without service downtime: first we introduce a second server and move the load to it, then we change the settings of the primary, monitoring the share of successful resolutions.

Handover to support is a separate step: configurations, zone maps, and procedures for typical failures go into documentation, access is divided by roles, and the on-call engineer has an entry point and clear escalation.

Configurations, zone maps, and record update regulations

The work is delivered not only with configured servers: the client's team retains a set of documents that can be used to maintain the infrastructure without us. Below is what this set includes and how each artifact is used in daily work.

Zone maps and access roles

  • Forward and reverse zone map: which zones are served, where they are located, how they relate to each other and to other services.
  • Access role map: who only reads records, who makes edits, who changes server configuration — with responsible persons indicated.
  • Record inventory with purpose: which names point to websites and applications, which serve mail, which are service records.

Update and recovery regulations

  • Record update procedure: how a request is submitted, who approves it, how the result is verified, and at what point rollback is possible.
  • Zone management rules: the procedure for changing serial numbers and default record time-to-live values.
  • Configuration backup procedure: what is backed up, how often, where copies are stored, and how their integrity is verified.
  • Recovery instructions: step-by-step service restoration from a copy and verification that all zones respond correctly.
  • Change log: who made edits and when, so incident analysis takes minutes.

DNS documentation is maintained alongside configurations in a version control system: edits are reviewed before being applied, and the change history remains available.

Such a set allows handing over maintenance to your team or another contractor without reconstructing knowledge from memory.

Case study: how a single point of failure was removed and downtime reduced

The client is a service with a personal account and an open API, where all zones were served by one server, and the second one stood “just in case” and was updated manually.

During network failures and scheduled maintenance, records on the nodes diverged, and failover took tens of minutes: some users could not resolve the name and saw an error instead of the login page.

What was changed in the zone scheme and replication

Instead of manually copying zone files, we configured a primary node and several replicas that pull zones automatically and confirm the current version.

Edits undergo syntax checking and comparison with the current state before publication, so a broken zone does not reach the servers. We set different time-to-live values for records: short where addresses change during service failover, long for static ones.

Indicator Before After
Points of failure in name resolution 1 0
Failover when a node fails up to 40 minutes less than 2 minutes
Manual steps when editing a zone 4-6 1
Share of incidents due to zone divergence about one third 0
Node recovery from a copy manually per instructions automatically

The scheme was built on the current branch of PowerDNS with the zone moved to a version control system: any change is visible in the history and can be rolled back with one command.

After the migration, downtime related to name resolution stopped appearing in reporting — for a quarter, not a single case of the domain not opening.

How does caching mode differ from authoritative?

An authoritative server is the source of truth for its zone: it stores records (A, AAAA, MX, TXT, SOA, NS) and serves them exactly as they were entered. It does not go anywhere for an answer: no record means NXDOMAIN, not a query to neighbors.

Changes get into the response only through editing the zone and reloading it with notification to secondary servers.

A caching, also known as recursive, resolver does not store third-party zones at all. It accepts a request from a client, traverses the chain of authoritative sources itself, and keeps the received answer in temporary storage until TTL expires.

External zones are the source of truth for it, and its role is to prevent repeated queries from going through that chain again. Clients query only it; it goes out to the external network itself.

The difference between the modes becomes sharply apparent during a failure. An authoritative server crash deprives the domain of resolution immediately and for everyone: until a second instance comes up and receives the zone via transfer, clients see a failure.

That is why public zones are kept on at least two servers in different networks. A caching server degrades more gently: responses are served until TTL expires, but during a long outage new names no longer resolve.

A data error also behaves differently. An incorrect record on an authoritative server is immediately visible to everyone — it is the source of truth.

In the cache, it lives until the end of the TTL, and fixing it at the source does not help until the record expires, so TTLs are lowered in advance before failovers.

The choice of operating mode is dictated by the server's role: serving your own zones externally — authoritative; internal network clients — caching resolver.

Both modes often coexist on the same host, but as different processes and interfaces, and their roles should not be mixed: recursion open to the outside turns the server into an amplifier for third-party attacks, so it is restricted to addresses of your own network.

Common doubts: load, replication, zones, and access

Before starting, almost every team asks the same set of questions: will the server handle a peak, how do changes reach the second node, who can edit what in the zones. Below are short answers from our engineers, without generalities.

The scheme is usually built on a combination of BIND and PowerDNS: the former serves authoritative answers, the latter is more convenient for automation and access separation. Next is what is most often clarified before signing the work.

Will one server handle peak load?

An authoritative server responds from memory and easily handles tens of thousands of requests per second on one node, while caching resolvers absorb repeated queries.

If extra headroom is needed, we deploy a second node behind a shared address and place them across different locations. Load, response time, and failure rate are visible in monitoring.

How does zone replication deliver changes to all nodes?

The primary server marks the zone with a new serial number, and secondaries pull changes by notification, not on a schedule — usually within seconds. A full copy is needed only on first connection or after a failure. We reconcile zones on all nodes automatically so that divergence surfaces before users notice it.

What will happen to already running zones during migration?

Zones are exported in text form; records, delegation, and time-to-live parameters are transferred. Before switching, we bring up a copy on the new server and reconcile responses with the current one — line by line, for every name. We perform the switch with the ability to return to the previous server within a few minutes.

How is access to zones separated?

Each administrator and each automated system has its own key tied to specific zones and record types. Dynamic updates are accepted only from trusted sources, and zone transfers only from a list of allowed addresses. All changes are logged, indicating who changed what.

Do you protect against response spoofing?

Yes, zones are signed, and resolvers enable response authenticity verification — a forged response is simply not accepted. We close open recursion so the server is not used for attack amplification, and we restrict the range of sources it answers to. We also configure alerts for brute-force attempts and unusual queries.

Let's discuss the task and come back with an estimate and work plan

To make the estimate relevant rather than “market average”, we need input data about your infrastructure. We start the infrastructure audit with exactly this data — otherwise the work plan is built on guesses, and timelines have to be revised along the way.

  • Current scheme: which zones are served, where the servers are located, what request load they handle, and who currently edits records.
  • Zone data: zone files or database records, current TTLs, DNSSEC state, whether there is legacy in the form of undocumented manual edits.
  • Fault tolerance: how many servers are running, whether there is a hidden master and auxiliary servers in different networks, how traffic is distributed between them.
  • Integration points: domain registrar, address management systems, certificate issuance automation, inventory — everything that changes records without an administrator.
  • Access and restrictions: to whom and how management is granted, requirements for logging and log retention, maintenance windows, internal security regulations.
  • Symptoms: what already hurts — delays in name resolution, divergence between servers, manual edits in production, failures after updates.

Describe the task in free text — some of the data is usually already available as diagrams and exports, and nothing needs to be prepared separately.

We will review the input, come back with an estimate, options for setting up a DNS server turnkey, and a staged work plan — from zone migration to an on-call procedure.