Pi-hole是一个拦截广告的开源软件项目,它可以将你的家庭网络上的所有广告路由到一个不存在的地方,从而实现在你的设备上拦截广告的目的。这么好的方法只需要花几钟的时间来设置,你就可以使用它了。
Pi-hole 拦截了超过 100,000 个提供广告的域名,它可以拦截任何设备(包括移动设备、平板电脑、以及个人电脑)上的广告,并且它是完整的拦截了广告,而不是仅将它们隐藏起来,这样做可以提升总体的网络性能(因为广告不需要下载)。你可以在一个 web 界面上、或者也可以使用一个 API 来监视性能和统计数据。
https://zhuanlan.zhihu.com/p/35054718
本文参考并搬运了:
- 《在你的网络中使用树莓派和 Pi-hole 拦截广告》 – Linux中国的文章 – 知乎 https://zhuanlan.zhihu.com/p/35054718
- aoenian的《树莓派最佳伴侣pi-hole安装》https://aoenian.github.io/2019/02/02/rasp-pi-hole/
- 官方安装说明:https://github.com/pi-hole/pi-hole/#one-step-automated-install
关于前期准备,即树莓派设备和系统安装可以参考另外一篇博文。
安装Pi-hole
curl -sSL https://install.pi-hole.net | bash
安装过程中会出现选择界面,根据自行需求进行选择设置。下面给出个人建议和选择。
- 出现
Pi-hole automated installer
界面,提示This installer will transform....ad blocker
.点击确定 the pi-hole is free, but powered by your donations. http://pi-hole.net/donate
项目需要大家的捐助(看了一下没有支付宝渠道)。点击确定the pi-hole is a server so it needs a static ip
pi-hole需要固定ip地址,选个局域网IP地址在路由器上绑定一下。点击确定select upstream dns provider
我选择 cloudflare,查了一下这个dns就是那个1.1.1.1
。- 接着选择去广告的list,建议使用默认配置,直接确认即可
- 然后是IPv4和IPV6选择,先按照默认吧。
- 因为我的树莓派是dhcp获得的地址,如果你也是一样,这里软件会提示你使用你现在的地址作为静态地址。确认。
- 确认以后软件会提示你,如果你的局域网依然是使用DHCP自动分配地址可能会发成IP冲突,解决的方法可以在路由器绑定或者把让DHCP地址池不包含树莓派的地址(我用的华为的好像这种方法有问题),这里一般不会出现冲突的情况。
基本的配置完成,后面是安装管理软件。
- 安装
web admin
,必须安装,图形界面管理 - 安装
web server
,必须,不安装上面的不管用,自己看着办 - 是否开启日志,ok开启
- 隐私模式选择,这个没有看懂,直接默认了
等待软件安装配置完成,然后重启树莓派,浏览器访问 http://192.168.3.100/admin/ 进行管理。记得换成你的树莓派IP.
在管理面板的左侧有login
按钮,点击登录会提示你输入密码,这个是在安装的时候出现的,不过相信你和我一样没看到,在pi的终端执行如下命令 sudo pihole -a -p
重新设置密码。登录后的设置就不再多介绍了。
配置路由器
为了避免树莓派的IP地址会变化,首先去路由器的设定界面把树莓派的物理地址和IP地址绑定。
树莓派现在运行着一个 DNS 服务器,接下来你需要告诉你的路由器使用 Pi-hole 作为它的 DNS 服务器而不是网络供应商提供给你的默认DNS。进入路由器的管理控制台界面。这个界面一般是输入你的路由器的 IP 地址来进入的。
找到 LAN 设置下面的 DHCP/DNS 设置,然后将你的主 DNS 服务器的 IP 地址设置为你的 Pi-hole 的 IP 地址。设置完成之后,它应该你下图的样子:
这里有一个重要的注意事项,就是Pi-hole应该作为你唯一的DNS服务器,才能保证所有的网络连接都通过它过滤广告。
测试
现在,如果要把树莓派挪到另一个固定的地方,可在命令行下输入 sudo halt
关闭运行的树莓派,并断开它的电源。你可以拔掉显示器连接线和键盘,然后将你的树莓派放置到一个合适的固定的地方 — 或许应该将它放在你的路由器附近。确保连接着以太网线,然后重新连接电源以启动它。
在你的个人电脑上访问一些网站,检查你的网络连接是否正常(如果不能正常访问,可能是你的 DNS 配置错误)。如果在浏览器中看到了预期的结果,说明它的工作正常。现在,你浏览网站时,应该再也看不到广告了!甚至在你的 app 中提供的广告也无法出现在你的移动设备中!
维护
在浏览器上输入 Pi-hole 的 IP 地址来访问它的 web 界面,比如,http://192.168.1.4/admin
或者 http://pi.hole/admin
。这上面有 Pi-hole 管理面板和一些统计数据(在这时可能数字比较小)。
可以微调 Pi-hole 设置,像域名的白名单和黑名单、永久和临时禁止、访问拦截统计信息等等。
个别情况下,可能需要去升级 Pi-hole 。当软件需要更新时,这个 web 界面会出现一个更新提示。如果启用了 SSH,可以远程登入,否则,只能再次连接键盘和显示器。远程登入之后,输入 pihole -up
命令来更新。
感谢各位前辈的宝贵经验!