原文地址:https://www.lujun9972.win/blog/2020/12/05/使用pi-hole屏蔽广告/index.html
目录
- 获取Pi的对外IP地址
- 安装Pi-hole
- 配置DNS
- 配置拦截域名
获取Pi的对外IP地址
我们一般通过ssh登陆树莓派来进行管理,因此可以从 SSH_CONNECTION
环境变量中获取树莓派的对外IP
IP=$(echo ${SSH_CONNECTION}|cut -d ' ' -f 3)
echo ${IP}
192.168.1.14
SSH_CONNECTION
变量标识了ssh链接的客户端和服务端信息,该变量包含了四个用空格分隔的值,包括:客户端IP地址,客户端端口,服务端IP地址,服务端端口。 详细的说明可以参见 man ssh
.
安装Pi-hole
安装Pi-hole最简单的方法就是用容器了,一行命令搞定:
sudo docker run -d \
--name=pihole \
-e TZ=Asia/Chongqing \
-e WEBPASSWORD=password \
-e SERVERIP=${IP} \
-v $(pwd)/etc-pihole:/etc/pihole \
-v $(pwd)/etc-dnsmasq:/etc/dnsmasq.d \
-p 443:443/tcp \
-p 80:80/tcp \
-p 67:67/udp \
-p 53:53/tcp \
-p 53:53/udp \
--cap-add=NET_ADMIN \
--restart=unless-stopped \
pihole/pihole
若使用的是基于Ubuntu的操作系统,那么 53
号端口可能会被 system-resolved
服务所占用,需要关闭 DNSStubListener
, 执行如下命令:
sudo sed -r -i.orig 's/#?DNSStubListener=yes/DNSStubListener=no/g' /etc/systemd/resolved.conf
sudo systemctl restart systemd-resolved
配置DNS
下一步需要配置DNS指向树梅派,为了防止树梅派故障无法提供DNS服务,我不打算改掉之前的DNS,而是在前面加上树梅派作为第一DNS。
创建一个新的 /etc/resolv.conf.head
,并加入下面内容
其中 192.168.1.14
为树梅派的IP地址。
配置拦截域名
用 password
登陆 http://$IP/admin
, 选择 Group Management -> Adlists ,为 Default 规则组添加两个URL:
https://gitee.com/privacy-protection-tools/anti-ad/raw/master/domains.txt
https://share.is26.com/subscribe/adblock.hosts
然后再 Tools -> Update Gravity 点击“Update”更新屏蔽域名表
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)