DHCP requests stop working

Please follow the below template, it will help us to help you!

Expected Behaviour:

DHCP requests work 24/7

Actual Behaviour:

Hi,

I've a problem with DHCP not working and I have to restart pihole. It works for a few minutes / hours then crashes again.

My setup:

ISP --> cable modem > ASUS RT-AC68U as router running Asuswrt-Merlin 384.12 --> LAN --> pihole.
DHCP is turned off in the router, and enabled in pihole. Any idea where I can start troubleshooting? If I grep for the MAC of a device not getting the IP, I only get entries from dnsmasq-dhcp like DHCPDISCOVER, DHCPOFFER,
DHCPACK and DHCPREQUEST, nothing about the process dying.

Debug Token:

https://tricorder.pi-hole.net/lmy4szpfvh

Look in /var/log/pihole.log and /var/log/pihole-FTL.log for any errors.

Not finding anything obvious. I see some of these SERVFAIL from dnsmasq in pihole.log:

$ grep -A3 -B3 -i error /var/log/pihole.log | tail -n10
--
Jul  3 12:32:41 dnsmasq-dhcp[599]: DHCPREQUEST(eth0) 192.168.1.106 c0:f2:fb:b4:bb:63
Jul  3 12:32:43 dnsmasq-dhcp[599]: DHCPACK(eth0) 192.168.1.106 c0:f2:fb:b4:bb:63 iPhone
Jul  3 12:32:45 dnsmasq[599]: reply error is SERVFAIL
Jul  3 12:32:45 dnsmasq[599]: reply error is SERVFAIL
Jul  3 12:32:45 dnsmasq[599]: reply error is SERVFAIL
Jul  3 12:32:45 dnsmasq-dhcp[599]: DHCPREQUEST(eth0) 192.168.1.106 c0:f2:fb:b4:bb:63
Jul  3 12:32:47 dnsmasq-dhcp[599]: DHCPACK(eth0) 192.168.1.106 c0:f2:fb:b4:bb:63 iPhone

pihole-FTL.log below:

 $ grep -i "fail\|warn\|error"  /var/log/pihole-FTL.log* | grep -v "(0 errors)"
/var/log/pihole-FTL.log:[2019-07-03 02:15:01.777 2178] IPv4 telnet error: Interrupted system call (4)
/var/log/pihole-FTL.log.1:[2019-07-02 16:48:53.450 11640] IPv4 telnet error: Interrupted system call (4)

Finally:

$ sudo systemctl status --full --no-pager pihole-FTL.service
● pihole-FTL.service - LSB: pihole-FTL daemon
   Loaded: loaded (/etc/init.d/pihole-FTL; generated; vendor preset: enabled)
   Active: active (exited) since Wed 2019-07-03 12:39:42 UTC; 4h 52min ago
     Docs: man:systemd-sysv-generator(8)
  Process: 6069 ExecStop=/etc/init.d/pihole-FTL stop (code=exited, status=0/SUCCESS)
  Process: 6116 ExecStart=/etc/init.d/pihole-FTL start (code=exited, status=0/SUCCESS)
    Tasks: 0 (limit: 4915)
   CGroup: /system.slice/pihole-FTL.service

Jul 03 12:39:31 raspberrypi systemd[1]: Starting LSB: pihole-FTL daemon...
Jul 03 12:39:31 raspberrypi pihole-FTL[6116]: Not running
Jul 03 12:39:41 raspberrypi su[6170]: Successful su for pihole by root
Jul 03 12:39:41 raspberrypi su[6170]: + ??? root:pihole
Jul 03 12:39:41 raspberrypi su[6170]: pam_unix(su:session): session opened for user pihole by (uid=0)
Jul 03 12:39:42 raspberrypi pihole-FTL[6116]: FTL started!
Jul 03 12:39:42 raspberrypi systemd[1]: Started LSB: pihole-FTL daemon.

I'll do some more digging.

Updated token: https://tricorder.pi-hole.net/4gomf0t0jb

The only thing I can think of is pihole-FTL maxing out the CPU, causing DHCP requests to time out or not even being acknowledged at all.

How can I find the source of the pihole-FTL CPU usage? Is there a maximum recommended amount of blocked domains, for the Raspberry Pi's?

[2019-07-03 19:31:19.896 31100] /etc/pihole/gravity.list: parsed **1030489 domains** (took 8297.5 ms)

top - 20:38:10 up  8:32,  2 users,  load average: 0.40, 0.34, 0.36
Tasks: 104 total,   2 running,  57 sleeping,   0 stopped,   1 zombie
%Cpu(s):  5.1 us,  0.2 sy,  0.0 ni, 94.2 id,  0.4 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :   999036 total,   325448 free,   138104 used,   535484 buff/cache
KiB Swap:   102396 total,   102396 free,        0 used.   790876 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
31100 pihole    20   0  156912  85060   3648 R  94.1  8.5  18:42.07 **pihole-FTL**
 9168 pi        20   0    8292   3352   2760 R  17.6  0.3   0:00.04 top
    1 root      20   0   28120   6092   4892 S   0.0  0.6   0:07.39 systemd

I believe a DNS loop can cause high CPU load.
Make sure DNS queries dont get looped back to Pi-hole.
One such example is if you configure Pi-hole to use its own IP address for upstream DNS resolution.

That makes sense, but pihole is only using external DNS resolvers. The high CPU load is not constant, only seen every now and then.

This topic was automatically closed 21 days after the last reply. New replies are no longer allowed.