kimbtechnologies/radio_dnsRadio DNS Server 是一个基于 Python 的 DNS 服务器镜像,专为配合 Radio API 使用而设计。其核心功能是将包含 wifiradiofrontier.com 的 DNS 查询解析到指定的 Radio API 服务地址,同时支持上游 DNS 转发、查询来源限制等功能。该镜像由 GitHub 仓库 KIMB-technologies/Radio-DNS-Server 通过 GitHub Action 构建,Docker 镜像托管于 Docker Hub。
wifiradiofrontier.com 的 DNS 查询解析到指定的 Radio API 地址(支持通过域名或 IP 指定)。RADIO_DOMAIN(域名)或 RADIO_IP(IP 地址)指定 Radio API 位置,RADIO_DOMAIN 优先级高于 RADIO_IP。SERVER_UPSTREAM),用于转发非目标域名的查询。ALLOWED_DOMAIN 限制仅响应指定域名对应的 IP 来源的查询,提升安全性。time.wifiradiofrontier.com 的查询,可解析到 TIME_SERVER 指定的域名地址。适用于需要将 wifiradiofrontier.com 域名解析到自定义 Radio API 服务的场景,例如:
所有配置通过环境变量实现,具体参数说明如下:
| 环境变量 | 是否必填 | 默认值 | 说明 |
|---|---|---|---|
SERVER_BIND | 可选 | 0.0.0.0 | 服务器绑定的 IP 地址,默认绑定所有网络接口。 |
SERVER_PORT | 可选 | 53 | DNS 服务端口,建议使用默认 53 端口(仅测试时修改)。 |
SERVER_UPSTREAM | 可选 | - | 上游 DNS 服务器地址,用于转发非 wifiradiofrontier.com 的查询。 |
RADIO_DOMAIN | 条件必填(与 RADIO_IP 二选一) | - | Radio API 所在的域名。若设置,所有 wifiradiofrontier.com 查询将返回该域名的 A 记录。 |
RADIO_IP | 条件必填(与 RADIO_DOMAIN 二选一) | - | Radio API 所在的 IP 地址。若未设置 RADIO_DOMAIN,则使用此 IP 作为解析结果。 |
ALLOWED_DOMAIN | 可选 | all | 允许发起查询的来源域名列表(多个域名用 , 分隔),仅对应 A 记录的 IP 可发起查询。默认 all 允许所有来源。 |
TIME_SERVER | 可选 | - | 针对 time.wifiradiofrontier.com 查询的解析目标域名,默认使用内置时间服务器。 |
docker run 命令示例以下示例通过 RADIO_IP 指定 Radio API 地址为 192.168.1.100,允许所有来源查询:
bashdocker run -d \ --name radio-dns \ -p 53:53/udp \ # DNS 默认使用 UDP 协议,需映射 UDP 端口 -e RADIO_IP=192.168.1.100 \ # 替换为实际 Radio API IP -e ALLOWED_DOMAIN=all \ # 允许所有来源(适合本地网络测试) kimbtechnologies/radio_dns
若需通过域名指定 Radio API(如 radio-api.example.com),并限制仅 trusted.example.com 来源的查询:
bashdocker run -d \ --name radio-dns \ -p 53:53/udp \ -e RADIO_DOMAIN=radio-api.example.com \ # Radio API 域名 -e ALLOWED_DOMAIN=trusted.example.com \ # 仅允许该域名解析的 IP 发起查询 -e SERVER_UPSTREAM=8.8.8.8 \ # 上游 DNS 使用 Google DNS kimbtechnologies/radio_dns
docker-compose 配置示例创建 docker-compose.yml 文件,配置如下:
yamlversion: '3' services: radio-dns: image: kimbtechnologies/radio_dns container_name: radio-dns ports: - "53:53/udp" # 映射 UDP 53 端口 environment: - RADIO_DOMAIN=radio-api.local # 本地 Radio API 域名 - ALLOWED_DOMAIN=home.example.com,iot.example.com # 允许两个可信域名来源 - SERVER_PORT=53 # 默认 DNS 端口 - TIME_SERVER=time.example.com # 自定义时间服务器域名 restart: unless-stopped # 容器退出时自动重启
启动服务:
bashdocker-compose up -d
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务