John's Home
Just another WordPress site

在DSM Docker 安装把广告从源头就彻底弄挂的Pi-hole

开源的Pi-hole

这个项目有各种好处:

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

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

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

他们现行采用的挡广告清单有七个,稍微看一下,各个维护都还算勤劳

而安装好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.点选「下载」

跳出「选择标签」时,预设「latest」就可以了

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

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

1.点选DSM Docker 的「映像档」

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

3.点击「布署」按钮

4.点击「进阶设定」按钮

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

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

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

1.点击「储存空间」

2.点击「新增资料夹」

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

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

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

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

1.点选「连接埠设定」

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

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

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

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

1.点击「环境设定」

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

「ServerIP」这边设定DSM 的内网IP 地址

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

所以保险一点做法是再写一个DNS Server 当备援,阿里、腾讯、114都不错。

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

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

2018-04-04
暂无评论

Leave a Reply

You must be logged in to post a comment.