this post was submitted on 15 Sep 2024
17 points (81.5% liked)

Selfhosted

39980 readers
447 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 1 year ago
MODERATORS
 

Solution: I just had to create the file

I wanted to install Pi-Hole on my server and noticed that port 53 is already in use by something.

Apparently it is in use by systemd-resolved:

~$ sudo lsof -i -P -n | grep LISTEN
[...]
systemd-r    799 systemd-resolve   18u  IPv4   7018      0t0  TCP 127.0.0.53:53 (LISTEN)
systemd-r    799 systemd-resolve   20u  IPv4   7020      0t0  TCP 127.0.0.54:53 (LISTEN)
[...]

And the solution should be to edit /etc/systemd/resolved.conf by changing #DNSStubListener=yes to DNSStubListener=no according to this post I found. But the /etc/systemd/resolved.conf doesn't exist on my server.

I've tried sudo dnf install /etc/systemd/resolved.conf which did nothing other than telling me that systemd-resolved is already installed of course. Rebooting also didn't work. I don't know what else I could try.

I'm running Fedora Server.

Is there another way to stop systemd-resolved from listening on port 53? If not how do I fix my missing .conf file?

all 13 comments
sorted by: hot top controversial new old
[–] [email protected] 14 points 1 month ago (1 children)

The service is using the default config, which you can override by creating this file.

View the package contents to find out where the default config is located.

[–] [email protected] 1 points 1 month ago

Yep, it might be enough to just add that file with the setting set to no and restart.

[–] [email protected] 9 points 1 month ago* (last edited 1 month ago) (1 children)

Here is a good primer on the configuration files and their possible locations: https://www.freedesktop.org/software/systemd/man/latest/resolved.conf.html

Edit: be careful because this is your domain name lookup you’re messing with. 😊

[–] [email protected] -2 points 1 month ago (1 children)

The domain name shouldn't matter

[–] [email protected] 2 points 1 month ago (1 children)

FWIW, I’m referring to the local DNS (domain name system) resolver; the mechanism that resolves local domain names into IP addresses so that computers can talk to each other over the LAN.

[–] [email protected] -2 points 1 month ago

I know

It still won't really matter. The domain name is arbitrary in this case

[–] [email protected] 3 points 1 month ago

Disable systemd-resolved.service? Uninstall systemd-resolved?

[–] [email protected] 3 points 1 month ago

When I installed it it suggested turning that service off onvthe host. If you search online there are many suggestions on shutting off that stuff so 53 is left for pihole

[–] [email protected] 3 points 1 month ago (1 children)

Um, dnf doesn't do anything with configuration files. It is used for packages.

I would start by trying to create that file. If that doesn't fix it after restarting the service look into the docs. You may need to configure network manager.

[–] [email protected] 1 points 1 month ago (1 children)

It tries to install the associated package when given a path to a configuration file.

[–] [email protected] 1 points 1 month ago

They probably moved it to somewhere under /usr or /var/lib.

[–] [email protected] 1 points 1 month ago

As a temporary fix, instead of service systemd-resolved restart as per the article, you can try this, service systemd-resolved stop

Once the service is stopped the port should be free. You'll have to do this on every reboot (though maybe you can try adding the command to /etc/rc.local to stop it on every reboot)