B1tsblog

← Zurück zur Übersicht

In Ubuntu den Port 53 - DNS - selber nutzen

Kennzeichnung gemäß Artikel 52 Absatz 1 EU AI Act: 💜 Kein Einsatz von KI

Ubuntu verwendet standardmäßig den DNS-Over-UDP-Port (53) selber. Dies kann sehr hinderlich sein, wenn man seinen eigenen DNS-Server betreiben, oder ihn an einen Container weitergeben möchte. Ich zeige euch, wie ihr den Port auf Ubuntu freigeben und selber nutzen könnt.

Vorwort

Ich empfehle zunächst nur erfahrenen Benutzern dazu eine solche Änderung vorzunehmen.

Analyse

Zunächst analysieren wir, von welchem Dienst der Port 53 genutzt wird. Das kann mit diesem Kommando ausgelesen werden:

sudo lsof -i :53

Die Ausgabe sieht in etwa so aus:

root@ubnt:/home/root# lsof -i :53
COMMAND   PID            USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
systemd-r 634 systemd-resolve   13u  IPv4  19902      0t0  UDP localhost:domain 
systemd-r 634 systemd-resolve   14u  IPv4  19903      0t0  TCP localhost:domain (LISTEN)
root@ubnt-core-a:/home/root#

Sollte hier keine Ausgabe erfolgen, so ist vermutlich der Port 53 nicht in Verwendung!

Wir können anhand der Ausgabe erkennen, dass der Port 53 vom Systemdienst systemd-resolved verwendet wird.

Anpassung der Konfiguration zum Freigeben

Nach dem wir wissen, das der Systemdienst den DNS-Port belegt, können wir die Konfiguration anpassen, um den Port für unsere Zwecke frei zu bekommen.

Dazu bearbeiten wir die Datei /etc/systemd/resolved.conf idealerweise mit der Software nano: sudo nano /etc/systemd/resolved.conf

Die Datei sieht wie folgt aus:

#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it under the
#  terms of the GNU Lesser General Public License as published by the Free
#  Software Foundation; either version 2.1 of the License, or (at your option)
#  any later version.
#
# Entries in this file show the compile time defaults. Local configuration
# should be created by either modifying this file, or by creating "drop-ins" in
# the resolved.conf.d/ subdirectory. The latter is generally recommended.
# Defaults can be restored by simply deleting this file and all drop-ins.
#
# Use 'systemd-analyze cat-config systemd/resolved.conf' to display the full config.
#
# See resolved.conf(5) for details.
[Resolve]
# Some examples of DNS servers which may be used for DNS= and FallbackDNS=:
# Cloudflare: 1.1.1.1#cloudflare-dns.com 1.0.0.1#cloudflare-dns.com 2606:4700:4700::1111#cloudflare-dns.com 2606:4700:4700::1001#cloudflare-dns.com
# Google:     8.8.8.8#dns.google 8.8.4.4#dns.google 2001:4860:4860::8888#dns.google 2001:4860:4860::8844#dns.google
# Quad9:      9.9.9.9#dns.quad9.net 149.112.112.112#dns.quad9.net 2620:fe::fe#dns.quad9.net 2620:fe::9#dns.quad9.net
#DNS=
#FallbackDNS=
#Domains=
#DNSSEC=no
#DNSOverTLS=no
#MulticastDNS=no
#LLMNR=no
#Cache=no-negative
#CacheFromLocalhost=no
#DNSStubListener=yes
#DNSStubListenerExtra=
#ReadEtcHosts=yes
#ResolveUnicastSingleLabel=no

Wir entfernen die Raute (#) vor der Zeile (DNS=) und geben einen Sinnvollen DNS-Server ein z.B. 1.1.1.1 oder 8.8.8.8 oder im Heimnetzwerk die Adresse ihres Routers.

Wir entfernen die Raute (#) vor der Zeile (DNSStubListener=) und geben als Wert no an.

Wir speichern die Datei so ab. Strg + x -> Y -> Enter.

Damit ist das Gröbste geschafft. Nun folgt noch ein weiterer Schritt, bevor Sie das System neu starten müssen.

Lassen Sie uns einen Symbol-Link erstellen, der von /run/systemd/resolve/resolv.conf auf /etc/resolv.conf verweist.

Führen Sie dazu dieses Kommando aus:

sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf

Die Parameter für diesen Befehl sind:

  • -s: Erstellt einen Symbol-Link und keinen Hard-Link
  • -f: Entfernt das Ziel, wenn es existiert (/etc/resolv.conf) Abschluss

Nun fehlt Ihnen nur noch ein Neustart des Systems. Danach ist der DNS-Port (53) frei zur Verwendung durch Drittsoftware.

Ich hoffe euch hat dieser Artikel weitergeholfen und ich freue mich euch im nächsten Artikel wieder zu lesen

← Zurück zur Übersicht