FTL Version / something blocking Port 53 - again

After working for almost 6 months my pihole wont function anymore: 'DNS Service not running' - it seems that something with the FTL branch is wrong but i cant figure out what.

I am using an AVM FritzBox as router / modem and put Piholes IP adress as DNS Server.. my Tricoder https://tricorder.pi-hole.net/DHBrQg02/

There were no changes before the recent error. I tried updating and currently using 5.17.1 / AdminLTE v5.20.1 / Current FTL version is newbuildcontainers vDev-9e8b781

Thanks for looking at my problem.

Something blocking port 53

Your debug log shows connmand is using port 53.

[✗] udp:127.0.0.1:53 is in use by connmand (https://docs.pi-hole.net/main/prerequisites/#ports)
...
[✗] udp:[::1]:53 is in use by connmand (https://docs.pi-hole.net/main/prerequisites/#ports)
...
[✗] tcp:127.0.0.1%lo:53 is in use by connmand (https://docs.pi-hole.net/main/prerequisites/#ports)
...
[✗] tcp:[::1]%lo:53 is in use by connmand

Maybe a recent Operating System update installed this software.
You need to disable it.


Your FTL is running an old branch called newbuildcontainers (from July 2022, I think).
The other components are using current versions, but the older FTL version is probably incompatible with them.

You can run pihole checkout ftl master on your Pi-hole machine to install the most recent FTL.

You dont have to disable connmand entirely.
Little background:

$ apt show connman
[..]
Description: Intel Connection Manager daemon
 The Linux Connection Manager project provides a daemon for managing
 Internet connections within embedded devices running the Linux
 operating system. The Connection Manager is designed to be slim and to
 use as few resources as possible. It is fully modular system that
 can be extended through plug-ins. The plug-in approach allows for
 easy adaption and modification for various use cases.
 .
 ConnMan provies IPv4 and IPv6 connectivity via:
  * ethernet
  * WiFi, using wpasupplicant
  * Cellular, using oFono
  * Bluetooth, using bluez
 .
 ConnMan implements DNS resolving and caching, DHCP clients for both IPv4 and
 IPv6, link-local IPv4 address handling and tethering (IP connection sharing)
 to clients via USB, ethernet, WiFi, cellular and Bluetooth.
 .
 This package contains the connman daemon and its plugins.

You only have to disable the DNS stub resolver/proxy component.
From the man page:

-r, --nodnsproxy
Do not act as a DNS proxy or support external DNS resolving. Depending on how ConnMan is compiled, it will by default direct all DNS traffic to itself by setting nameserver to 127.0.0.1 in resolv.conf(5) file or leave DNS management to an external entity, such as systemd-resolved. If this is not desired and you want that all programs call directly some DNS server, then you can use the --nodnsproxy option. If this option is used, then ConnMan is not able to cache the DNS queries because the DNS traffic is not going through ConnMan and that can cause some extra network traffic.

You can do so by running below which will start an editor for the connman systemd unit:

sudo systemctl edit --full connman.service

Find the line that starts with ExecStart= and append --nodnsproxy at the end so it looks similar as below:

ExecStart=/usr/sbin/connmand -n --nodnsproxy

Save/exit and run below to apply:

sudo systemctl restart connman.service

Restart pihole-FTL:

sudo systemctl restart pihole-FTL.service

And check who is listening now on port 53:

sudo ss -nltup sport = 53

2 Likes

I tried sudo systemctl edit connman.service:

Editing "/etc/systemd/system/connman.service.d/override.conf" canceled: temporary file is empty.

At least i passed the FTL-Update without errors
For testing i ran "sudo systemctl disable connman.service":

Synchronizing state of connman.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install disable connman
Removed /etc/systemd/system/multi-user.target.wants/connman.service.

But since rebooting i dont have any SSH to get into - so i decided to make a clean install instead of continuing trying to bugfix my steps. :slight_smile:

Thanks for your contributions.

1 Like

If outdated SystemV init startup scripts are involved, it sounds like you were running a very old version of connman.

I would recommend to install a recent version of your preferred distro so disabling the DNS stub resolver can be done like I described above without too much hastle.
Currently supported distro's and versions:

pi@ph5b:~ $ dig +short versions.pi-hole.net txt
"Raspbian=10,11 Ubuntu=20,22,23 Debian=10,11,12 Fedora=36,37,38 CentOS=8,9"

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