This tutorial will walk you through installing and setting up pihole, configuring blocklists, and setting your router to use pihole for DNS requests.
PiHole is a local DNS server and blacklist device that you can use on your local network to manage DNS, block ads and marketing trackers, and other specific websites. You can get information about PiHole on the website at: https://pi-hole.net/
You will need to be able to get Rasperian Lite installed on your Raspberry Pi. I will not cover that step in this video and article. You will need to know how to adjust the DNS setting in your router. I am using a Linksys E1000 in this video. Most Linksys routers will be similar. Consult the user manual for your router.
You will need a Raspberry Pi. I would use one with a networking card onboard, though this tutorial is using a Pi Zero which needs a networking adapter. You will need the ability to attach a screen, Keyboard, and maybe a mouse to your Rasperry Pi for the initial setup. Once it is all setup, you will no longer need the screen, mouse, or keyboard.
Boot the Raspberry Pi into a terminal with Internet connection and type this into the terminal:
curl -sSL https://install.pi-hole.net | bash
Once the install script is running, you will have the blue setup screen. In this screen, use the space bar to select / deselect options and the tab to move between the options and the OK / cancel sections.
Once the install is finished, we need to record the IP address and login info. The password is listed on the screen. You can change the password for the admin login on the terminal:
sudo pihole -a -p
There are a lot of little things that I would do to get the system ready, so we will walk through those now. We will be using the raspberry configuration settings to make the first round of changes:
sudo raspi-config
1 Change User Password: This is the password for the Pi (NOT the web admin). The username is pi. The default password is raspberry but that should be changed. Do it here. 3 Boot Options: I enable the autologin boot into the CLI. This way I know everything is setup and running without any issues if there is a power outage. 5 Interfacing Options: Enable SSH This will enable you to manage any adjustments to your pihole system without needing to attach a monitor and keyboard to your pi. The SSH server is disabled by default. Select Finish and reboot if you need to.
If you need to change the static IP address of your PiHole, you need to edit the hccpcd config file:
sudo nano /etc/dhcpcd.conf
The options are on the bottom of the file:
static ip_address={your new ip}
static routers={your new router dhcp server}
Login to the admin console with the ip address /admin:
192.168.1.54/admin #Your IP address may differ
Login to the system with your webadmin password. The webadmin panel is very self-explanatory.
Attaching your router to PiHole is a simple matter of changing your DNS settings for your router from the defaults to point to the IP address of your PiHole, in this example, 192.168.1.54. Reboot the router and your computer should now be running all DNS requests through the PiHole.
http://use-application-dns.net/ Blocking this domain should prevent Firefox from enabling DoH