步骤 1:安装Pi-hole
-
访问Pi-hole下载页面:前往Pi-hole的官方网站(https://pi-hole.net/),找到对应的Linux发行版下载页面。
-
下载安装包:选择适用于你的Ubuntu系统的DEB包。
-
安装Pi-hole:
sudo apt install pi-hole
步骤 2:启动Pi-hole服务
- 启用并启动服务:
sudo systemctl unmask pi-hole.service sudo systemctl enable pi-hole.service sudo systemctl start pi-hole.service
步骤 3:访问Pi-hole管理界面
-
打开浏览器,访问:
http://localhost:4711你会被重定向到Pi-hole的管理界面。
-
设置DNS前缀:
- 在管理界面中,点击“Settings”(设置),选择“DNS”选项。
- 在“DNS服务器前缀”字段中,输入你的网络前缀,
168.1./24。 - 点击“保存”应用更改。
步骤 4:配置DNS记录
- 添加本地DNS服务器记录:
- 在管理界面中,点击“DNS”选项,选择“Add”(添加)按钮。
- 设置:
- Type (Type):
SOA - TTL: 默认值保留。
- Name (Name): @(或其他适当的主机名)
- Target (Target): 本地DNS服务器的IP地址和端口,
168.1.100:53
- Type (Type):
- 点击“Add”保存。
步骤 5:配置DNS过滤规则
-
添加过滤规则:
- 在Pi-hole管理界面中,进入“Lists”(列表)部分,选择“Pi-hole”选项。
- 点击“Add”按钮,输入以下JSON内容:
{ "block": true, "description": "Example blocking list rule.", "ip": "*", "list": "Pi-hole", "type": "domain" } - 根据需要调整规则,保存。
-
应用规则:保存后,规则将生效。
步骤 6:设置DNS解析顺序
-
编辑resolv.conf:
sudo nano /etc/resolv.conf
添加以下内容在
nameserver后:168.1.100 192.168.1.100
保存并退出。
-
确保Pi-hole为首选DNS:确保Pi-hole的IP是resolv.conf中的第一个nameserver。
步骤 7:测试配置
-
使用nslookup测试:
nslookup example.com 192.168.1.100
确认DNS请求是否正确被Pi-hole处理。
-
检查SOA记录:
dig @192.168.1.100 example.com
确认SOA记录是否来自本地DNS服务器。
步骤 8:优化和维护
-
性能监控:使用top或htop监控Pi-hole的资源使用情况,确保其能够处理请求负载。
-
定期更新:定期更新Pi-hole的病毒数据库,确保过滤规则是最新的。
-
日志管理:检查Pi-hole的日志文件,监控配置变化和潜在问题。
注意事项
-
防火墙设置:确保防火墙允许4711端口的TCP流量,否则无法访问管理界面或处理DNS请求。
-
备份配置:定期备份Pi-hole的配置文件,以防配置丢失。
通过以上步骤,你应该能够成功配置并使用Pi-hole作为DNS过滤服务器,有效地保护你的网络环境。









