# 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.

## 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/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-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/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

## Package facts

- **Package key:** brew:dnsdist
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/dnsdist>
- **Version:** 2.1.0
- **Source summary:** Highly DNS-, DoS- and abuse-aware loadbalancer
- **Homepage:** <https://www.dnsdist.org/>
- **Repository:** <https://github.com/PowerDNS/pdns>
- **Upstream docs:** <https://www.dnsdist.org/>
- **License:** GPL-2.0-only
- **Source archive:** <https://downloads.powerdns.com/releases/dnsdist-2.1.0.tar.xz>
- **Last updated:** 2026-07-02T13:40:25Z
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- dnsdist (cli)
- dnsdist (alias)

## Dependencies

- fstrm
- libnghttp2
- libsodium
- luajit
- openssl@3
- re2
- tinycdb

## Build dependencies

- boost
- libyaml
- pkgconf
- python@3.14

## Uses from macOS

- libedit

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 2.1.0
- Package-manager updated: 2026-07-02
- Local data: ok
- Upstream repository: https://www.dnsdist.org/
- info: Release/tag comparison is only available for GitHub repositories.
## 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
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** dnsdist
- **Version Scheme:** 0
- **Revision:** 0
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** stable

## Other Package-Manager Records

- Debian apt - dnsdist - 1.9.14-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.0.6-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.0.6-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.0.6-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.0.6-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.0.6-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.0.6-1.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/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Highly DNS-, DoS- and abuse-aware loadbalancer | https://dnsdist.org
- pacman - dnsdist - 2.0.6-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.5-1.2: normalized package name match | openSUSE Tumbleweed package metadata: dnsdist from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | A highly DNS-, DoS- and abuse-aware loadbalancer | https://www.powerdns.com/


## Related links

- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Homebrew utility packages](https://www.automicvault.com/pkg/brew-utility-packages/) - Matched Homebrew package provider.
- [fstrm](https://www.automicvault.com/pkg/brew/fstrm/) - Runtime dependency declared by Homebrew.
- [luajit](https://www.automicvault.com/pkg/brew/luajit/) - Runtime dependency declared by Homebrew.
- [openssl@3](https://www.automicvault.com/pkg/brew/openssl-3/) - Runtime dependency declared by Homebrew.
- [tinycdb](https://www.automicvault.com/pkg/brew/tinycdb/) - Runtime dependency declared by Homebrew.
- [pkgconf](https://www.automicvault.com/pkg/brew/pkgconf/) - Build dependency declared by Homebrew.
- [python@3.14](https://www.automicvault.com/pkg/brew/python-3-14/) - Build dependency declared by Homebrew.
- [adns](https://www.automicvault.com/pkg/brew/adns/) - Shares av.db curated category or tags: cli, dns, networking.
- [aliddns](https://www.automicvault.com/pkg/brew/aliddns/) - Shares av.db curated category or tags: cli, dns, networking.
- [bind](https://www.automicvault.com/pkg/brew/bind/) - Shares av.db curated category or tags: cli, dns, networking.
- [c-ares](https://www.automicvault.com/pkg/brew/c-ares/) - Shares av.db curated category or tags: cli, dns, networking.
- [cdncheck](https://www.automicvault.com/pkg/brew/cdncheck/) - Shares av.db curated category or tags: cli, dns, networking.
- [checkdmarc](https://www.automicvault.com/pkg/brew/checkdmarc/) - Shares av.db curated category or tags: cli, dns, networking.
- [chinadns-c](https://www.automicvault.com/pkg/brew/chinadns-c/) - Shares av.db curated category or tags: cli, dns, networking.
- [coredns](https://www.automicvault.com/pkg/brew/coredns/) - Shares av.db curated category or tags: cli, dns, networking.
- [unbound](https://www.automicvault.com/pkg/brew/unbound/) - Local package facts share a topical domain. Shared terms: cli, dns, libnghttp2, networking, openssl.
- [dnsviz](https://www.automicvault.com/pkg/brew/dnsviz/) - Local package facts share a topical domain. Shared terms: cli, dns, networking, openssl, openssl-3.
- [getdns](https://www.automicvault.com/pkg/brew/getdns/) - Local package facts share a topical domain. Shared terms: cli, dns, networking, openssl, openssl-3.

## Combined YAML source

View the package source record on GitHub. [combined/dnsdist.yml](https://github.com/automic-vault/db/blob/main/combined/dnsdist.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated configuration and credential file locations
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
