Dnsdist

Jul 20, 2023

Highly DNS-, DoS- and abuse-aware loadbalancer

dnsdist is a highly DNS-, DoS- and abuse-aware loadbalancer. Its goal in life is to route traffic to the best server, delivering top performance to legitimate users while shunting or blocking abusive traffic.

dnsdist is dynamic, its configuration language is Lua and it can be can be changed at runtime, and its statistics can be queried from a console-like interface or an HTTP API.

dnsdist is used to protect and optimize the DNS traffic of hundreds of millions of internet subscribers.

  • IPv4, UDP/TCP
  • IPv6, UDP/TCP, 100 compliant
  • Remotely pollable statistics for real time graphing
  • High performance
  • SNMP statistics bridge read only
  • Dynamically route queries to backend servers
  • Advanced anti-spoofing measures
  • Reconfiguration without downtime
  • Kernel based filtering of harmful traffic, rejecting packets at ‘line speed’
  • Internal Lua-based scripted answer generation
  • Question interception, answer reconditioning, NXDOMAIN redirection
    • Including ‘block lists’ and security measures
  • Built-in memory efficient cache for increased performance
  • Ability to continue serving data from cache for non-responsive backends
  • Smart rate limiting per user, per subnet, per domain
  • Capable of writing dynamic rules to block harmful traffic


Checkout these related ports:
  • Zonenotify - DNS notify sender written in C
  • Zonecheck - Perform consistency checks on DNS zones
  • Zkt -
  • Yandex-ddns - Use Yandex DNS as a dynamic DNS provider
  • Yadifa - Authoritative nameserver with DNSSEC capabilities
  • Wrapsrv - DNS SRV record command line wrapper
  • Whoseip - Get information about IP addresses country code and network
  • Wdns - Low-level DNS library
  • Walker - Recover zone file information from servers that use DNSSEC
  • Void-zones-tools - Prepare a list of void zones that can be readily fed into Unbound
  • Vizone - Updates the serial number in one or more zonefiles
  • Vhostcname - Synchronize DNS with server names and aliases from Apache vhost
  • Utdns - Proxy UDP/DNS to TCP/DNS
  • Updatedd - Dynamic DNS Update Client supporting multiple services
  • Unbound - Validating, recursive, and caching DNS resolver