应用介绍
Technitium DNS Server是一款开源的权威DNS服务器,同时也支持递归DNS解析,可以自托管在NAS上为整个家庭网络提供隐私和安全保护。它支持在DNS层面拦截广告和恶意软件,让整个网络都能享受去广告效果,不需要在每个设备上单独安装广告拦截工具。
Technitium DNS Server开箱即用,几乎不需要额外配置,提供了友好的网页控制台,可以通过任何现代浏览器访问管理。对于追求隐私保护的用户,自托管DNS服务器可以防止ISP查看和控制你的DNS查询记录,保护上网隐私。同时它支持DNS-over-TLS、DNS-over-HTTPS和DNS-over-QUIC加密DNS协议,进一步提升安全性。

主要特点: - 跨平台支持:支持Windows、Linux、macOS和树莓派,提供官方Docker镜像 - 广告恶意域名拦截:支持使用多个拦截列表URL直接拦截广告和恶意域名 - 加密DNS支持:支持自托管DNS-over-TLS、DNS-over-HTTPS和DNS-over-QUIC服务 - 高性能:基于异步IO的高性能DNS服务器,普通PC就能每秒处理百万级请求 - DNSSEC支持:完整支持DNSSEC验证和签名 - 内置DHCP服务器:支持多个网络的DHCP服务 - 支持集群管理:内置集群功能,可以从单个管理控制台管理多个DNS服务器实例 - 高级功能:支持Split Horizon、基于地理位置的DNS响应、正则表达式匹配的阻止列表 - 网页管理界面:支持暗色模式,配置简单直观
安装说明
前提依赖
使用Docker安装只需要Docker和Docker Compose环境,不需要其他依赖,官方镜像已经包含所有依赖项。
安装配置
以下是官方提供的Docker Compose配置示例:
version: '3.8'
services:
technitium-dns:
image: technitium/dns-server:latest
container_name: technitium-dns
ports:
- "53:53/udp
- "53:53/tcp
- "5349:5349/tcp
- "8000:8000/tcp
- "8053:8053/tcp
volumes:
- ./config:/etc/dns/config
- ./zones:/etc/dns/zones
restart: unless-stopped配置说明: - 53端口是标准DNS端口,需要UDP和TCP都开放 - 8000端口是网页管理界面端口 - 5349端口用于DNS-over-TLS,8053用于DNS-over-HTTPS - ./config用于保存配置,./zones用于保存DNS区域文件
使用说明
- 启动容器后,通过浏览器访问
http://你的NASIP:8000进入管理界面 - 默认用户名是
admin,默认密码是admin,首次登录请立即修改密码 - 进入设置后,可以配置广告拦截:在”Blocking”页面添加拦截列表URL,比如常用的
https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts - 将你的路由器DHCP设置里,把DNS服务器设置为你的NAS IP地址,这样整个网络的所有设备都会自动使用你的自托管DNS服务器
- 可以在”Stats”页面查看DNS查询统计,了解网络中的域名访问情况
- 如果需要对外提供DNS解析服务,可以配置DNSSEC签名,提升域名解析安全性
Technitium DNS Server非常适合在NAS上运行,占用资源很低,性能很好,即使带大量设备也不会有压力。
开源信息
- GitHub地址: https://github.com/TechnitiumSoftware/DnsServer
- 官方网站: https://technitium.com/dns/
- 文档地址: https://github.com/TechnitiumSoftware/DnsServer/blob/master/APIDOCS.md
- 许可证: GPLv3 (开源免费)