iKuai 安装 AdGuard
docker 安装
爱快云 -> 插件应用 -> 插件市场

图1)
图2)
图3)再次进入 高级应用 -> 插件管理,会出现 docker 图标。

图4)分区

图5)| 磁盘 | 显示物理磁盘标识及容量 |
|---|---|
| 挂载路径 | 绑定业务时设置的磁盘名称,类似 Windows 中磁盘盘符 |
| 分区名称 | 磁盘分区标识,如 nda1 表示为 nda 磁盘的第一个分区 |
| 分区类型 | 类型包含主分区、逻辑分区以及未格式化分区 |
| 分区大小 | 对应磁盘分区的容量大小,单位自动换算 |
| 绑定业务 | 系统配置及系统日志分区为固定分区并标识为黄色;自定义分区可绑定5类业务,分别为普通存储、有余繁星、缓存加速、行为记录和钉钉闪传 |
创建 AdGuard 文件夹
创建文件夹是为了方便文件管理。
例如:我创建了一个 docker_home 文件夹,我把它用来存放 docker。

图6)在 adguard 目录中,创建 workdir 目录和 confdir 目录。(安装 adguard 镜像时用来设置安装目录)

图7)开启 docker

图8)
图9)镜像库 URL 的地址随意填(因为目前 docker 镜像地址被封,所以我用的是手动上传镜像文件的方式),如果你是用拉取镜像的方式,填一个你能访问的地址。

图10)获取 adguard 镜像
找一台服务器,运行 docker pull adguard/adguardhome 命令拉取镜像。

图11)执行 docker save -o adguardhome adguard/adguardhome:latest 命令保存 docker 镜像为 .tar 文件。
|
|
你在哪个目录执行 docker save -o adguardhome adguard/adguardhome:latest 命令, .tar 文件就保存在那个目录,将.tar 文件下载下来即可。
|
|
配置 docker
配置 docker 网络

图12)IPv4 地址随意填,但是 IPv4 网关要跟着 IPv4 地址一起变。
例如:
- IPv4 地址:xxx.xxx.xxx.0/24
- IPv4 网关:xxx.xxx.xxx.1

图13)发现没有 IPv6,F12 打开控制台,将 style="display: none;" 删除掉。

图14)我设置的是 fd32::/64,你们也可以设置其他的,比如 fe00::/64 等,但是不要设置 fe80::/64。

图15)上传镜像
在 系统设置 > 磁盘管理 > 文件管理 中上传自己的镜像。

图16)
图17)
图18)
图19)粘贴地址后,点击确认。

图20)创建容器

图21)容器配置
- 容器名称:随便,我这里使用
adguard - 内存占用(M):一般为
256 512 1024 2048(根据自己的需要配置,我这里使用1024) - 选择镜像文件:
adguard/adguardhome:latest - 选择网络接口:刚刚配置的,我这里是
doc_1(如果配置的名称是cfbk他会加上doc_,变为doc_cfbk) - IPv4地址:我在接口管理中设置的是
192.168.10.0/24,那么选一个同网段的地址,填192.168.10.10 - IPv6地址:我在接口管理中设置的是
fd32::/64,那么选一个同网段的地址,填fd32::2,fd32::1已经作为网关使用了,不填也可以,会自动分配 - 开机自启:选择上(要不爱快
dns设置上docker容器不启动,那dns解析不到东西就上不了网了)

图22)| 源路径 | 目标路径 |
|---|---|
自己设置的路径,我的是 /docker/Docker/docker_home/adguard/workdir |
/opt/adguardhome/work |
自己设置的路径,我的是 /docker/Docker/docker_home/adguard/confdir |
/opt/adguardhome/conf |
查看是否已启用

图24)配置 AdGuard
默认端口是 3000,导航栏输入 192.168.10.10:3000 访问。
常规设置
- 用 AdGuard【家长控制】服务:如果家中有尚未成年的孩子,建议开启,屏蔽成人内容。
- 强制安全搜索:在
Bing、Google、Yandex、YouTube等网站上强制使用安全搜索,屏蔽NSFW内容。

图41)DNS 设置

图25)上游 DNS 服务器

图26)
|
|
- 负载均衡:使用加权随机算法来选择最快的服务器,也就是随机选择一个上游
DNS服务器中的一个进行解析请求,哪个延迟低就更偏向于用哪一个。 - 并行请求:同时请求所有上游 DNS 服务器,取最快给出的响应结果,所以解析速度很快。在上游
DNS服务器设置合理的情况下属于万金油方案,解析速度和访问速度都很快。所以也非常适合上游DNS服务器连接延迟大和不稳定的情况。 - 最快的
IP地址:同时请求所有上游DNS服务器,在所有响应结果中选出延迟最低且可用的IP。因为要等待所有上游DNS服务器响应结果,而且还要测试IP延迟及可用性,所以解析速度会很慢。只适合上游DNS服务器延迟特别低且网络非常稳定的场景,否则实际使用中可能会遇到首次打开网页非常慢,甚至可能打不开,要多刷新几次。再者低延迟IP不一定速度就快,还要看实际负载情况,所以这个方案的实际可用性是最差的。
Bootstrap DNS 服务器
Bootstrap DNS 服务器(引导 DNS 服务器)的作用只是解析上游 DoT/DoH 技术 DNS 服务器的域名,所以这里需要填写使用 UDP 协议的传统 DNS 服务器 IP 地址。
前两个优先选择自己本地运营商 DNS
|
|
测试上游 DNS -> 应用

图27)DNS 服务配置
- 速度限制:0
- 使用 EDNS :前面提及的上游
DNS服务器都是支持EDNS (ECS)的,它有助于获取到更合适的CDN节点,建议勾选。 - 使用 DNSSEC : 用于效验
DNS记录的签名,防止 DNS 缓存被投毒,建议勾选。勾选后会在日志页面请求列显示小绿锁图标。 - 禁用 IPv6 :丢弃
IPv6的DNS查询。在本地网络和网站都支持IPv6会优先使用IPv6去访问网站,但目前IPv6的建设还处于初级阶段,大多数地区的IPv6网络体验都一般。还有一些代理软件对IPv6支持不佳。如果对此没有特殊需求,那么直勾选即可,这样既不影响BT软件连接IPv6网络,又可以优先使用IPv4来上网。如果只有IPv4,那么是否勾选没有区别。

图28)DNS 缓存配置
TTL (Time To Live):存活时间,放在 DNS 解析中意为一条域名解析记录在 DNS 服务器中的存留时间,单位是秒。
正常情况下 TTL 默认 0 即可,即从上游 DNS 服务器获取 TTL 值。如果你所部署的网络环境到上游 DNS 服务器的延迟比较高,那么可以适当增加 TTL 值,让缓存更持久,短时间内请求同样域名的解析会直接从缓存中读取,实现秒解析。不过 TTL 值不宜过大,不然会导致记录不能及时更新,结果是网站无法正常打开。目前多数域名的 TTL 值普遍在 300 以内。

图29)DNS 封锁清单
过滤规则地址:https://github.com/sbwml/halflife-list
- anti-AD 命中率最高列表 https://cdn.jsdelivr.net/gh/privacy-protection-tools/anti-AD@master/anti-ad-easylist.txt
- 合并自乘风视频广告 https://cdn.jsdelivr.net/gh/sbwml/halflife-list@master/ad.txt

图30)DHCP 和 DNS 设置
DNS 地址设置为 AdGuard 的地址。

图31)
图32)首选 DNS 地址写 AdGuard 的地址,如果在创建容器的时候设置了 IPV6 地址,就用哪个地址,备选 DNS 地址设置一个公共的作为备用。

图36)IPV6 / ACL 规则
iKuai 开启 IPV6

图33)点击 确定 后,过一会就会有 IPV6 地址。

图34)在 wan 口有 IPV6 地址后,下面的 lan 口也会有 IPV6 地址。

图35)开启 ACL 规则
对自己的内网实现基本的防护。
第一条规则:禁止所有外网的 IPV6 访问
- 方向:转发,转发就是
wan口转到lan口,外面的数据从wan口进来,转发到lan口,我们把这个方向阻断 - 连接方向匹配:原始方向,也就是直接从
wan口进来的

图37)
图38)第一条规则会导致内部的 IPV6 无法访问外部,所以需要建立第二条规则,让内部的 IPV6 访问外部。
原理:先建立一条规则全部阻断,其次如果再建立允许规则的话,允许规则的权限是要大于阻断规则的。
第二条规则:允许内部的 IPV6 访问外部
- 连接方向匹配:关闭,代表对方向没有什么要求

图39)
图40)