DNS service NOT running after kernel update

Hello !
I 've been using pihole for about two months on a raspberry pi 3b to filter ads in my home network and everything worked fine. Yesterday I updated the raspberry to the latest kernel 4.19.75-v7+ and now I cant start DNS service.

Expected Behaviour:

pihole working as the weeks before kernel update

Actual Behaviour:

DNS service NOT running

Debug Token:

https://tricorder.pi-hole.net/9dnkltagf1

I tried:

  • to restart DNS by
    pihole restartdns

That seems to work (I get a green check mark), but pihole status reports that DNS service is not running.

  • to "sudo service pihole-FTL restartand get no errors,sudo service pihole-FTL status` reports the following:
● pihole-FTL.service - LSB: pihole-FTL daemon
   Loaded: loaded (/etc/init.d/pihole-FTL; generated)
   Active: active (exited) since Sun 2019-10-13 13:52:50 BST; 3min 22s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 14689 ExecStart=/etc/init.d/pihole-FTL start (code=exited, status=0/SUCCESS)

Oct 13 13:52:50 raspberrypi systemd[1]: Starting LSB: pihole-FTL daemon...
Oct 13 13:52:50 raspberrypi pihole-FTL[14689]: Not running
Oct 13 13:52:50 raspberrypi su[14716]: (to pihole) root on none
Oct 13 13:52:50 raspberrypi su[14716]: pam_unix(su:session): session opened for user pihole by (uid=0)
Oct 13 13:52:50 raspberrypi pihole-FTL[14689]: dnsmasq: failed to create listening socket for port 53: Address already in use
Oct 13 13:52:50 raspberrypi su[14716]: pam_unix(su:session): session closed for user pihole
Oct 13 13:52:50 raspberrypi systemd[1]: Started LSB: pihole-FTL daemon.

… but nothing changed !

I tried “pihole -r” and didn’t change anything.
I tried “pihole checkout master” (after changing resolv.conf to 1.1.1.1) - and nothing got better …

I hope you have an idea !
Thanks in advance,

Martin

pihole-FTL cannot bind to port 53 because there is another process running on that port. Run the following command from the Pi terminal and post the output - this will show all processes running on ports used by Pi-Hole and software that may be run alongside Pi-Hole:

sudo netstat -nltup | grep 'Proto\|:53 \|:5053 \|:5353 \|:8953 \|:67 \|:80 \|:471'

Hi,
thanks for your prompt answer !
The output of the above command is:

sudo netstat -nltup | grep 'Proto\|:53 \|:5053 \|:5353 \|:8953 \|:67 \|:80 \|:471'
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      2093/lighttpd       
tcp        0      0 127.0.0.2:53            0.0.0.0:*               LISTEN      522/stubby          
tcp        0      0 127.0.0.1:5053          0.0.0.0:*               LISTEN      520/cloudflared     
tcp6       0      0 :::80                   :::*                    LISTEN      2093/lighttpd       
udp        0      0 127.0.0.2:53            0.0.0.0:*                           522/stubby          
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           337/avahi-daemon: r 
udp        0      0 127.0.0.1:5053          0.0.0.0:*                           520/cloudflared     
udp6       0      0 :::5353                 :::*                                337/avahi-daemon: r

As you can see, I use stubby to send encrypted dns-requests - but it uses 127.0.0.2:53, not 127.0.0.1 and it was no problem before kernel update.
I also have another issue: the HTML-user-interface of pihole doesn’t work properly anymore - I get the “LOST CONNECTION TO API”-error when trying to connect to the 192.168.3.36/admin page.

Thanks !!

The kernel update is likely the cause of the change. Disable stubby and then restart pihole-FTL with sudo service pihole-FTL restart

This is because FTL is not running.

Okay, this seems to solve the problem ! DNS can be restarted after stopping stubby, and even after restarting stubby everything works fine !

pi@raspberrypi:~ $ sudo systemctl stop stubby
pi@raspberrypi:~ $ sudo systemctl status stubby
● stubby.service - stubby DNS resolver
Loaded: loaded (/lib/systemd/system/stubby.service; enabled; vendor preset: enabled)
Active: inactive (dead) since Sun 2019-10-13 17:18:26 BST; 5s ago
Process: 522 ExecStart=/usr/local/bin/stubby (code=killed, signal=TERM)
Main PID: 522 (code=killed, signal=TERM)

Oct 13 14:19:01 raspberrypi stubby[522]: [13:19:01.964525] STUBBY: DNSSEC Validation is ON
Oct 13 14:19:01 raspberrypi stubby[522]: [13:19:01.964561] STUBBY: Transport list is:
Oct 13 14:19:01 raspberrypi stubby[522]: [13:19:01.964574] STUBBY: - TLS
Oct 13 14:19:01 raspberrypi stubby[522]: [13:19:01.964586] STUBBY: Privacy Usage Profile is Strict (Authentication required)
Oct 13 14:19:01 raspberrypi stubby[522]: [13:19:01.964597] STUBBY: (NOTE a Strict Profile only applies when TLS is the ONLY transpor
Oct 13 14:19:01 raspberrypi stubby[522]: [13:19:01.964628] STUBBY: Starting DAEMON…
Oct 13 17:18:25 raspberrypi systemd[1]: Stopping stubby DNS resolver…
Oct 13 17:18:26 raspberrypi systemd[1]: stubby.service: Main process exited, code=killed, status=15/TERM
Oct 13 17:18:26 raspberrypi systemd[1]: stubby.service: Succeeded.
Oct 13 17:18:26 raspberrypi systemd[1]: Stopped stubby DNS resolver.
pi@raspberrypi:~ $ sudo service pihole-FTL restart
pi@raspberrypi:~ $ pihole status
[✓] DNS service is running
[✓] Pi-hole blocking is Enabled
pi@raspberrypi:~ $ sudo systemctl start stubby
pi@raspberrypi:~ $ pihole status
[✓] DNS service is running
[✓] Pi-hole blocking is Enabled
pi@raspberrypi:~ $

Thanks a lot !! (And how can I format the output in the way you did with my replies ?)

Edit your post, highlight/select the portion of text that you want to format as code. On the top row of the reply window, select the format option </> and this will format that output as code. Save and that’s it.

Okay, I try: …

pi@raspberrypi:~ $ sudo systemctl stop stubby
pi@raspberrypi:~ $ sudo systemctl status stubby
● stubby.service - stubby DNS resolver
Loaded: loaded (/lib/systemd/system/stubby.service; enabled; vendor preset: enabled)
Active: inactive (dead) since Sun 2019-10-13 17:18:26 BST; 5s ago
Process: 522 ExecStart=/usr/local/bin/stubby (code=killed, signal=TERM)
Main PID: 522 (code=killed, signal=TERM)

Oct 13 14:19:01 raspberrypi stubby[522]: [13:19:01.964525] STUBBY: DNSSEC Validation is ON
Oct 13 14:19:01 raspberrypi stubby[522]: [13:19:01.964561] STUBBY: Transport list is:
Oct 13 14:19:01 raspberrypi stubby[522]: [13:19:01.964574] STUBBY: - TLS
Oct 13 14:19:01 raspberrypi stubby[522]: [13:19:01.964586] STUBBY: Privacy Usage Profile is Strict (Authentication required)
Oct 13 14:19:01 raspberrypi stubby[522]: [13:19:01.964597] STUBBY: (NOTE a Strict Profile only applies when TLS is the ONLY transpor
Oct 13 14:19:01 raspberrypi stubby[522]: [13:19:01.964628] STUBBY: Starting DAEMON…
Oct 13 17:18:25 raspberrypi systemd[1]: Stopping stubby DNS resolver…
Oct 13 17:18:26 raspberrypi systemd[1]: stubby.service: Main process exited, code=killed, status=15/TERM
Oct 13 17:18:26 raspberrypi systemd[1]: stubby.service: Succeeded.
Oct 13 17:18:26 raspberrypi systemd[1]: Stopped stubby DNS resolver.
pi@raspberrypi:~ $ sudo service pihole-FTL restart
pi@raspberrypi:~ $ pihole status
[✓] DNS service is running
[✓] Pi-hole blocking is Enabled
pi@raspberrypi:~ $ sudo systemctl start stubby
pi@raspberrypi:~ $ pihole status
[✓] DNS service is running
[✓] Pi-hole blocking is Enabled
pi@raspberrypi:~ $

And it works. Fine ! Thanks a lot !!

1 Like

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