
powerdns/pdns-auth-48PowerDNS Authoritative Server是一款由PowerDNS.COM BV及众多贡献者开发的开源权威DNS服务器,采用GNU GPLv2许可协议。它以高性能、可扩展性和灵活的后端支持为特点,支持多种数据存储后端,适用于构建企业级DNS服务,满足从简单到复杂的DNS解析需求。
可通过Docker Hub获取官方PowerDNS Authoritative Server镜像:
bashdocker pull powerdns/pdns-auth
bashdocker run -d \ --name pdns-authoritative \ -p 53:53/udp \ # DNS UDP端口 -p 53:53/tcp \ # DNS TCP端口 -v $(pwd)/pdns.conf:/etc/powerdns/pdns.conf \ # 挂载配置文件 powerdns/pdns-auth
PowerDNS通过主配置文件pdns.conf进行参数设置,关键配置项包括:
| 配置项 | 说明 | 默认值 |
|---|---|---|
launch | 指定启用的后端模块(如bind、gmysql、gpgsql等,多个模块用空格分隔) | bind gmysql(默认内置) |
local-address | 监听IP地址 | 0.0.0.0(所有网络接口) |
local-port | 监听端口 | 53 |
dnssec | 是否启用DNSSEC | no |
log-dns-queries | 是否记录DNS查询日志 | no |
部分常用配置可通过环境变量直接传递,无需手动编辑配置文件:
bashdocker run -d \ --name pdns-authoritative \ -p 53:53/udp -p 53:53/tcp \ -e PDNS_LAUNCH="gmysql" \ # 启用MySQL后端 -e PDNS_GMYSQL_HOST="mysql-server" \ # MySQL服务器地址 -e PDNS_GMYSQL_USER="pdns" \ # MySQL用户名 -e PDNS_GMYSQL_PASSWORD="your-password" \ # MySQL密码 -e PDNS_GMYSQL_DB="pdns" \ # 数据库名称 -e PDNS_DNSSEC="yes" \ # 启用DNSSEC powerdns/pdns-auth
yamlversion: '3.8' services: pdns: image: powerdns/pdns-auth ports: - "53:53/udp" - "53:53/tcp" environment: - PDNS_LAUNCH="gmysql" - PDNS_GMYSQL_HOST="mysql" - PDNS_GMYSQL_USER="pdns_user" - PDNS_GMYSQL_PASSWORD="pdns_pass" - PDNS_GMYSQL_DB="pdns_db" - PDNS_LOG_DNS_QUERIES="yes" depends_on: - mysql restart: unless-stopped mysql: image: mysql:8.0 environment: - MYSQL_ROOT_PASSWORD="root_pass" - MYSQL_DATABASE="pdns_db" - MYSQL_USER="pdns_user" - MYSQL_PASSWORD="pdns_pass" volumes: - mysql-data:/var/lib/mysql restart: unless-stopped volumes: mysql-data: # 持久化MySQL数据


manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务