
You're running Pi-Hole wrong! Setting up your own Recursive DNS Server!
Huge thanks to Linode for bringing you this video. Wanting your own personal cloud services, but don't have the time, money, or space to set up your own server rack? Let Linode host them for you! Visit https://linode.com/CraftComputing and get a $100 60-Day credit just for signing up. Pi-Hole is an awesome service to run in your house. It keeps ads from loading on every device, and will run on any Raspberry Pi, Docker container or virtual machine you'd like. But did you know it can do SO much more than just block ads? You can also completely bypass 3rd party DNS servers like 8.8.8.8, 1.1.1.1, 208.67. 222.222, or the ones ran by your ISP. But first... What am I drinking??? Freigeist Bierkultur's Aufschneider, a 'Hoppy German-style Hefeweizen Ale'. This reminded me a lot of a Radler... you know, a lager mixed with grapefruit soda? But think of a Hefe mixed with a Pale Ale. It's better than it sounds, but it's also neither a Pale Ale, nor a Hefe. Not bad, but not for me. Installation Steps Install Ubuntu Server 20.04 (https://ubuntu.com/download/server) Install Pi-Hole - sudo curl -sSL https://install.pi-hole.net | bash Set the Web Admin Password - pihole -a -p [password] Install Unbound DNS - sudo apt install unbound Create Unbound Configuration File - sudo nano /etc/unbound/unbound.conf.d/pi-hole.conf Copy example config - https://docs.pi-hole.net/guides/dns/unbound/ Restart Unbound to apply Configuration - sudo service unbound restart Disable Forwarding DNS in PiHole Set Custom DNS in PiHole - 127.0.0.1#5335 And you're done! Bonus points for sending all DNS traffic through a VPN Gateway to encrypt all outbound requests - https://youtu.be/xFficDCEv3c *Links to items below may be affiliate links for which I may be compensated* Find the parts I recommend on my Amazon store: https://www.amazon.com/shop/craftcomputing Follow me on Twitter @CraftComputing Support me on Patreon or Floatplane and get access to my exclusive Discord server. Chat with myself and the other hosts on Talking Heads all week long. https://www.patreon.com/CraftComputing https://www.floatplane.com/channel/CraftComputing Music: George Street Shuffle by Kevin MacLeod Link: https://filmmusic.io/song/3800-george-street-shuffle License: https://filmmusic.io/standard-license
You're running Pi-Hole wrong! Setting up your own Recursive DNS Server!
Setting up PiHole as a DIY DNS Server
In this tutorial, the speaker explains how to install and set up PiHole as a recursive DNS server, eliminating the need to forward DNS requests to third parties like Google or your internet service provider.
Installing PiHole and Understanding its Functionality
- PiHole is a self-hosted DNS server that blocks ads when visiting web pages.
- By default, PiHole is a forwarding DNS server with a specific list of websites it has IP addresses for. If it doesn't have an address, it forwards the request to the next configured DNS server.
- PiHole filters out ad-containing websites from loading when requests go through it.
- We can configure PiHole as a recursive DNS server, which seeks out authoritative domain servers for website resolution. This improves speed and eliminates reliance on third-party DNS servers.
Building the PiHole Server
- The speaker creates a new virtual machine using Proxmox but mentions that you can use a Raspberry Pi or any hypervisor of your choice.
- Selecting Ubuntu 20.04 as the operating system for the virtual machine.
- Allocating resources such as CPU cores and RAM for the virtual machine.
- Opening the console to install Ubuntu on the virtual machine.
Configuring Ubuntu Installation
- During installation, selecting English as the main language and a US keyboard layout.
- Setting a server name, username, password, and installing OpenSSH server for easier installation later on.
Obtaining the IP Address
- After Ubuntu is installed and running, logging in with the credentials set during installation.
- Using the
ip address
command to find the IP address of the PiHole server.
The transcript provided does not include timestamps for some parts of the video.
Installing Pi-hole
In this section, the speaker explains how to install Pi-hole using a script.
Installing Pi-hole
- Use the provided script from either the GitHub or Pi-hole websites to install Pi-hole.
- Open the terminal and type
sudo paste
followed by the script.
- Press Enter to start the installation process.
Introduction to Video Sponsor - Linode
The speaker introduces Linode as the video sponsor and highlights its benefits for hosting personal cloud services.
Introduction to Linode
- Linode is a hosting service that allows users to set up their own cloud services on Linux.
- It offers various hosting plans starting from shared CPU options to high-performance virtual machines.
- Users can deploy and manage their own cloud services easily with Linux.
- Linode provides solutions for ad-blocking recursive DNS servers and personal VPN tunnels.
Setting Up Pi-hole Web Interface
The speaker explains the setup process for the Pi-hole web interface.
Setting Up Pi-hole Web Interface
- During installation, select default settings unless specified otherwise.
- Set up an upstream DNS server (e.g., Google) for DNS forwarding within Pi-hole.
- Choose to block ads over IPv4 and IPv6.
- Decide whether to convert DHCP address into a static address (temporary solution).
- Install the web admin interface, web server, and required PHP modules.
- Choose whether or not to log queries (consider privacy concerns).
- Select different modes for logging queries based on preferences.
- Default mode shows everything (client and accessed website).
- After installation, wait for about 60 seconds for Pi-hole setup completion.
Accessing Pi-hole Web Interface and Setting Password
The speaker explains how to access the Pi-hole web interface and set a custom password.
Accessing Pi-hole Web Interface and Setting Password
- Most users can access the web interface using the IP address followed by "/admin" (e.g., 192.168.1.99/admin).
- Take note of the provided password or reset it from the SSH session.
- To set a custom password for the Pi-hole web interface, use the command
hole -a -p
followed by the desired password.
- Verify correct setup by logging into the web interface with the set password.
Installing Unbound for Recursive DNS Server
The speaker introduces Unbound as a tool to transform Pi-hole into a full recursive DNS server.
Installing Unbound
- Update app repository using
sudo apt update
.
- Install Unbound to enable recursive DNS server functionality in Pi-hole.
For more detailed instructions, refer to the full written tutorial on the Pi-hole website linked in the video description.
Setting up the Configuration File
In this section, the speaker explains how to create and configure the necessary files for setting up Pi-hole as a DNS server.
Creating the Configuration File
- Use
sudo nano
to open a new file.
- Copy and paste the configuration file from the Pi-hole website into the editor.
- Save and exit by pressing
Ctrl + X
, then confirming with 'y' and hitting enter.
Changing DNS Port
- The speaker explains that it is necessary to change the DNS port from 53 to 5335 in order to avoid conflicts with Pi-hole already listening on port 53.
- This change allows Pi-hole to act as a DNS server while forwarding requests to Unbound via port 5335.
Updating DNS Settings in Pi-hole
- Open the Pi-hole main page and go to settings.
- Click on the "DNS" tab at the top.
- Uncheck any Google DNS servers previously set up during installation.
- Scroll down to "Upstream DNS Servers" and check "Custom 1 (IPv4)".
- Enter "127.0.0.1#5335" as the custom upstream DNS server address.
- Scroll down and click on save.
Testing Pi-hole as an Ad Blocker and Recursive DNS Server
In this section, the speaker demonstrates how Pi-hole can be used as both an ad blocker and a recursive DNS server.
Testing Ad Blocking
- The speaker shows their Pi-hole logging on one side of their screen and visits msn.com, a heavily ad-laden website, on another side of their screen.
- They point out various ads that are blocked by Pi-hole, including banners, sponsored headlines, and video players.
Configuring Network Interfaces
- The speaker opens the network interfaces settings and selects their Ethernet connection.
- They go to properties, then IPv4 connections, and specify the Pi-hole server's IP address (e.g., 192.168.1.99) as the DNS server.
Testing Pi-hole as a Recursive DNS Server
- The speaker revisits msn.com after configuring their network interface.
- They note that while some ads are still present due to Microsoft hosting their own ads, many have been blocked by Pi-hole.
Understanding Pi-hole Logs
In this section, the speaker explains how to interpret the logs generated by Pi-hole.
Forwarding Requests to Unbound
- In the log history, requests that say "forward it on to localhost 5335" indicate that Pi-hole is forwarding DNS queries to Unbound for resolution.
Cached Results
- Results labeled as "OK (cached)" indicate that Pi-hole has cached the IP addresses of certain websites and can directly serve those queries without forwarding them to Unbound.
Blocked Requests
- The speaker points out blocked requests in the log, which indicates that Pi-hole has identified them as part of its ad repository and prevented access.
Local DNS Queries with Pi-hole
In this section, the speaker discusses how Pi-hole can respond to local DNS queries without manual configuration.
Simplified Local DNS Configuration
- Previously, adding local DNS queries required manually editing the hosts file in Pi-hole.
- Now there is a dedicated tab for local DNS records where users can create records based on internal services running on their server stack.
Conclusion
Pi-hole can be set up as a recursive DNS server and ad blocker. It forwards requests to Unbound for resolution and blocks ads effectively. Additionally, it offers simplified local DNS configuration for internal services.
New Section
The speaker discusses joining a community and invites viewers to engage with them on a different platform.
Joining the Community
- The speaker encourages viewers to join their ever-growing community on another platform.
- This provides an opportunity for viewers to interact and ask questions without using Twitter DMs.
New Section
The speaker introduces the beer they will be reviewing in this video.
Beer Review: Elf Schneider Hoppy German Style Hefeweizen Ale
- The beer is from Fry Geist Beer Culture, based in St. Louis, Missouri.
- It is a hoppy German-style hefeweizen ale with 6.0% alcohol content.
- Fry Geist may be a gypsy brewer as it is brewed and canned by Urban Chestnut Brewing Company for Fry Geist.
- The speaker describes an interesting smell of the beer but does not provide specific details about the hops used.
New Section
The speaker shares information about Fried Ice's mission and their approach to brewing.
Fried Ice's Mission and Brewing Approach
- Fried Ice was founded in 2009 with the aim of reviving Germany's lost artisanal ales.
- They offer bold American-influenced twists on traditional German beer styles.
- This particular beer incorporates generous editions of Cascade and Mosaic hops, giving it tropical fruity notes and an extra burst of American-style bitterness.
New Section
The speaker shares their initial impressions of the beer's taste profile.
Taste Profile Impressions
- The speaker compares the taste experience to doing a shandy with grapefruit soda and lager, even though it is an IPA and hefeweizen combination.
- They describe the tropical flavor as more melon-like rather than citrusy.
- The beer has a rich banana flavor from the German malt, which is typical of hefeweizens.
- However, the speaker notes that they are missing some of the usual spices and tastes associated with hefeweizens.
- Overall, they find the beer interesting but not entirely satisfying.
New Section
The speaker reflects on their overall impression of the beer and its balance between being a hefeweizen and an Americanized IPA.
Balancing Hefeweizen and American IPA
- The speaker finds the beer interesting but feels conflicted about it.
- They express a preference for it to lean more towards being a traditional hefeweizen rather than an Americanized version.
- On the other hand, they also feel that it is not quite Americanized enough in terms of hop flavor.
- In conclusion, while not disappointed with the beer, it does not fully meet their expectations as either a hefeweizen or an American IPA.