
bbaerthlein/docker-ddns-serverdocker-ddns-server是一个用Go编写的动态DNS服务器,支持通过Web UI界面管理动态DNS条目。该项目基于docker-ddns扩展,提供了直观的Web界面用于配置和维护DNS记录,适用于需要自行搭建动态DNS服务的场景。
适用于个人或小型组织需要自行管理动态DNS服务的场景,尤其适合:
镜像地址:[***]
基本运行命令:
bashdocker run -it -d \ -p 8080:8080 \ -p 53:53 \ -p 53:53/udp \ -v /somefolder:/var/cache/bind \ -v /someotherfolder:/root/database \ -e DDNS_ADMIN_LOGIN=admin:***. \ -e DDNS_DOMAINS=dyndns.example.com \ -e DDNS_PARENT_NS=ns.example.com \ -e DDNS_DEFAULT_TTL=3600 \ --name=dyndns \ bbaerthlein/docker-ddns-server:latest
可参考项目提供的示例配置文件:
[***]
| 环境变量 | 说明 | 示例 |
|---|---|---|
DDNS_ADMIN_LOGIN | Web UI的认证信息(htpasswd格式) | admin:***. |
DDNS_DOMAINS | 动态DNS服务的域名(逗号分隔多个) | dyndns.example.com,dyndns.example.org |
DDNS_PARENT_NS | 父域名的名称服务器 | ns.example.com |
DDNS_DEFAULT_TTL | DNS记录默认TTL值(秒) | 3600 |
DDNS_CLEAR_LOG_INTERVAL | 日志自动清理间隔(天,可选) | 30 |
DDNS_ALLOW_WILDCARD | 是否允许通配符记录(布尔值,可选) | true |
DDNS_LOGOUT_URL | 登出后重定向URL(可选) | [***] |
生成DDNS_ADMIN_LOGIN:
使用htpasswd生成认证信息:
bashhtpasswd -nb 用户名 密码
在docker-compose中使用时需转义$符号:
bashecho $(htpasswd -nb 用户名 密码) | sed -e s/\\$/\\$\\$/g
若未设置
DDNS_ADMIN_LOGIN,则/admin路径无访问限制(适用于通过反向代理认证的场景)
假设父域为example.com,动态DNS域为dyndns.example.com,需在父域名服务器添加以下记录:
dyndns IN NS ns ns IN A <DNS服务器IPv4地址> ns IN AAAA <可选,DNS服务器IPv6地址>
通过Web UI添加主机后,可通过以下URL更新DNS记录:
带IP参数:
[***]
带认证:
[***]
自动获取IP(适用于不支持发送myip的路由器,如OpenWRT):
[***]
支持的更新路径:
/update/nic/update/v2/update/v3/update
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务