# 构建家庭网络净化器:手把手搭建Pi-hole广告过滤系统

# 构建家庭网络净化器:手把手搭建Pi-hole广告过滤系统
零点119官方团队构建家庭网络净化器:手把手搭建Pi-hole广告过滤系统
引言:为什么需要网络级广告过滤?
在当今互联网环境中,广告追踪器、恶意脚本和恼人的弹窗广告无处不在。传统的浏览器插件虽然有效,但只能保护单个设备,且无法过滤应用内广告。Pi-hole作为一款网络级的广告过滤解决方案,通过在DNS层面拦截广告域名,为整个局域网内的所有设备提供无缝的广告过滤体验。
本文将详细介绍如何在树莓派或Linux服务器上部署Pi-hole,并深入探讨其高级配置和优化技巧。
🚀 一、准备工作与环境要求
1.1 硬件选择
- 树莓派(推荐Raspberry Pi 3B+或更高版本):低功耗、静音运行
- 旧电脑/服务器:任何能运行Linux的x86设备
- 虚拟机:VMware、VirtualBox或Proxmox
- 云服务器:VPS也可作为远程过滤节点
1.2 软件要求
- 操作系统:Raspbian/Raspberry Pi OS(树莓派)或Ubuntu/Debian(其他设备)
- 至少512MB RAM和8GB存储空间
- 稳定的网络连接
二、Pi-hole安装与基础配置
2.1 系统初始化(以Ubuntu 22.04为例)
1 | # 更新系统包 |
网络配置文件示例:
1 | network: |
应用网络配置:
1 | sudo netplan apply |
2.2 一键安装Pi-hole
Pi-hole提供了便捷的自动化安装脚本:
1 | # 下载并执行安装脚本 |
安装过程中需要注意的几个关键选择:
- 上游DNS服务器:推荐选择Cloudflare(1.1.1.1)或Quad9(9.9.9.9)
- 协议选择:建议同时启用IPv4和IPv6
- 隐私模式:根据需求选择是否启用
- Web管理界面:选择安装并设置管理密码
2.3 初始访问与配置
安装完成后,记录显示的IP地址和管理员密码:
1 | # 查看Pi-hole状态 |
通过浏览器访问 http://你的Pi-holeIP/admin 进入管理界面。
👋 三、网络配置:让所有设备使用Pi-hole
3.1 路由器配置(推荐方法)
进入路由器管理界面(通常为192.168.1.1或192.168.0.1):
- 找到DHCP设置
- 将主DNS和备用DNS设置为Pi-hole的IP地址
- 保存并重启路由器
3.2 手动设备配置
对于不支持路由器配置的网络,可手动设置设备DNS:
Windows:
1 | 控制面板 > 网络和共享中心 > 更改适配器设置 |
Linux:
1 | sudo nano /etc/resolv.conf |
Android/iOS:
1 | Wi-Fi设置 > 点击当前网络 > 配置DNS > 手动 |
四、高级功能配置
4.1 自定义过滤列表
除了默认列表,可以添加更强大的过滤规则:
1 | # 通过Web界面添加,或编辑自定义文件 |
添加以下推荐列表:
1 | https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts |
更新列表:
1 | pihole -g |
4.2 白名单与黑名单管理
添加白名单(允许的域名):
1 | pihole -w example.com |
添加黑名单(阻止的域名):
1 | pihole -b ads.example.com |
4.3 客户端分组与差异化过滤
创建不同的客户端组,应用不同的过滤策略:
1 | # 创建组 |
4.4 设置定期更新
创建自动更新脚本:
1 | sudo nano /etc/cron.daily/pihole-update |
添加内容:
1 |
|
设置权限:
1 | sudo chmod +x /etc/cron.daily/pihole-update |
🚀 五、性能优化与监控
5.1 数据库优化
Pi-hole使用SQLite数据库,定期优化可提升性能:
1 | # 创建优化脚本 |
1 |
|
添加到cron每周执行:
1 | sudo crontab -e |
5.2 监控与告警
设置查询日志监控:
1 | # 安装监控工具 |
设置邮件告警(需要邮件服务器):
1 | sudo apt install mailutils -y |
六、故障排除与维护
6.1 常见问题解决
DNS解析失败:
1 | # 检查Pi-hole服务状态 |
Web界面无法访问:
1 | # 重启Web服务 |
6.2 备份与恢复
备份配置:
1 | # 创建备份脚本 |
1 |
|
恢复配置:
1 | # 解压备份文件 |
✨ 七、安全加固建议
7.1 防火墙配置
1 | # 配置UFW防火墙 |
7.2 定期安全更新
1 | # 创建安全更新脚本 |
1 |
|
💡 八、进阶应用:Pi-hole集群与负载均衡
对于大型网络,可以部署多个Pi-hole实例:
8.1 多节点部署
1 | # 在所有节点上安装Pi-hole |
8.2 使用Keepalived实现高可用
1 | # 安装Keepalived |
结语
Pi-hole不仅是一个广告过滤工具,更是家庭网络的控制中心。通过本文的详细指南,您应该能够成功部署并优化自己的Pi-hole实例。随着使用时间的增长,您可以根据实际需求不断调整过滤列表和配置,打造完全符合个人需求的纯净网络环境。
记住,网络过滤是一个持续的过程。定期审查查询日志,了解被阻止的请求,适当调整白名单和黑名单,才能在过滤广告的同时不影响正常使用体验。Happy blocking!



