
PowerDNS DNSdist 是一款功能强大的 DNS 负载均衡器,旨在提供高性能、高可用性的 DNS 流量管理解决方案。作为 PowerDNS 产品家族的一部分,DNSdist 专注于 DNS 流量的分发、路由和处理,可有效提升 DNS 服务的可靠性和响应速度。
Docker Run 命令
bashdocker run -d \ --name dnsdist \ -p 53:53/udp \ -p 53:53/tcp \ -v /path/to/dnsdist.conf:/etc/dnsdist/dnsdist.conf \ powerdns/dnsdist:1.9
Docker Compose 配置
yamlversion: '3' services: dnsdist: image: powerdns/dnsdist:1.9 container_name: dnsdist ports: - "53:53/udp" - "53:53/tcp" - "8053:8053/tcp" # Web 管理界面 volumes: - ./dnsdist.conf:/etc/dnsdist/dnsdist.conf - ./dnsdist.state:/var/lib/dnsdist/dnsdist.state restart: unless-stopped environment: - TZ=Asia/Shanghai
bashgit clone https://github.com/PowerDNS/pdns.git cd pdns
在 Debian/Ubuntu 系统上安装编译依赖:
bashapt install autoconf automake ragel bison flex g++ libboost-all-dev libtool make pkg-config libssl-dev lua-yaml-dev libyaml-cpp-dev libluajit-5.1-dev libcurl4 gawk libsqlite3-dev python3-venv
bash# 初始化子模块 git submodule init git submodule update # 生成配置文件 autoreconf -vi # 配置编译选项 ./configure --with-modules="" --disable-lua-records # 编译 make # 安装 make install
dnsdist 的主要配置文件为 dnsdist.conf,以下是一个基本配置示例:
lua-- 添加后端 DNS 服务器 newServer({address="192.168.1.10:53", name="server1"}) newServer({address="192.168.1.11:53", name="server2"}) -- 设置负载均衡策略 setServerPolicy(roundrobin) -- 监听端口配置 addLocal("0.0.0.0:53") -- 启用 Web 管理界面 webserver("0.0.0.0:8053", "admin", "password")
bash# 前台运行 dnsdist -C /etc/dnsdist/dnsdist.conf # 后台运行 dnsdist -C /etc/dnsdist/dnsdist.conf -d
| 参数 | 说明 | 默认值 |
|---|---|---|
newServer() | 添加后端 DNS 服务器 | 无 |
setServerPolicy() | 设置负载均衡策略 | roundrobin |
addLocal() | 添加本地监听地址和端口 | 无 |
webserver() | 配置 Web 管理界面 | 禁用 |
setACL() | 设置访问控制列表 | 允许所有 |
setRateLimit() | 设置速率限制 | 无限制 |
setCacheSize() | 设置缓存大小 | 0 (禁用) |
roundrobin: 轮询策略leastOutstanding: 最少未完成请求优先firstAvailable: 首个可用服务器sourceHashing: 源地址哈希weighted: 加权轮询在 Docker 部署时,可以通过以下环境变量进行配置:
| 环境变量 | 说明 |
|---|---|
DNSDIST_CONFIG | 内联配置内容 |
DNSDIST_CONFIG_FILE | 配置文件路径 |
TZ | 时区设置 |






探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务