一.介绍

GitHub - pymumu/smartdns: A local DNS server to obtain the fastest website IP for the best Internet experience, 一个本地DNS服务器,获取最快的网站IP,获得最佳上网体验。

SmartDNS是一个运行在本地的DNS服务器,SmartDNS接受本地客户端的DNS查询请求,从多个上游DNS服务器获取DNS查询结果,并将访问速度最快的结果返回给客户端,避免DNS污染,提高网络访问速度。 同时支持指定特定域名IP地址,并高性匹配,达到过滤广告的效果。与dnsmasq的all-servers不同,smartdns返回的是访问速度最快的解析结果。

二.搭建方法

以群晖为例

在docker文件夹下新建文件夹目录:/docker/smartdns

image.png

docker环境下,搜索或拉取容器:ghostry/smartdns

docker pull ghostry/smartdns

image.png

镜像下载完成后,启动容器,选择高级设置,并按以下方法设置

image.png

image.png

image.png

image.png

设置完成后,点击应用,启动容器,启动后关闭容器,并返回/docker/smartdns目录,此时创建了一个名为smartdns.conf的配置文件

右键“以文本编辑器打开”或则下载到本地进行修改,复制以下内容进行覆盖,修改后保存退出

# https://github.com/pymumu/smartdns/blob/master/etc/smartdns/smartdns.conf
bind-tcp [::]:53
bind [::]:53
tcp-idle-time 3
cache-size 4096
prefetch-domain yes
serve-expired yes
serve-expired-ttl 0
speed-check-mode tcp:80,tcp:443,ping
rr-ttl-min 60
rr-ttl-max 86400
log-level warn

server 223.5.5.5:53 -blacklist-ip
server 119.29.29.29:53 -blacklist-ip
server 180.76.76.76:53 -blacklist-ip
server 1.1.1.1 -check-edns
server 1.0.0.1 -check-edns
server 8.8.8.8 -check-edns
server 8.8.4.4 -check-edns
server 208.67.222.222 -check-edns
server-tcp 119.29.29.29
server-tcp 64.6.64.6
server-tcp 8.8.4.4:53
server-tcp 208.67.222.222:443
server-tls 8.8.8.8:853
server-tls 8.8.4.4:853
server-tls 1.1.1.1:853
server-tls 1.0.0.1:853
server-https https://cloudflare-dns.com/dns-query
server-https https://dns.google/dns-query

重启smartdns容器

检查smartdns运行情况

nslookup api.themoviedb.org nas_ip
ping api.themoviedb.org

image.png

确认正确返回

三.把smartdns作为局域网内的主dns

打开你的dhcp服务器,一般是你的主路由

找到dhcp选项

在主dns栏设置为你的nas_ip,重启你的网络设备即可

最后修改:2022 年 05 月 24 日
如果觉得我的文章对你有用,请随意赞赏