百度上找了一圈又一圈,大部分都是介绍了使用公网 IPV6 地址配置 ADGuard Home,绕了不少弯路。
不过实际配置起来还是挺简单的。
本文手把手介绍使用 fd00 段在 iKuai Docker 上搭建 ADGuard Home 的步骤,并启动内网 IPV6 访问。
(同时也对常见错误如 DNS 查询超时等提供解决方案)
在 iKuai 上启用 Docker 服务
iKuai 上的 Docker 是以插件的形式安装的,所以首先需要绑定 iKuai 云平台,并在 iKuai 云平台中设置。
使用绑定码在云平台上绑定设备
![](https://cdn.ghostchu.com/wp-uploads/2022/05/20220502122412屏幕截图-2022-05-02-202312248-1600x907.png)
安装 Docker 插件
访问爱快云平台,启用 Docker 插件即可。
![](https://cdn.ghostchu.com/wp-uploads/2022/05/20220502122621屏幕截图-2022-05-02-202543158-1600x708.png)
![](https://cdn.ghostchu.com/wp-uploads/2022/05/20220502122624屏幕截图-2022-05-02-202559530.png)
创建存储 Docker 配置文件的存储空间
我在磁盘上为 Docker 单独创建了一个名为 config
的分区,用于存储 Docker 的配置数据。
![](https://cdn.ghostchu.com/wp-uploads/2022/05/20220502122803屏幕截图-2022-05-02-202730784-1600x637.png)
转到 “高级应用 ->插件管理 -> Docker”,点击开关启用 Docker 服务,然后点击 服务设置
。
![](https://cdn.ghostchu.com/wp-uploads/2022/05/20220502122934屏幕截图-2022-05-02-202921866.png)
在服务设置中设置 Docker 的存储分区为刚刚创建的 config
分区,点击确认保存。
![](https://cdn.ghostchu.com/wp-uploads/2022/05/20220502123002屏幕截图-2022-05-02-202843772-1600x631.png)
准备安装 ADGuard Home 的环境
打开 “系统设置 -> 文件管理 -> config”,创建一个名为 docker-config
的文件夹。
![](https://cdn.ghostchu.com/wp-uploads/2022/05/20220502123108屏幕截图-2022-05-02-203057242.png)
随后我们在 docker-config
文件夹中再创建一个名为 adguardhome
的文件夹,这就是用于存储 ADGuard Home 配置文件的主文件夹了。
![](https://cdn.ghostchu.com/wp-uploads/2022/05/20220502123322屏幕截图-2022-05-02-203220324.png)
打开 adguardhome
子文件夹,我们还需要分别创建 workdir
和 confdir
两个子文件夹,并将会在稍后挂载到 Docker 容器中。
![](https://cdn.ghostchu.com/wp-uploads/2022/05/20220502123427屏幕截图-2022-05-02-203420252.png)
至此,我们需要准备的目录都已创建并准备就绪。
下载 ADGuard Home 的 Docker 镜像
首先打开 Docker Hub,以关键字 Adguard
查找我们需要的镜像。
![](https://cdn.ghostchu.com/wp-uploads/2022/05/20220502123633屏幕截图-2022-05-02-203601579-1600x772.png)
第一个下载量最多的就是我们需要的镜像了,记下镜像名 adguard/adguardhome
。
转到 “高级应用 -> 插件管理 -> Docker”,切换到“镜像管理”选项卡,点击添加按钮。
![](https://cdn.ghostchu.com/wp-uploads/2022/05/20220502123741屏幕截图-2022-05-02-203734427-1600x753.png)
在添加对话框中,选择”镜像库下载“,输入 adguard/adguardhome
并点击“搜索”按钮。
在搜索结果中的第一个,点击进入下载页。
![](https://cdn.ghostchu.com/wp-uploads/2022/05/20220502123910屏幕截图-2022-05-02-203902913-1600x716.png)
在下载页面,点击 latest
的下载按钮,下载镜像。
![](https://cdn.ghostchu.com/wp-uploads/2022/05/20220502124025屏幕截图-2022-05-02-204016321-1600x731.png)
配置 Docker 的网络接口
进入 ”高级应用 -> 插件管理 -> Docker“ 并切换到接口管理选项卡,点击添加按钮。
![](https://cdn.ghostchu.com/wp-uploads/2022/05/20220502124146屏幕截图-2022-05-02-204139582-1600x227.png)
如图所示,我创建了一个接口名称为 doc_docker_full
的接口,IPv4 地址为 192.168.77.0/24
,IPv4 网关为 192.168.77.1
,开启 IPv6。
IPv6 地址我们填写 fd00::/64
,IPv6 网关填写 fd00::1
。将 fd00 段分配给 Docker。
如果你的网络环境中无人使用 Clash,则可以使用 fc00 段,只需将本教程后面的 fd00 替换为 fc00。
![](https://cdn.ghostchu.com/wp-uploads/2022/05/20220502124236屏幕截图-2022-05-02-204218682.png)
创建后如图所示则为创建成功。
![](https://cdn.ghostchu.com/wp-uploads/2022/05/20220502124603屏幕截图-2022-05-02-204556282-1600x450.png)
创建容器、挂载目录、配置 IP 地址
返回 ”高级应用 -> 插件管理 -> 容器列表“,点击添加按钮
![](https://cdn.ghostchu.com/wp-uploads/2022/05/20220502124655屏幕截图-2022-05-02-204646824-1600x249.png)
我们创建一个名为 adguard
的容器,并分配 256MB 运行内存。
选择刚刚下载的 adguard/adguardhome:latest
镜像文件,并使用刚刚创建的 doc_docker_full
网络接口。
给其分配 v4v6 地址,并勾选”开机自启“。
在本示例中,我分配的 IPv4 地址为 192.168.77.3
,IPv6 地址为 fd00::3
。
![](https://cdn.ghostchu.com/wp-uploads/2022/05/20220502124757屏幕截图-2022-05-02-204743659.png)
点击展开”高级设置“,我们配置挂载目录,给 ADGuard 一个保存配置文件的地方。
![](https://cdn.ghostchu.com/wp-uploads/2022/05/20220502125020屏幕截图-2022-05-02-204950254.png)
- 源路径:
/config/docker-config/adguardhome/workdir
目标路径:/opt/adguardhome/work
- 源路径:
/config/docker-config/adguardhome/confdir
目标路径:/opt/adguardhome/conf
保存即可,此时我们的 ADGuard 应该就开始运行了。
配置 ADGuard
浏览器访问 192.168.77.3,根据向导完成基础配置即可。
验证 IPv6 是否启用
点击 ADGuard 的 ”设置向导“ 选项卡,检查是否已分配 IPv6 地址。如有,则 IPv6 配置生效。
![](https://cdn.ghostchu.com/wp-uploads/2022/05/20220502125251屏幕截图-2022-05-02-205225290-1600x858.png)
解决 DNS 查询超时问题
点击 ADGuard 的 ”设置 -> 常规设置“ 选项卡,取消选中 ”浏览安全“ 和 ”家长控制“ 两个复选框。
![](https://cdn.ghostchu.com/wp-uploads/2022/05/20220502125641屏幕截图-2022-05-02-205340783-1600x870.png)
配置上游 DNS 服务器和 Bootstrap 服务器
为了防止运营商 DNS 劫持,我使用了 DoT DNS 服务器,如果你没有特殊需求,可以直接填传统 DNS 服务器 IP 地址。
需要注意的是:你的 DNS 服务器应该支持 IPv6 地址解析/访问。
我使用以下的上游 DNS 服务器。
tls://dns.alidns.com
tls://dot.pub
tls://dns.google
![](https://cdn.ghostchu.com/wp-uploads/2022/05/20220502125823屏幕截图-2022-05-02-205756927-1600x957.png)
向下滚动,找到 Bootstrap 服务器。
我们发现上游 DNS 服务器可以是域名的形式,但 DNS 就是为了转换域名为数字 IP。
而为了解析上游 DNS 服务器列表中的域名 DNS 服务器,我们需要传统的数字 IP 的 Bootstrap 服务器。
![](https://cdn.ghostchu.com/wp-uploads/2022/05/20220502130102屏幕截图-2022-05-02-210055778-1600x356.png)
为了最佳速度,这里建议填写你的运营商的 DNS 服务器。
我的环境为山东联通,使用联通的 DNS 服务器:
202.102.154.3
202.102.152.3
223.5.5.5
2408:8899::8
2408:8888::8
设置 DNS 过滤器清单
转到 “过滤器 -> DNS 封锁清单”,按需添加和启用过滤规则,AdGuard 就会开始生效。
![](https://cdn.ghostchu.com/wp-uploads/2022/05/20220502130401屏幕截图-2022-05-02-210352524-1600x985.png)
名称 | 清单网址 |
CHN: anti-AD | https://anti-ad.net/easylist.txt |
EasyList China | https://easylist-downloads.adblockplus.org/easylistchina+easylist.txt |
乘风 | https://gitee.com/xinggsf/Adblock-Rule/raw/master/rule.txt |
分发 DNS 给客户机
转到 “网络设置 -> DNS 设置”,设置首选DNS为 ADGuard Home。
为了防止 ADGuard 爆炸导致无法上网,同时设置公共 DNS 为备选 DNS。
需要注意,不要开启 DNS 加速服务劫持 DNS,不然我不能保证 iKuai 会不会劫持走 AdGuard 的查询....
![](https://cdn.ghostchu.com/wp-uploads/2022/05/20220502130613屏幕截图-2022-05-02-210605982-1600x774.png)
转到 网络设置 -> DHCP 设置 -> DHCP 服务端,编辑 DHCP 服务。
![](https://cdn.ghostchu.com/wp-uploads/2022/05/20220502130847屏幕截图-2022-05-02-210748247-1600x465.png)
将首选 DNS 设置为 ADGuard Home。
同样,为了防止 ADGuard 爆炸导致无法上网,同时设置公共 DNS 为备选 DNS。
![](https://cdn.ghostchu.com/wp-uploads/2022/05/20220502130930屏幕截图-2022-05-02-210917526.png)
转到 “网络设置 -> IPv6 -> IPv6设置 -> 内网配置”,点击编辑按钮
![](https://cdn.ghostchu.com/wp-uploads/2022/05/20220502131235屏幕截图-2022-05-02-211032792-1600x708.png)
将首选 DNS 设置为 ADGuard Home 的 IPv6 地址。
同样,为了防止 ADGuard 爆炸导致无法上网,同时设置公共 DNS 为备选 DNS。
![](https://cdn.ghostchu.com/wp-uploads/2022/05/20220502131324屏幕截图-2022-05-02-211136806.png)
至此, AdGuard 便配置完毕。重启 iKuai 和客户机器,从 DHCP 获取新的配置文件,即可生效。
![](https://cdn.ghostchu.com/wp-uploads/2022/05/20220502131514屏幕截图-2022-05-02-211507967-1600x859.png)
![](https://cdn.ghostchu.com/wp-uploads/2022/05/20220502131748屏幕截图-2022-05-02-211741286-1600x1205.png)