折腾本腾
群晖抄作业SmartDNS+AdGuardHome实现安全上网加速与去GG
00 分钟
2023-6-3
2023-6-5
type
status
date
slug
summary
tags
category
icon
password
URL
 
notion image
创作立场声明:我在本文中的应用搭配和设置分别经过了2年时间的家里使用和1年时间的单位部门使用,稳定性与体验非常好,才发出来与大家分享我的配置选项,欢迎收藏、评论。
#我家NAS装了啥#有奖活动正在火热进行中,分享你家NAS装了啥App,赢取TS-453D mini!→戳此了解←
追加修改(2021-07-22 10:02:25): 一、关于ghostry-smartdns的更方便修改配置方法: 1、把ghostry-smartdns容器停止了。 2、打开File Station,在docker文件夹里面新建一个叫smartdns文件夹。 3、回到ghostry-smartdns容器的编辑页面,“储存空间”选项卡,点击“添加文件夹” 4、弹出路径选择对话框,选择我们刚刚新建的smartdns文件夹,“装载路径”输入“/smartdns”。意思就是用docker/smartdns的文件夹映射容器里面的/smartdns文件夹,旧可以方便修改配置文件了。 5、重新启动容器,就会在docker/smartdns的文件夹看到smartdns.conf配置文件,下载修改,再上传覆盖。 6、重新启动容器。 7、ghostry-smartdns容器的版本升级也一样这样设置。 二、关于adguard/adguardhome容器的版本升级 1、和上面一样也是映射文件夹。 2、打开File Station,在docker文件夹里面新建一个叫adguardhome文件夹,再在里面新建“work”、“conf”两个文件夹。 3、回到容器的编辑页面,“储存空间”选项卡,点击“添加文件夹” 4、docker/adguardhome/work装载容器里面的“/opt/adguardhome/work” 5、docker/adguardhome/conf装载容器里面的“/opt/adguardhome/conf” 6、每次adguard/adguardhome有版本更新后,下载新版本映像部署时候,重新装载4、5点的文件夹就可以重用配置了。

前言

SmartDNSAdGuardHome 的教程已经有一大堆了,为什么还要写?先看看我的7天统计,左边是我部署在家里的软路由OpenWrt上的,已经稳定运行2年多,右边是部署在单位部门PVE的Debian里,已经运行1年多了。
intel N3160平均处理时间更快
notion image
intel N3160平均处理时间更快
notion image
随便估算一下,每次能节省30ms,380000次大概节省11400秒=3.1小时(不过上网加速主要还是靠SmartDNS)。从拦截率来看广告链接真不少。
SmartDNSAdGuardHome 很多人都会部署,各有各的用法。我的思路主要是SmartDNS用DNS over HTTPS和DNS over TLS作为上游,开启大缓存与专属功能“返回最快IP地址”提高网络访问速度,AdGuardHome(连接上游SmartDNS)主要是去广告,方便加黑白名单。

经过2年时间配置的不断调整,基本符合使用要求,现在把最重要的配置细节分享出来,大家直接抄作业就行了,请收藏、点赞。

因为我经常对主软路由进行系统升级,所以想着把SmartDNSAdGuardHome搬到群晖
Docker上去,不用每次升级后都部署一次。如果不用群晖,在其他平台也可以抄配置,一样的
本文是以解决实际问题为导向的教程,所以啰嗦而简洁、直白而简单,适合小白。

群晖安装Docker

安装Docker很简单,过程我就不细述了,张大妈搜一下很多,推荐看第一个
notion image
dns下载。
选latest版本就可以了
notion image
选latest版本就可以了
notion image
等待映像下载完毕,切换到映像标签,选择ghostry/smartdns启动,CPU优先高,高级设置里面的高级设置勾选“启用自动重新启动”。端口设置里面本地端口1053,类型UDP。
notion image
notion image
待容器启动后,进入smartdns的详情,在终端机里面“通过命令启动”
notion image
输入 /bin/sh 确定就进入命令行了。
输入命令对SmartDNS的配置文件进行编辑,进入后按dd将原来的配置全删了。
notion image
vi /smartdns/smartdns.conf
按热键帮助Ctrl+A进入前缀模式,按i进入编辑模式,把我的配置Ctrl+V粘贴进去。然后按Esc键退出编辑模式,再按冒号:输入wq保存退出。输入命令cat /smartdns/smartdns.conf看看配置文件是否正确保存下来了。
server-name smartdnsbind [::]:53cache-size 60000# enable persist cache when restartcache-persist yes# cache persist filecache-file /smartdns/smartdns.cache# prefetch domainprefetch-domain yes# cache serve expired # serve-expired [yes|no]serve-expired yes# cache serve expired TTLserve-expired-ttl 172800# speed check mode# speed-check-mode [ping|tcp:port|none|,]# example
notion image
到此完成了SmartDNS的安装配置。
输入ifconfig,记下inet add地址,等下填到AdGuardHome
notion image
输入ifconfig,记下inet add地址,等下填到AdGuardHome
与安装SmartDNS步骤一样,搜索AdGuardHome,安装adguard/adguardhome,因为我是x86_64平台所以要选最新的v0.107.0-b.4版本才能正常下载安装。
notion image
notion image
启动设置,CPU优先高,高级设置里面的高级设置勾选“启用自动重新启动”。端口设置里面把其他全部删除,剩下本地端口3000,类型TCP和本地端口53,类型UDP。3000是管理端口,53是DNS的服务端口。
notion image
应用启动后就可以用你的群晖ip加端口3000进入AdGuardHome的设置界面了(我的是http://192.168.1.5:3000
notion image
管理端口3000,DNS端口53
管理端口3000,DNS端口53
notion image
notion image
认真对照每一项,直接抄
认真对照每一项,直接抄
172.17.0.2就是刚刚取得的ghostry/smartdns容器的ip地址。
notion image
添加广告过滤,第一个是官方的过滤表,命中率也很高,保留。点击“添加阻止列表”-“从列表中选择”
notion image
只选择一个anti-AD列表就够了,不用多选了,并不是越多列表效果越好的,多了各种问题。
notion image
列表有时更新不成功,换个时间多点几次试试(第一个我就没更新成功)
notion image
4:48更新成功了
4:48更新成功了

测试部署是否成功

命令行测试成功
notion image
命令行测试成功
notion image

设置客户端

1、openwrt路由的可以在LAN接口中设置,自动分发到全部客户端
notion image
2、Windows设置
notion image

最后

有些人说SmartDNS、AdGuardHome分别都可以做到你要的功能,多此一举要部署两个软件。
能做到不代表做得好。SmartDNS的广告拦截就不如AdGuardHome的管理方便,黑白名单也添加删除方便,而且AdGuardHome自带官方的列表(虽然是阉割版)。
AdGuardHome的“返回最快IP地址”功能就是参考SmartDNS的代码的,我刚开始用的时候它是没有这个功能,后来增加的。我认为还是SmartDNS的功能在不断改进,而且它的缓存更灵活。
结论就是我要同时用这两个软件。
收藏、点赞 下篇看群晖开启WireGuard VPN实现客户端轻松回家

评论
Loading...