High-performance DNS server.
637
一个简单易用的本地 DNS 服务器,带 Web 管理界面。适合统一管理内网域名、开发测试域名和 hosts 规则。
*.dev.localdocker run -d \
--name dns-core \
-p 53:53/udp \
-p 53:53/tcp \
-p 5000:5000 \
-v ./data:/app/data \
--restart unless-stopped \
wwbgo/dns-core:latest
Windows 使用管理员身份运行:
start-server.bat
Linux / macOS:
chmod +x start-server.sh
./start-server.sh
dotnet run --project src/DnsCore/DnsCore.csproj
Linux 监听 53 端口时需要 root:
sudo dotnet run --project src/DnsCore/DnsCore.csproj
启动后打开:
http://localhost:5000http://localhost:5000/healthhttp://localhost:5000/swaggerDNS 服务监听:
5353页面顶部菜单:
监控:查看 QPS、延迟、缓存和运行时长DNS 记录:添加、编辑、搜索和删除 DNS 记录Hosts 导入:导入 hosts 文件或 URL上游 DNS:配置转发上游、查询模式和超时打开 DNS 记录 菜单后:
添加记录。泛域名示例:
域名:*.dev.local
类型:A
记录值:192.168.1.100
同一域名多条 A 记录:
app.local A 192.168.1.10 权重 1
app.local A 192.168.1.11 权重 3
权重仅对 A/AAAA 多值记录生效。
Hosts 导入 菜单支持:
http/https URL 导入hosts 文件格式:
192.168.1.10 app.local alias.local
2001:db8::1 v6.local
导入时会自动过滤:
的重复记录。
在 上游 DNS 菜单中可以:
本地记录优先级始终高于上游 DNS。
Windows:
nslookup app.local 127.0.0.1
Linux / macOS:
dig @127.0.0.1 app.local
如果本地没有匹配记录,并且关闭了上游转发,客户端会继续尝试系统配置的其他 DNS 服务器。
主配置文件:
src/DnsCore/appsettings.json
常用配置:
{
"DnsServer": {
"Port": 53,
"EnableUpstreamDnsQuery": true,
"UpstreamDnsServers": [
"223.5.5.5",
"119.29.29.29"
],
"CustomRecords": [
{
"Domain": "example.local",
"Type": "A",
"Value": "192.168.1.100",
"TTL": 3600,
"Weight": 1
}
]
}
}
常用配置项:
Port:DNS 监听端口,默认 53EnableUpstreamDnsQuery:是否转发上游,默认 trueUpstreamDnsServers:上游 DNS 地址列表,留空使用系统 DNSCustomRecords:启动时加载的初始记录HostsImport:AllowLoopback:是否允许导入 localhost / 127.0.0.1 URL,默认 false生产环境建议设置 API Key:
Windows:
set DNSCORE_API_KEY=你的密钥
Linux / macOS:
export DNSCORE_API_KEY=你的密钥
设置后,Web 管理界面会提示输入 API Key。
| 操作 | 方法 | 地址 |
|---|---|---|
| 获取记录 | GET | /api/dns/records |
| 添加记录 | POST | /api/dns/records |
| 更新记录 | PUT | /api/dns/records/{domain}/{type} |
| 删除记录 | DELETE | /api/dns/records/{domain}/{type} |
| 清空记录 | DELETE | /api/dns/records |
| 获取 hosts 来源 | GET | /api/hosts/sources |
| 添加 hosts 来源 | POST | /api/hosts/sources |
| 删除 hosts 来源 | DELETE | /api/hosts/sources/{id} |
| 导入 hosts | POST | /api/hosts/import |
详细 API 示例见 docs/API_EXAMPLES.md。
MIT License
Content type
Image
Digest
sha256:c562bc923…
Size
130 MB
Last updated
15 days ago
docker pull wwbgo/dns-core