Understanding the Conflict
The core of this problem lies in dual-DHCP environments. Pi-hole is frequently installed on a Raspberry Pi or similar Linux device specifically to act as a dedicated DNS sinkhole and ad blocker. By default, many users also enable the DHCP server feature within Pi-hole to manage local address assignments centrally. However, if your Asus router still has its own internal DHCP server enabled, you now have two services competing to hand out IP addresses.
This competition leads to unpredictable behavior. One device might assign an IP that the other considers reserved, or they might issue duplicate leases. In standard setups, this causes intermittent connectivity loss. With custom firmware such as ASUSWRT-Merlin, the situation can be more complex because Merlin often includes advanced traffic management features that rely on consistent IP mappings. If the IP table becomes inconsistent due to conflicting DHCP sources, devices may lose their ability to communicate with specific network resources or the internet entirely.
Why Custom Firmware Matters
Users running ASUSWRT-Merlin often notice these issues more acutely than those on stock firmware. Merlin firmware provides granular control over DHCP options and lease times, but it also expects a single source of truth for network addressing. If Pi-hole is handing out IPs while the router thinks it owns the pool, the router’s NAT (Network Address Translation) table can become desynchronized. This results in packets being dropped or routed incorrectly, manifesting as an inability to access network IPs even though the device appears connected to Wi-Fi or Ethernet.
Step-by-Step Resolution
To fix this, you must establish a clear hierarchy. The Asus router should remain the gateway and DHCP server, while Pi-hole acts strictly as a DNS resolver. Alternatively, if you prefer Pi-hole to manage IPs, you must disable the router’s DHCP service entirely. The most common and recommended approach for stability is to keep the router as the DHCP server and use static reservations there, pointing clients to Pi-hole for DNS.
Option 1: Router as DHCP Server (Recommended)
- Access Asus Router Interface: Log into your Asus router’s admin panel via a web browser. Navigate to the LAN settings or DHCP Server section.
- Create Static Reservations: Instead of using Pi-hole for IP assignment, map your devices here. Enter the MAC address of each device and assign a fixed IP. This ensures that every time a device connects, the router gives it the same address.
- Disable Pi-hole DHCP: Log into your Pi-hole admin interface. Go to Settings > DHCP. Turn off the DHCP server toggle. Ensure the "Interface" setting is correct, usually set to
eth0orwlan0depending on your hardware, but do not activate the server function. - Configure DNS: In the Asus router settings, set the DNS servers for the local network to point to your Pi-hole instance’s IP address. This forces all devices to route DNS queries through Pi-hole for filtering.
Option 2: Pi-hole as DHCP Server
If you prefer to manage everything from Pi-hole, follow these steps:
- Disable Router DHCP: In your Asus router settings, locate the DHCP Server option and set it to Disabled. Note that you will need to manually configure the static IP of your Asus router itself so you don’t lose access to it.
- Enable Pi-hole DHCP: In the Pi-hole admin dashboard, go to Settings > DHCP and enable the server. Configure the range of IPs it is allowed to assign (e.g., 192.168.1.100 to 192.168.1.200).
- Set Gateway: Ensure the "Gateway" field in Pi-hole DHCP settings matches your Asus router’s IP address. This tells devices how to reach the internet.
Verifying the Fix
After making these changes, restart your network equipment. Power cycle your modem, then your Asus router, and finally your Pi-hole device. Once everything is back online, check the DHCP lease table in your Asus router. You should see only one active DHCP source. Test connectivity by pinging various internal IPs and external domains. If you encounter issues, consult our guide on How to Fix Duplicate IP Addresses After DHCP Server Restart on Mesh WiFi to rule out mesh-specific lease caching problems.
Troubleshooting Common Symptoms
If devices still cannot access network IPs, check the following. First, verify that no IP conflicts exist. Use a network scanner tool to ensure no two devices share the same IP. Second, review firewall rules on the Asus router. Sometimes, enabling Pi-hole can trigger security alerts if the router detects unusual DNS traffic patterns. Third, clear the DNS cache on your client devices. On Windows, run ipconfig /flushdns; on macOS, use dscacheutil -flushcache. This forces devices to request fresh leases and DNS configurations from the newly established hierarchy.
For users dealing with broader network protocol dependencies, understanding the underlying mechanics can help prevent future issues. Refer to Understanding the Dependency of DHCP on IP Protocol to learn how IPv4 and IPv6 interactions affect DHCP reliability in mixed environments.
Frequently Asked Questions
Can I use both DHCP servers simultaneously?
No, having two active DHCP servers on the same subnet will cause IP conflicts and unstable connections. One device must be disabled to serve as the sole authority for IP assignment.
Why does my Asus router show "No DHCP Lease" after fixing this?
This usually means the router is no longer issuing IPs because it has been disabled. Ensure that if you chose Option 2, your client devices are configured to obtain an IP automatically, and that Pi-hole’s DHCP range is correctly defined.
Does ASUSWRT-Merlin require special DHCP settings?
Merlin firmware generally follows standard DHCP protocols, but it may retain old lease entries longer than stock firmware. Clearing the DHCP lease table in the Merlin admin panel after switching servers can help synchronize the state immediately.
What if I need a static IP for a printer?
You can assign static IPs to printers either through the router’s reservation list or by configuring the printer’s network settings directly to use a fixed IP outside the DHCP pool. Both methods work, but router reservations are easier to manage centrally.
How do I know if Pi-hole is blocking my DNS?
Check the Pi-hole query log in the admin dashboard. If you see queries from your device being blocked, adjust the whitelist. If you see no queries at all, your device is likely not using Pi-hole for DNS, indicating a misconfiguration in the router’s DNS forwarding settings.