群晖下安装Adguardhome 本地dns搭建

2020年8月12日 868点热度 0人点赞 0条评论

简介

Adguardhome是一个开源程序,详情参考AdGuardHome in Github
作为一个自建的dns程序,Adguardhome提供了美观的网页端,查看和设置都非常方便。
adg简介图

安装过程

我是将它安装在群晖中的,首先在群晖中安装docker,然后在docker中注册表一项搜索"adguardhome",选择官方版本,也就是第一项。
注册表


国内下载很可能会速度很慢或者失败,有折腾能力的朋友可以想办法在群晖上级装软路由或者使用阿里云docker镜像加速之类的方法。

1. 设置容器内存限制

下载好之后,在"映像"一栏中选中下载好的adgh镜像点击"启动", 如下设置
设置1

2. 装载文件夹如下

"/docker/adguardhome/workdir"->"/opt/adguardhome/workdir",
"/docker/adguardhome/confdir"->"/opt/adguardhome/conf"
左边的路径是群晖里的,可以自己设置,不过建议还是放一个专用文件夹,不要混用。右边是路径是容器里的,按照我给的填就行。
设置2

3.在网络端勾选"使用与docker host相同的网络"

因为我部署在本地局域网,上一级还有路由器比较安全,所以为了图省事就这么勾选了。如果群晖用了公网ip,为了安全,可以使用bridge,然后映射端口。这里就直接使用host网络了。
设置3

设置完之后,启动容器就可以了。

安装完adgh之后的配置

浏览器打开"群晖的ip+adgh的端口"adgh端口默认是3000,例如我的adgh浏览器地址就是192.168.x.202:3000
按照说明一步步设置就行了,如果遇到端口冲突,可以在设置中更改adgh默认的网页端口。后面的设置广告拦截以及上游dns服务器等等就需要自行摸索了
我的上游dns设置如下
设置4

设备如何使用adgh的dns服务

如果群晖和所有设备的上一级都是同一个路由器或者软路由的话,可以在路由lan口设置里面手动指定adgh的ip为dns,那么所有的局域网内设备都会使用adgh。如果只需要本地pc使用adgh的dns,则只需要在pc上设置就可以了。
Note! 群晖的docker并不会使用ipv6地址,所以我的adgh的dns地址是形如192.168.x.x的ipv4地址。windows10使用ipv4/ipv6双栈时,会优先使用自动获取的ipv6地址的dns,这一点我已测试很多次(v2ex上也有相关帖子,想要测出这一点使用nslookup和dig工具得到的结果进行判断是不可取的,因为这两者得到的结果完全相反,只能在adgh里面做网址拦截,来测试是否使用了adgh的dns)。
所以我只能暂时放弃双栈(我对v6的需求也只是一些pt站点,那就用群晖挂pt就是了,不需要pc连v6地址)。
当然,如果你给adgh配置了ipv6地址的话,windows10使用ipv4/ipv6双栈情况下,你完全可以配置v6 dns为adgh的地址,这样最省事。

Qiui

这个人很懒,什么都没留下

文章评论