Skip to content

TimInTech/-Pi-hole-v6.0-for-Raspberry-Pi-3-B

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 

Repository files navigation

🛡️ Pi-hole v6.0: Advanced DNS Sinkhole for Raspberry Pi 3 B

Complete guide for ARMv6 with Debian Bullseye and Whitelist Automation

Pi-hole v6.0 Dashboard

🔗 Official Resources
Pi-hole GitHub | v6 Migration Guide
Recommended Hardware: Raspberry Pi 4 Starter Kit (Compatible with Pi 3 B)


📋 Table of Contents

  1. Hardware Requirements
  2. OS Installation
  3. Pi-hole Setup
  4. Whitelist Automation
  5. Maintenance

🛠️ Pi-hole v6 - Troubleshooting Guide 6. Troubleshooting


🛠️ Hardware Requirements

Component Specification
Raspberry Pi 3 Model B (ARMv6)
OS Raspberry Pi OS (Legacy) Lite (32-bit)
Storage 16GB+ MicroSD Card
Power Supply 5V/2.5A

Why ARMv6?
Pi-hole v6 requires Debian Bullseye (11), which is only fully compatible with the legacy OS on Raspberry Pi 3 B.


📥 OS Installation

Step 1: Flash the Image

  1. Use Raspberry Pi Imager
  2. Select OS:
    Raspberry Pi OS (Other) → Raspberry Pi OS (Legacy) Lite (32-bit)
    
  3. Enable SSH: Click the gear icon → Enable SSH → Set password

Step 2: First Boot

# Connect via SSH
ssh [email protected] # Replace with your IP
Password: raspberry

# Update system
sudo apt update && sudo apt full-upgrade -y

Pi-hole Setup

Automated Install

# Run installer (skip OS check)
curl -sSL https://install.pi-hole.net | PIHOLE_SKIP_OS_CHECK=true sudo -E bash

Key Choices:

  • Upstream DNS: Google (ECS + DNSSEC)
  • Web Interface: Enabled
  • Logging: Enabled

⚙️ Whitelist Automation

1. Create Your Whitelist

  1. Create a whitelist.txt file:
    # Example Whitelist
    alexa.amazon.com
    device-metrics.us  
    *.tuya.com
    
  2. Host it privately:
    • GitHub Private Repo: Upload and use the raw URL
    • Local Server: Use python3 -m http.server 8000

2. Auto-Update Script

sudo nano /usr/local/bin/whitelist-updater.sh
#!/bin/bash
WHITELIST_URL="https://raw.githubusercontent.com/YourUsername/PrivateRepo/main/whitelist.txt"

wget -q -O /tmp/whitelist.txt "$WHITELIST_URL"
pihole -w --nuke
xargs -a /tmp/whitelist.txt -I {} pihole -w {}
pihole restartdns

Schedule Daily Updates:

sudo crontab -e
# Add:
@daily /usr/local/bin/whitelist-updater.sh >/dev/null 2>&1

🔧 Maintenance

1. Regular Updates

# Update Pi-hole
sudo pihole -up

# Update OS
sudo apt update && sudo apt upgrade -y

2. Backup/Restore

# Export settings
sudo pihole -a -t

# Restore
sudo pihole -a -r /path/to/backup.tar.gz

🚨 Troubleshooting

Issue Solution
DNS Failure pihole restartdns
Web Interface Crash sudo systemctl restart lighttpd
"Database Locked" sudo systemctl restart pihole-FTL