Pi-hole采用域名过滤的方式滤除广告,通过在群晖docker中安装pi-hole,同时在路由器中将dns server设为群晖的ip地址,可以实现路由器下的所有设备都达到去除广告的作用。同时,Pi-hole中还有dnsmasq,还可以实现dns功能

1、在DSM Docker中下载pi-hole镜像,diginc/pi-hole镜像

2、启动镜像

A、端口设置:

其中蓝框中的端口要一致;红框的端口如果群晖http已经占用了80端口,可以改成其它端口

注意:

群晖中不要安装dns server套件,也不要启用dhcp服务器

,否则会造成53端口冲突

B、卷设置:

红框中的文件夹是在群晖中已经建立好的文件夹,按图中所示映射文件夹,方式为读写(去掉只读的框)

C、环境变量设置:

本帖隐藏的内容

「ServerIP」填写群晖内网ip地址,如群晖在内网的地址是192.168.1.10,则填

192.168.1.10

「TZ」填写时区,便于pi-hole在半夜更新广告清单

「WEBPASSWORD」为pi-hole网页管理页面密码

「DNS1」、「DNS2」填写网络运营商的dns服务器地址如

D、设定完后,启动pi-hole后,稍等一会,再打开

http://ServerIP:Port /admin

就可以看到pi-hole管理页面(如果看不到,再等一会,多刷新几下),其中serverip为群晖的

内网ip地址,如192.168.1.10,port为端口设置中的地址,此例中为36778,界面如下:

登录后,可以看到更详细的信息,并可以在settings设定dns服务器,可以选择google,opendns等dns服务器

E、在路由器中将dns中的第一个dns地址设为群晖的内网地址,详见后面的PC端和路由器设置说明,如

192.168.1.10

通过这些设置后,路由器下的设备都用群晖的pi-hole过滤广告了。

利用pi-hole的dnsmasq还能实现

<http://www.nasyun.com/thread-39869-1-1.html>

中的自动识别内网和外网连接的功能:

本帖隐藏的内容

1、PC中

新建02-lan.conf的文件,文件中写入红字所示的一句

addn-hosts=/etc/pihole/lan.list

利用群晖的file station 上传至/docker/pihole/dnsmasq.d/目录

利用群晖的file station 上传至/docker/pihole/config/目录

3、登入

http://192.168.1.10:36778

/admin,其中的192.168.1.10换成你自己的群晖内网地址。利用设定的密码进入管理界面后,在

settings页面,点击restart dnsmasq,等待10分钟后,你要解析的域名就可正常解析了,你可能ping nas.123.com试试,看解析是否成功。

补充pc端和路由端的配置:

1、Pc机的dns应设置为自动获取,ip也设为自动获取,同时,路由器上的dns服务器设置成群晖的ip地址。另外,查看pi-hole的管理页面dashboard上的queries blocks上显示的数字,就是过滤的域名数量。

2、路由器界面的dns设置(水星路由器原版固件为例,

注:建议略过这步,在下面的dhcp中设置dns,有些路由只能在此设定dns服务器,不能在dhcp中设定dns,可进行此步

):

红框中填写你的群晖ip地址,这样所有的局域网中的设备都可以通过pi-hole dns进行广告过滤了。

3、路由器的dhcp设置(如果上面的第2步做过了

此步骤可省略。注:也可以只进行下面的dhcp设置,上面的第2步不操作,这样的话,局域网中通过设置固定ip的网络设备可以不走pi-hole dns,不进行广告过滤,而通过dhcp获得ip的网络设备则走pi-hole dns进行广告过滤

):

红框中填写群晖ip地址,缺省域名填写:lan,在dhcp中填写缺省域名和dns服务器是为了实现免配置局域网全自动kms激活,具体方法可在网站自行搜索