# Install dnsdist with Homebrew, apk, apt, dnf, Nix, pacman, zypper

Highly DNS-, DoS- and abuse-aware loadbalancer. Version 2.1.0 via Homebrew; verified 2026-07-02. Also installable with debian: sudo apt install dnsdist.

## Install

```sh
sudo av install brew:dnsdist
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install dnsdist
```

  Evidence: local Homebrew formula metadata

### Linux

- apk (92%):

```sh
sudo apk add dnsdist
```

  Evidence: Alpine Linux edge package indexes: dnsdist from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz

- Debian apt (92%):

```sh
sudo apt install dnsdist
```

  Evidence: Debian stable package indexes: dnsdist from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- dnf (92%):

```sh
sudo dnf install dnsdist
```

  Evidence: Fedora Rawhide package metadata: dnsdist from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#dnsdist
```

  Evidence: nixpkgs package indexes: pkgs/by-name/dn/dnsdist/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- pacman (92%):

```sh
sudo pacman -S dnsdist
```

  Evidence: Arch Linux sync databases: dnsdist from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

- zypper (92%):

```sh
sudo zypper install dnsdist
```

  Evidence: openSUSE Tumbleweed package metadata: dnsdist from https://download.opensuse.org/tumbleweed/repo/oss/repodata/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-primary.xml.zst

## Package facts

- **Package key:** brew:dnsdist
- **Package manager:** Homebrew
- **Version:** 2.1.0
- **Source summary:** Highly DNS-, DoS- and abuse-aware loadbalancer
- **Homepage:** <https://www.dnsdist.org/>
- **Last updated:** 2026-07-02T13:40:25Z
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- dnsdist (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 2.1.0
## Project history and usage

dnsdist is PowerDNS's DNS-aware load balancer and policy engine. It is used to place rules, caching, traffic steering, and abuse mitigation in front of recursive or authoritative DNS server pools.

### Project history

PowerDNS introduced dnsdist in 2015 as a small, DNS-specific load balancer rather than a generic TCP/UDP proxy. The goal was to understand DNS enough to route, drop, rate-limit, and inspect traffic while staying fast enough for resolver and authoritative-server front ends.

The 1.0.0 release in 2016 made dnsdist a stable part of the PowerDNS family. Subsequent documentation emphasized dynamic configuration, Lua rules, packet caches, health checks, DNS-over-TLS and DNS-over-HTTPS handling, metrics, and operational controls for hostile or high-volume DNS traffic.

### Adoption history

dnsdist spread through the same operator channels as PowerDNS Authoritative Server and PowerDNS Recursor: distribution packages, appliance-like DNS deployments, and SRE runbooks for large resolver fleets. Its Homebrew presence is useful for local testing, but its real adoption story is production DNS traffic management.

The project became especially relevant as DNS operators needed middle layers for DDoS mitigation, policy routing, encrypted-DNS front doors, and blue-green resolver migrations without changing every backend server.

### How it is used

Common deployments place dnsdist on the edge of a resolver or authoritative cluster, where it load-balances queries, drops abusive clients, applies Lua selectors, keeps packet-cache state, exposes metrics, and forwards healthy traffic to backend DNS servers.

For package users, dnsdist is the sharp DNS operations tool: install the package, write a small rules/config file, and get DNS-specific traffic control without composing a generic proxy with DNS scripts.

### Why package nerds care

dnsdist matters because it is not just another DNS server package; it is the DNS traffic switchboard between clients and server packages. It gives package collections a purpose-built tool for the messy operational layer that otherwise lives in custom iptables, HAProxy, or resolver-specific hacks.

It also connects several packaging worlds: PowerDNS source releases, distro service files, Homebrew lab installs, Lua scripting, Prometheus-style observability, and modern encrypted-DNS endpoints.

### Timeline

- 2015-03-11: PowerDNS publishes its introduction to dnsdist.
- 2016-04-21: dnsdist 1.0.0 is released.
- 2016-12: dnsdist 1.1.0 follows with more production-oriented features and feedback from deployments.
- 2020s: dnsdist continues as part of the PowerDNS/pdns source tree and has its own documentation site and package identity.

### Related projects

- Related projects include PowerDNS Authoritative Server and PowerDNS Recursor as backend peers, Unbound and BIND as alternative backends, dnsmasq for small-network forwarding, and dnscrypt-proxy for encrypted-DNS client forwarding.

### Sources

- <https://www.dnsdist.org/>
- <https://www.dnsdist.org/getting-started.html>
- <https://www.dnsdist.org/changelog.html>
- <https://blog.powerdns.com/2015/03/11/introducing-dnsdist>
- <https://blog.powerdns.com/2016/04/21/dnsdist-1-0-0-released>
- <https://github.com/PowerDNS/pdns>
- <https://formulae.brew.sh/formula/dnsdist>


## Security Notes

No matching local secret-handling manifest was found for dnsdist. Nucleus package metadata is still published here so future coverage has a stable package URL.



## Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.


## Configuration files

- Unix: /etc/dnsdist/dnsdist.yml, /etc/dnsdist.yml, /usr/local/etc/dnsdist.yml
## Other Package-Manager Records

- Debian apt - dnsdist - 1.9.15-0+deb13u1: normalized package name match | Debian stable package indexes: dnsdist from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | DNS loadbalancer | https://dnsdist.org
- Nix - dnsdist: normalized package name match | nixpkgs package indexes: pkgs/by-name/dn/dnsdist/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - dnsdist - 1.8.3-2build2: normalized package name match | Ubuntu 24.04 LTS package indexes: dnsdist from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | DNS loadbalancer | https://dnsdist.org
- apk - dnsdist - 2.1.0-r0: normalized package name match | Alpine Linux edge package indexes: dnsdist from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | dnsdist is a highly DNS-, DoS-, and abuse-aware loadbalancer. | https://dnsdist.org/
- apk - dnsdist-common - 2.1.0-r0: normalized package name match | Alpine Linux edge package indexes: dnsdist-common from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | dnsdist common files | https://dnsdist.org/
- apk - dnsdist-common-openrc - 2.1.0-r0: normalized package name match | Alpine Linux edge package indexes: dnsdist-common-openrc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | dnsdist is a highly DNS-, DoS-, and abuse-aware loadbalancer. | https://dnsdist.org/
- apk - dnsdist-doc - 2.1.0-r0: normalized package name match | Alpine Linux edge package indexes: dnsdist-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | dnsdist is a highly DNS-, DoS-, and abuse-aware loadbalancer. (documentation) | https://dnsdist.org/
- apk - dnsdist-luajit - 2.1.0-r0: normalized package name match | Alpine Linux edge package indexes: dnsdist-luajit from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | dnsdist with luajit bindings | https://dnsdist.org/
- dnf - dnsdist - 2.1.0-2.fc45: normalized package name match | Fedora Rawhide package metadata: dnsdist from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-primary.xml.zst | Highly DNS-, DoS- and abuse-aware loadbalancer | https://dnsdist.org
- pacman - dnsdist - 2.1.0-1: normalized package name match | Arch Linux sync databases: dnsdist from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | Highly DNS-, DoS- and abuse-aware loadbalancer | https://dnsdist.org/
- zypper - dnsdist - 2.0.7-1.1: normalized package name match | openSUSE Tumbleweed package metadata: dnsdist from https://download.opensuse.org/tumbleweed/repo/oss/repodata/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-primary.xml.zst | A highly DNS-, DoS- and abuse-aware loadbalancer | https://www.powerdns.com/


## Combined YAML source

View the package source record on GitHub. [combined/dnsdist.yml](https://github.com/mxcl/pkgdb/blob/main/combined/dnsdist.yml)


## Sources

- pkg.so package database
- Geiger risk classifier
- curated configuration and credential file locations
- curated package history
- pkgdb category and tag curation
- external package-manager database matches
- cross-ecosystem install command graph
