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
- Disable the DHCP server on your router (this is a critical step–you will see red warning text when you enable the checkbox)
- 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.
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.