Ubuntu hat standardmäßig systemd-resolved Listening auf Port 53. Wenn Sie einen eigenen DNS-Server betreiben möchten, können Sie dies nicht, da Port 53 bereits verwendet wird, sodass Sie eine ähnliche Fehlermeldung wie diese erhalten:„Listen tcp 0.0.0.0:53:Bind:Adresse wird bereits verwendet „.
In diesem Artikel wird erläutert, wie Sie verhindern, dass systemd-resolved Port 53 unter Ubuntu verwendet. Die Anleitung wurde auf Ubuntu 20.04 getestet, sollte aber auch auf anderen Ubuntu-Versionen funktionieren, z.B. Ubuntu 18.04, das kommende Ubuntu 20.10 sowie Ubuntu-basierte Linux-Distributionen wie Pop! _OS, Zorin OS, Elementary OS, Linux Mint und bald. Grundsätzlich funktioniert dies auf jedem System mit systemd Version 232 oder neuer.
Um zu sehen, ob Port 53 auf Ihrem System verwendet wird, verwenden Sie:
sudo lsof -i :53
Ein Beispiel mit einer systemd-aufgelösten Ausgabe verwendet Port 53 auf einem Standard-Ubuntu 20.04-System:
$ sudo lsof -i :53
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
systemd-r 610 systemd-resolve 12u IPv4 19377 0t0 UDP localhost:domain
systemd-r 610 systemd-resolve 13u IPv4 19378 0t0 TCP localhost:domain (LISTEN)
Wenn Sie keine Ausgabe erhalten, bedeutet dies, dass Port 53 nicht verwendet wird.
Wie man systemd-resolved davon abhält, Port 53 auf Ubuntu zu verwenden
Es ist erwähnenswert, dass Sie Port 53 freigeben können, indem Sie ihn einfach auskommentieren DNSStubListener
und richten Sie es ein no
in /etc/systemd/resolved.conf
. Die anderen Schritte bestehen darin, einen DNS-Server zu aktivieren – ohne ihn kann Ihr System keine Domänennamen auflösen, sodass Sie Websites nicht im Webbrowser besuchen können usw.
1. Um /etc/systemd/resolved.conf
zu bearbeiten mit einem Texteditor öffnen (als root), z.B. mit dem Nano Console-Texteditor:
sudo nano /etc/systemd/resolved.conf
Und kommentieren Sie (entfernen Sie #
von vorne) die DNS=
Zeile und die DNSStubListener=
Management. Als nächstes ändern Sie den DNS=
Geben Sie in dieser Datei den DNS-Server an, den Sie verwenden möchten (z. B. 127.0.0.1, um einen lokalen Proxy zu verwenden, 1.1.1.1, um das Cloudflare-DNS zu verwenden usw.) und ändern Sie auch den DNSStubListener=
Wert von yes
bis no
.
So sollte die Datei aussehen, nachdem Sie diese Änderungen vorgenommen haben (ich verwende 1.1.1.1 als DNS-Server, das Cloudflare-DNS):
[Resolve]
DNS=1.1.1.1
#FallbackDNS=
#Domains=
#LLMNR=no
#MulticastDNS=no
#DNSSEC=no
#DNSOverTLS=no
#Cache=no
DNSStubListener=no
#ReadEtcHosts=yes
Um die Datei mit dem Nano-Texteditor zu speichern, drücken Sie Ctrl + x
, und geben Sie dann y
ein und drücken Sie Enter
.
2. Erstellen Sie einen symbolischen Link für /run/systemd/resolve/resolv.conf
mit /etc/resolv.conf
als Ziel:
sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf
Hier, -s
wird verwendet, um einen symbolischen und keinen harten Link zu erstellen, und -f
wird verwendet, um vorhandene Zieldateien zu entfernen (also /etc/resolv.conf
falls verfügbar).
3. Starten Sie Ihr System neu.
Port 53 sollte jetzt auf Ihrem Ubuntu-System frei sein und Sie sollten keine Fehlermeldungen wie „Listen tcp 127.0.0.1:53:Bind:Adresse bereits verwendet“ mehr erhalten.
Sie können überprüfen, ob Port 53 verwendet wird oder nicht, indem Sie sudo lsof -i :53
ausführen – Wenn Port 53 nicht verwendet wird, sollte dieser Befehl keine Ausgabe zeigen.
Das könnte Ihnen gefallen:
- So löschen Sie den DNS-Cache unter Linux (für systemd-resolved, BIND, Dnsmasq oder nscd)
- So ändern Sie die MAC-Adresse unter Linux dauerhaft
So machen Sie die Änderungen rückgängig
Möchten Sie die vorgenommenen Änderungen rückgängig machen, indem Sie den Anweisungen in diesem Artikel folgen? Das müssen Sie tun.
1. Beginnen Sie mit der Bearbeitung von /etc/systemd/resolved.conf
mit einem Texteditor öffnen (als root), z.B. mit dem Nano Console-Texteditor:
sudo nano /etc/systemd/resolved.conf
Und auskommentieren (fügen Sie #
hinzu vor der Zeile) DNS=
und DNSStubListener=no
Speichern Sie dann die Datei. Um die Datei mit dem Nano-Texteditor zu speichern, drücken Sie Ctrl + x
, und geben Sie dann y
ein und drücken Sie Enter
.
2 . Entfernen Sie diesen /etc/resolv.conf
Symbolischer Link:
sudo rm /etc/resolv.conf
3 . Starten Sie Ihr System neu.