在DSM里面的Docker安装Pi-hole把广告从源头彻底弄没了

原帖地址:https://www.jkg.tw/?p=157

在DSM里面的Docker安装Pi-hole把广告从源头彻底弄没了 NAS 第1张

之前在 UniFi USG 内建的 dnsmasq 服务放入 yhost 挡广告的清单

把广告在 DNS 查询时就彻底按死在地上,这样做挺好的,因为局域网内所有上网的设备

不需要额外安装软件或者设定,不管是上网还是打开任何App,全部都能享受到零广告的好处

但是 USG 一直以来都两个致命毛病

  1. USG 更新升级时,放入的挡广告清单会被清空
  2. 需要另外写脚本放它自动去更新

某次在 USG 升级后又被清空,不爽了所以干脆另寻他路,结果就找到一个开源的 Pi-hole !

这个项目有各种好处:

  1. 能识别阻挡全世界超过 10 万个有害或者广告的域名
  2. 阻挡广告的效果可以在所有设备、所有系统以及所有App内
  3. 增进整体网络效能(因为广告在被下载前,已经被阻挡)
  4. 行动设备可以用 VPN 连回家中 Pi-hole 阻挡广告节省行动网络流量
  5. 有个漂亮完整的 Web 管理接口
  6. 提供 API ,可以在你的程式中使用

可以看下 Pi-hole 他们的官方介绍影片:

Pi-hole 开发者目前也都很活跃,想要看完整源码可以到 Pi-hole Github 网页去,或者只是想要获取他们的挡广告清单

在DSM里面的Docker安装Pi-hole把广告从源头彻底弄没了 NAS 第2张
他们现行采用的挡广告清单有七个,稍微看一下,各个维护都还算勤劳

而安装好 Pi-hole 以后,系统也会在午夜时间自动抓取更新,并且自动去除重复的项目,无人值守非常方便

 

虽然这个项目是设计给 Raspberry Pi 的,不过也有人移植到 Docker 上面来

今天我们要介绍的就是在 Synology DSM 的 Docker 上面安装一套 Pi-hole

 

  • 在 DSM Docker 里面下载 Pi-hole 的映像档

1.在 DSM 管理页面打开 Docker

2.点选“仓库服务器”

3.在搜索字段里面输入“pi-hole”

4.点“搜寻”

5.点选“diginc/pi-hole”

6.点选“下载”

在DSM里面的Docker安装Pi-hole把广告从源头彻底弄没了 NAS 第3张

跳出“选择标签”时,默认“latest”就可以了

在DSM里面的Docker安装Pi-hole把广告从源头彻底弄没了 NAS 第4张

稍等片刻以后,DSM 就会下载完毕

 

  • 布署 Pi-hole 与设定 Docker 环境变量

1.点选 DSM Docker 的“映像档”

2.点选刚刚下载好的映像档“diginc/pi-hole:latest”

3.点击“布署”按钮

4.点击“进阶设定”按钮

在DSM里面的Docker安装Pi-hole把广告从源头彻底弄没了 NAS 第5张

 

“自动重启”建议勾选,如果当机挂了或者 DSM 重新开机后,这个容器还会自动启动

在DSM里面的Docker安装Pi-hole把广告从源头彻底弄没了 NAS 第6张

 

为了避免以后升级 Docker 映像档后设定消失,所以我们要建立本地资料夹与容器资料夹的连结

这样容器内的设定档就会存到 DSM 本地的资料夹,这样也方便我们编辑

1.点击“储存空间”

2.点击“新增资料夹”

3.DSM 本地资料夹请随意新增两个,分别对应两个容器资料夹,设定完应该会跟下面图片一样

“/etc/pihole”这个是 pi-hole 存放设定档的地方

“/etc/dnsmasq.d”这个是 pi-hole 存放 dnsmasq 规则的地方

在DSM里面的Docker安装Pi-hole把广告从源头彻底弄没了 NAS 第7张

 

在“连接埠设定”页面是设定 DSM 与容器端口的映射,设定好以后我们连到 DSM IP 跟相应端口就能访问到容器

1.点选“连接埠设定”

2.pi-hole 共要设定三个端口,设定完应该如下面图片

其中因为我 DSM 已经跑一个 http 服务,所以已经占用掉 80 端口,这边我就改成 36778

53 端口是 DNS 服务器专用,如果 DSM 上面没其他 DNS Server 建议就不要修改

在DSM里面的Docker安装Pi-hole把广告从源头彻底弄没了 NAS 第8张

 

设定 pi-hole 环境变量,有几项比较重要需要设定

1.点击“环境设定”

2.这边列出几个比较重要的设定,完整的设定可以到 Docker 的网页查询

“ServerIP”这边设定 DSM 的内网 IP 地址

“TZ”这边设定时区“Taipei”,有设定时区以后,Pi-hole 会在半夜时间更新广告清单

“WEBPASSWORD”这个是登入 Pi-hole 网页管理页面的密码

“DNS1”、“DNS2”这两个可以根据你的网络设定来决定,下图是 OpenDNS 的,你也可以换成自己网络运营商的,不设定的话就 Pi-hole 就会使用 Google DNS

在DSM里面的Docker安装Pi-hole把广告从源头彻底弄没了 NAS 第9张

 

设定完以上内容后,就全部都点“确定”或者“下一步”,最后 Pi-hole 就会正常启动了!

启动后我们就可以透过刚刚设定的 ServerIP 来登入 Pi-hole 管理页面

http://[ServerIP]:[Port]/admin ,修改掉红色部分,根据以上文章设定为例那就是: http://192.168.2.200:36778/admin

在DSM里面的Docker安装Pi-hole把广告从源头彻底弄没了 NAS 第10张

浏览器输入以上网址,然后输入刚刚设定的WEBPASSWORD,就能登入管理页面囉~

登入后就能看到更多资讯,有客户端的请求纪录、添加白名单与黑名单。。等等,还有 Pi-hole 的设定选项~

在DSM里面的Docker安装Pi-hole把广告从源头彻底弄没了 NAS 第11张

 

以下列几个 Pi-hole 比较重要的选项

在DSM里面的Docker安装Pi-hole把广告从源头彻底弄没了 NAS 第12张

“Pi-hole DHCP Server”如果你局域网内有其他 DHCP Server 这里就不要打开,否则会打架

“Pi-hole Block Lists”这里可以让你添加或删除广告清单,系统会在每周日凌晨 01:59 自动更新

在DSM里面的Docker安装Pi-hole把广告从源头彻底弄没了 NAS 第13张

另外他还支援 DNSSEC 功能,如果你使用 Google DNS 或者其他支援 DNSSEC 的话,这里可以打开支援

Google DNS 在 2013 年的时候就已经支援这项服务,打开后也可以到这个网页看看有没有生效?

 

设定选项逛一圈以后,我们还需要到你路由器里面修改一下 DNS Server 指向 Pi-hole IP

每种路由器的设定方法不同,以下是以 UniFi USG 为例

在DSM里面的Docker安装Pi-hole把广告从源头彻底弄没了 NAS 第14张

通常路由器里面 DNS Server 应该都能设定两个,你也可以只设定一组到 Pi-hole

但是这样如果 Pi-hole 当机或者还没有启动的时候,你局域网内的设备会上不了网络

所以保险一点做法是再写一个 DNS Server 当备援

 

设定完路由器以后,你可以把你的 iPhone 或者电脑重新连线,不知道怎么做就关闭 WiFi 再打开或者关机再开机

然后请随意开几个网站,或者打开Facebook App之类的看看,广告是不是变少许多呢。。。

汉化文件:Pi-hole汉化.rar

汉化文件使用方法:

1、解压文件出来

2、打开WinSCP

3、用root登录

4、进入/var/www/html/admin

5、把解压的文件上传覆盖

 

如果用docker安装的,最好用root登录SSH,然后查找文件:find / | grep favicon.png,可能是以下路径(选中标蓝色的那行,长串数字每台机可能会有不同)。

 

 

Pi-hole规则:

http://someonewhocares.org/hosts/hosts

https://raw.githubusercontent.com/StevenBlack/hosts/master/data/StevenBlack/hosts

https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts

http://sysctl.org/cameleon/hosts

http://www.montanamenagerie.org/hostsfile/hosts.txt

http://www.malwaredomainlist.com/hostslist/hosts.txt

http://adaway.org/hosts.txthttp://winhelp2002.mvps.org/hosts.txt

点赞

发表评论