100 lines
4.1 KiB
Markdown
100 lines
4.1 KiB
Markdown
<!--{"title": "In Ubuntu den Port 53 - DNS - selber nutzen", "date": "2024-04-15", "slug": "in-ubuntu-den-port-53-dns-selber-nutzen", "cover": "/static/img/in-ubuntu-den-port-53-dns-selber-nutzen.webp"}-->
|
|
**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 |