# DNS Server Failure

**URL:** https://discourse.pi-hole.net/t/dns-server-failure/87830
**Category:** Help
**Created:** [October 2, 2026, 11:36pm UTC](https://discourse.pi-hole.net/t/dns-server-failure/87830 "2026-10-02T23:36:28Z")
**Posts on this page:** 13
**Page:** 1

<div class="post-metadata">

### Author: ![jmm5160](https://discourse-cdn.pi-hole.net/letter_avatar_proxy/v4/letter/j/e5b9ba/32.png) [@jmm5160](https://discourse.pi-hole.net/u/jmm5160)
#### Post date: [October 2, 2026, 11:36pm UTC](https://discourse.pi-hole.net/t/dns-server-failure/87830/1 "2026-10-02T23:36:28Z")

</div>

#### I'm going to apologise if this has already been talked about, but I haven't been able to fix this based on my searches so far.

Getting a DNS server failure in the Pi hole when I log in to the browser interface. No other errors in the browser interface. Updated gravity. Ran the pihole -d command. Running under the assumption that it was a port 53 issue, I tried disabling and stopping dnsmasq, but the response I get is...

unit dnsmasq.service does not exist

- Operating System : Pi Os
- Hardware: Raspberry Pi 4

## Debug Token:

[https://tricorder.pi-hole.net/gYcWGH2J/](https://tricorder.pi-hole.net/gYcWGH2J/)

---

<div class="post-metadata">

### Author: ![rdwebdesign](https://discourse-cdn.pi-hole.net/user_avatar/discourse.pi-hole.net/rdwebdesign/32/51363_2.png) [@rdwebdesign](https://discourse.pi-hole.net/u/rdwebdesign)
#### Post date: [October 3, 2026, 2:14am UTC](https://discourse.pi-hole.net/t/dns-server-failure/87830/2 "2026-10-03T02:14:37Z")

</div>

Your debug log shows that a few days ago (September 29) Pi-hole was starting correctly:

```ini
2026-09-29 22:01:07.963 EDT [1448M] INFO: PID of FTL process: 1448
2026-09-29 22:01:08.006 EDT [1448M] INFO: listening on 0.0.0.0 port 53
2026-09-29 22:01:08.006 EDT [1448M] INFO: listening on :: port 53

```

It also shows that the current issue is really caused by port 53 already in use:

```ini
2026-10-02 18:40:47.647 EDT [4964M] INFO: PID of FTL process: 4964
2026-10-02 18:40:47.649 EDT [4964M] CRIT: Error in dnsmasq configuration: failed to create listening socket for port 53: Address in use

```

But the port diagnostic shows Pi-hole using the UDP port 53 _(but no TCP port)_ and a `dnsmasq` instance using port 53 for a different IP:

```ini
*** [DIAGNOSING]: Ports in use
    (...)
[✓] udp:0.0.0.0:53 is in use by pihole-FTL
    (...)
[✗] udp:10.12.194.1:53 is in use by dnsmasq
     (...)
[✗] tcp:10.12.194.1:53 is in use by dnsmasq
    (...)

```

* * *

Try these commands to stop `dnsmasq` again and restart Pi-hole:

```auto
sudo systemctl stop dnsmasq
sudo systemctl disable dnsmasq

sudo systemctl restart pihole-FTL.service

```

---

<div class="post-metadata">

### Author: ![jmm5160](https://discourse-cdn.pi-hole.net/letter_avatar_proxy/v4/letter/j/e5b9ba/32.png) [@jmm5160](https://discourse.pi-hole.net/u/jmm5160)
#### Post date: [October 3, 2026, 2:34pm UTC](https://discourse.pi-hole.net/t/dns-server-failure/87830/3 "2026-10-03T14:34:05Z")

</div>

Like I said earlier, I tried to run those commands and I get a response that dnsmasq does not exist.

I'm considering just uninstalling pihole and reinstalling it.

---

<div class="post-metadata">

### Author: ![jmm5160](https://discourse-cdn.pi-hole.net/letter_avatar_proxy/v4/letter/j/e5b9ba/32.png) [@jmm5160](https://discourse.pi-hole.net/u/jmm5160)
#### Post date: [October 3, 2026, 4:18pm UTC](https://discourse.pi-hole.net/t/dns-server-failure/87830/4 "2026-10-03T16:18:49Z")

</div>

Uninstalled and reinstalled. Still got the same problem.

Failed to stop dnsmasq.service : unit dnsmasq.service not loaded

Failed to disable unit: unit dnsmasq.service does not exist

---

<div class="post-metadata">

### Author: ![rdwebdesign](https://discourse-cdn.pi-hole.net/user_avatar/discourse.pi-hole.net/rdwebdesign/32/51363_2.png) [@rdwebdesign](https://discourse.pi-hole.net/u/rdwebdesign)
#### Post date: [October 3, 2026, 5:13pm UTC](https://discourse.pi-hole.net/t/dns-server-failure/87830/5 "2026-10-03T17:13:51Z")

</div>

The debug log shows `dnsmasq` is running and using port 53.

If there is no `dnsmasq` service, there is a different service starting it (probably NetworkManager).

---

<div class="post-metadata">

### Author: ![jmm5160](https://discourse-cdn.pi-hole.net/letter_avatar_proxy/v4/letter/j/e5b9ba/32.png) [@jmm5160](https://discourse.pi-hole.net/u/jmm5160)
#### Post date: [October 3, 2026, 5:49pm UTC](https://discourse.pi-hole.net/t/dns-server-failure/87830/6 "2026-10-03T17:49:41Z")

</div>

I would have expected to see something like

dns=dnsmasq

If the network manager was using it, but I'm not seeing it.

Tried to use

sudo systemctl mask dnsmasq

But keep getting the same problem. It says it's not there and the pihole diagnostic gives the same results.

New to Linux and pihole so please excuse my ignorance here.

---

<div class="post-metadata">

### Author: ![rdwebdesign](https://discourse-cdn.pi-hole.net/user_avatar/discourse.pi-hole.net/rdwebdesign/32/51363_2.png) [@rdwebdesign](https://discourse.pi-hole.net/u/rdwebdesign)
#### Post date: [October 3, 2026, 6:33pm UTC](https://discourse.pi-hole.net/t/dns-server-failure/87830/7 "2026-10-03T18:33:17Z")

</div>

Please post the output of `sudo ss -tupnl '( sport = 53 )'`.

---

<div class="post-metadata">

### Author: ![deHakkelaar](https://discourse-cdn.pi-hole.net/user_avatar/discourse.pi-hole.net/dehakkelaar/32/674_2.png) [@deHakkelaar](https://discourse.pi-hole.net/u/deHakkelaar)
#### Post date: [October 3, 2026, 9:46pm UTC](https://discourse.pi-hole.net/t/dns-server-failure/87830/8 "2026-10-03T21:46:53Z")

</div>

Plus a couple more?

`pstree -ps $(pidof -s dnsmasq)`

`apt policy dnsmasq-base`

`apt --installed rdepends dnsmasq-base`

---

<div class="post-metadata">

### Author: ![jmm5160](https://discourse-cdn.pi-hole.net/letter_avatar_proxy/v4/letter/j/e5b9ba/32.png) [@jmm5160](https://discourse.pi-hole.net/u/jmm5160)
#### Post date: [October 3, 2026, 10:50pm UTC](https://discourse.pi-hole.net/t/dns-server-failure/87830/9 "2026-10-03T22:50:05Z")

</div>

```auto
$ sudo ss -tupnl '( sport = 53 )'
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
udp UNCONN 0 0 0.0.0.0:53 0.0.0.0:\* users:(("pihole-FTL",pid=1811,fd=21))
udp UNCONN 0 0 10.12.194.1:53 0.0.0.0:\* users:(("dnsmasq",pid=1468,fd=6))
tcp LISTEN 0 32 10.12.194.1:53 0.0.0.0:\* users:(("dnsmasq",pid=1468,fd=7))

```

---

<div class="post-metadata">

### Author: ![jmm5160](https://discourse-cdn.pi-hole.net/letter_avatar_proxy/v4/letter/j/e5b9ba/32.png) [@jmm5160](https://discourse.pi-hole.net/u/jmm5160)
#### Post date: [October 3, 2026, 10:56pm UTC](https://discourse.pi-hole.net/t/dns-server-failure/87830/10 "2026-10-03T22:56:26Z")

</div>

```auto
sudo pstree -ps $(pidof -s dnsmasq)
systemd(1)───NetworkManager(748)───dnsmasq(1468)

```

---

<div class="post-metadata">

### Author: ![jmm5160](https://discourse-cdn.pi-hole.net/letter_avatar_proxy/v4/letter/j/e5b9ba/32.png) [@jmm5160](https://discourse.pi-hole.net/u/jmm5160)
#### Post date: [October 3, 2026, 10:57pm UTC](https://discourse.pi-hole.net/t/dns-server-failure/87830/11 "2026-10-03T22:57:00Z")

</div>

```auto
sudo apt --installed rdepends dnsmasq-base
dnsmasq-base
Reverse Depends:
Recommends: network-manager
dnsmasq-base:armhf
dnsmasq-base:armhf
dnsmasq-base-lua:armhf
dnsmasq-base-lua
Replaces: dnsmasq-base
dnsmasq-base:armhf
dnsmasq-base:armhf
dnsmasq-base-lua:armhf
dnsmasq-base-lua
Recommends: network-manager
dnsmasq-base:armhf
dnsmasq-base:armhf
dnsmasq-base-lua:armhf
dnsmasq-base-lua
Replaces: dnsmasq-base
dnsmasq-base:armhf
dnsmasq-base:armhf
dnsmasq-base-lua:armhf
dnsmasq-base-lua

```

---

<div class="post-metadata">

### Author: ![jmm5160](https://discourse-cdn.pi-hole.net/letter_avatar_proxy/v4/letter/j/e5b9ba/32.png) [@jmm5160](https://discourse.pi-hole.net/u/jmm5160)
#### Post date: [October 3, 2026, 10:58pm UTC](https://discourse.pi-hole.net/t/dns-server-failure/87830/12 "2026-10-03T22:58:29Z")

</div>

```auto
apt policy dnsmasq-base
dnsmasq-base:
Installed: 2.91-1+deb13u2
Candidate: 2.91-1+deb13u2
Version table:
\*\*\* 2.91-1+deb13u2 500
500 http://deb.debian.org/debian trixie/main arm64 Packages
100 /var/lib/dpkg/status
2.91-1+deb13u1 500
500 http://deb.debian.org/debian-security trixie-security/main arm64 Pa>
lines 1-9/9 (END)

```

---

<div class="post-metadata">

### Author: ![deHakkelaar](https://discourse-cdn.pi-hole.net/user_avatar/discourse.pi-hole.net/dehakkelaar/32/674_2.png) [@deHakkelaar](https://discourse.pi-hole.net/u/deHakkelaar)
#### Post date: [October 3, 2026, 11:18pm UTC](https://discourse.pi-hole.net/t/dns-server-failure/87830/13 "2026-10-03T23:18:33Z")

</div>

> [@jmm5160](#):
>
> I would have expected to see something like
> 
> dns=dnsmasq
> 
> If the network manager was using it, but I'm not seeing it.

Grep for it:

`sudo rgrep dns= /etc/NetworkManager/`

EDIT: Check out the **man** page for more details:

```auto
$ man NetworkManager.conf
[..]
MAIN SECTION
[..]
       dns
           Set the DNS processing mode.

           If the key is unspecified, default is used, unless
           /etc/resolv.conf is a symlink to
           /run/systemd/resolve/stub-resolv.conf,
           /run/systemd/resolve/resolv.conf, /lib/systemd/resolv.conf or
           /usr/lib/systemd/resolv.conf. In that case, systemd-resolved is
           chosen automatically.

           default: NetworkManager will update /etc/resolv.conf to reflect
           the nameservers provided by currently active connections. The
           rc-manager setting (below) controls how this is done.

           dnsmasq: NetworkManager will run dnsmasq as a local caching
           nameserver, using "Conditional Forwarding" if you are connected
           to a VPN, and then update resolv.conf to point to the local
           nameserver. It is possible to pass custom options to the
           dnsmasq instance by adding them to files in the
           "/etc/NetworkManager/dnsmasq.d/" directory. Note that when
           multiple upstream servers are available, dnsmasq will initially
           contact them in parallel and then use the fastest to respond,
           probing again other servers after some time. This behavior can
           be modified passing the 'all-servers' or 'strict-order' options
           to dnsmasq (see the manual page for more details).

           systemd-resolved: NetworkManager will push the DNS
           configuration to systemd-resolved

           none: NetworkManager will not modify resolv.conf. This implies
           rc-manager unmanaged

           Note that the plugins dnsmasq and systemd-resolved are caching
           local nameservers. Hence, when NetworkManager writes
           /run/NetworkManager/resolv.conf and /etc/resolv.conf (according
           to rc-manager setting below), the name server there will be
           localhost only. NetworkManager also writes a file
           /run/NetworkManager/no-stub-resolv.conf that contains the
           original name servers pushed to the DNS plugin.

           When using dnsmasq and systemd-resolved per-connection added
           dns servers will always be queried using the device the
           connection has been activated on.
[..]
SEE ALSO
       NetworkManager(8), nmcli(1), nmcli-examples(7), nm-online(1), nm-
       settings(5), nm-applet(1), nm-connection-editor(1)

```

EDIT: Oh you dont have to drop **sudo** in front of everything!  
Only when you suspect a command has global implications for all users and processes ... most of the time 😉

```auto
$ man sudo
[..]
DESCRIPTION
     sudo allows a permitted user to execute a command as the superuser or
     another user, as specified by the security policy.

```
