How do I use Pi-hole's built in DHCP server (and why would I want to)?


#1

Using Your Existing Router For Network-wide Ad Blocking

You might not need to use Pi-hole’s DHCP server: In many home environments, your router also functions as your DHCP server. In this case, you can often set Pi-hole to be the DNS server for your network clients in the router’s DHCP (or LAN) settings page, which allows all of your network clients to block ads simply by connecting to the network.

Setting it up this way is also what makes Pi-hole very powerful for network-wide ad blocking.

When You Cannot Change LAN/DHCP Options In Your Router

Some routers (and even some Internet Service Providers) do not let you change these settings. In this case, using Pi-hole’s DHCP server is very advantageous because you can still get automatic, network-wide ad ad blocking even if you can’t make the necessary changes on existing hardware.

To Use Pi-hole’s DHCP Server

  1. Disable the DHCP server on your router (this is a critical stepyou will see red warning text when you enable the checkbox)
  2. Enable Pi-hole’s DHCP server on the Settings page

Technically, this is all you need to do, as DHCP is meant to be easy for clients to get an address; if a DHCP server is on your network, network devices will find it. However, there are several additional options you can set for your DHCP server (and it’s not just limited to what’s currently available in our Web interface if you know how to edit the dnsmasq config file).

Advanced DHCP Settings

These settings are similar to what you would find on your router’s DHCP server, so if you have ever adjusted those settings, these will look familiar.

IPv6, SLAAC, And RA

Without getting too technical, enabling SLAAC and RA allows your network devices to auto assign themselves an IPv6 address.

DHCP Lease Time

This setting is how long your network devices keep their address assigned by DHCP. This will vary depending on your network.

DHCP Leases

This section allows you to assign DHCP reservations for your network devices. Enter the MAC address of the device and the IP address you want it to have. You can also give it a name so you can easily see what clients are accessing what domains via the query log. So instead of seeing just IP addresses on the dashboard and query log, you can see the client name.


Unable to Enable Pi Hole DHCP Server. Internet Access Lost
No internet on some devices after setting router to use Pi Hole as DNS server
Pi-Hole Not Blocking Ads on Clean Install with Asus router
Pihole DHCP writes to hosts file as well
Gargoyle router firmware
Problems with DHCP/DNS settings (stock router), PC over LAN and Smartphone over WLAN connections
Machine Name List
PiHole statistics show it working, but it doesn't block basic ads
It Just doesn't seem to work
Instal of PiHole on DLink Router not working
DHCP Settings on Router
Pfsense/pi-hole - all requests showing as localhost
Can't access /admin (another webpage running there already)
Pihole Not Working on Other Devices using a ZyXEL router
Why are Adverts on Some Domains Not Blocked?
Very new user
Can't use pi-hole DNS (or any DNS for that matter) on my Netgear C6300 router
No Internet Access
How to configure my D-LINK DSL-225 DHCP Server?
Pi-hole not receiving queries?
Pi Hole running fine, DNS server not showing pi hole IP. VPN also not working
Didn't work
Guide for less problematic setup?
Majority of traffic through one client (Eero settings)
FTL is offline after update to 4.0
Too many queries made when 'Conditional Forwarding' is enabled
Manually DNS windows, have to manually change DNS every day
Router died, modem + pihole = slow?
PI admin showing spinning wheel
Can't access internet v3.2.1 - Other devices OK
Pi-hole device can not access internet
IP Telefon geht nicht mehr
What can I do if I can't change manually set the DNS server on my router?
piHole with Netgear R6400 using Tomato
IPv6 & Armbian
Hardware/Software Requirements
FTL issues: Connection refused. Is FTL running?
Www.googleadservices.com 8,894k denied requests (while asleep?)
Pi-Hole not blocking anything
No access to admin page after PiHole installation
Pihole stops blocking ads
Pihole stops blocking ads
Pihole Not Working on Other Devices using a ZyXEL router
New Pi-Hole questions
Pihole is not working - Help
Ads not blocked from Ubuntu VM after install. Perhaps router configuration?
#2

Hi, I am trying to see if this works for two networks? I use DietPi (Pi-hole Version v3.1.4 Web Interface Version v3.1 FTL Version v2.10) However, I don’t see anything in the gui where I can add DHCP service for 192.168.0.0/24 and 192.168.2.0/24.

Thanks


#3

We have not exposed those kind of settings, if dnsmasq even supports it. Search for information on dnsmasq’s DHCP config options.


#4

9 posts were split to a new topic: Remove DHCP Leases


Dnsmasq daemon is failed
#5

Is it possible to enable static DHCP entries where I can pick different default gateway per MAC address?
I need a few devices to be routed through VPN appliance (another Raspberry Pi) which is not my regular firewall.


#6

We still use dnsmasq as the base program, so anything that you can set up via dnsmasq configurations would work. That would be something that could be done, just create two DHCP pools and assign the MAC to either pool, it would be manually done through the configuration files, but there are a number of guides out there that explain the DHCP pools with dnsmasq as it’s a really powerful program.


#7

I’m thinking of changing the config files manually for now but it would be really good to have this option in the management interface.


#8

You can open a Feature Request in that category and we’ll have it vote-able by the community.


#9

Thanks Dan. Will do.


#10

Can I still just add my own dnsmasq config options in now that you’ve forked it for FTLDNS? I’ve had dnsmasq be my dns and dhcp server for ages and I’d like to keep my dhcp rules and subnets etc.

Where do I drop in dnsmasq config options? Do they still live in /etc/dnsmasq.d/?


#11

Yup.

And _FTL_DNS is just our fork of dnsmasq so any custom configs that work with dnsmasq will work with Pi-hole.