This page is also available in: English
与 dnsmasq 的“简单解析并缓存 DNS 记录”不同,SmartDNS 是一个运行在本地的 DNS 服务器,能够从多个上游 DNS 服务器获取 DNS 查询结果,并将访问速度最快的结果返回给客户端,以此提高网络访问速度。它支持 DOT(DNS over TLS) 和 DOH(DNS over HTTPS),能更好的保护隐私。
首先创建一个配置文件 /etc/smartdns/smartdns.conf 添加以下配置:
# 监听53端口
bind [::]:53
# 配置上游服务器
server 8.8.8.8
server 114.114.114.114
server 202.96.128.166:53
server-tls 1.1.1.1
以 Docker 在本地服务器中部署为例,Docker Compose 配置文件如下:
services:
smartdns:
image: pymumu/smartdns:latest
container_name: smartdns
restart: always
ports:
- "53:53/udp"
volumes:
- /etc/smartdns:/etc/smartdns
部署容器:
sudo docker compose up -d
特别要注意 53 端口的占用情况,对于 Linux 系统,systemd-resloved 服务可能会占用 53 号端口,可以参考《用 Docker 在局域网中部署 dnsmasq 缓存 DNS 加速网络访问》中提供的解决方法。
SmartDNS 容器启动成功,就可以将路由器中的 DNS 设置成内网服务器地址,接下来的网络访问都会由 SmartDNS 进行解析优化。
下面几个网站列出了国内外常用的公共 DNS 服务器
本文发布于 2024-08-17,最近更新 2024-09-23。
本文版权归 torchtree.com 网站所有,未经授权不可转载。