Inhalt:
Nach dem Wechsel von elementaryOS zu Ubuntu wurde die Namensauflösung krass langsam. Irgendein Update musste das verursacht haben, denn anfangs lief alles wunderbar. Dann fingen die Probleme an: Webseiten luden zum Teil gar nicht mehr, zum Teil erst nach fünf Sekunden. War die Verbindung erst einmal hergestellt, hatte ich auch volle Geschwindigkeit. Lag es an OpenSnitch? An DNS over TLS? An der Fritte? Am Cudy-Router mit OpenWRT, den ich als Switch missbrauchte? Am Switch im Keller? Gab es irgendeinen anderen DHCP-Server im LAN? War das Smarthome-LAN irgendwie physikalisch mit dem privaten LAN verbunden? War irgendein Kabel als Loop in einem der Switche?
Ursachenforschung
War die Ursache die Installation von Virtual Box? Oder der Androidx86-Emulator? Möglich, denn der installierte eine virtuelle Netzwerkkarte.
Ich probierte also alle möglichen und unmöglichen Ideen aus, denn ich ignorierte mal wieder mein Bauchgefühl. Das sagte mir von Anfang an, dass der Treiber Scheiße baut.
Gegentest mit einem WLAN-Stick über den Cudy: die Namensauflösung ist pfeilschnell. Webseiten zeigen quasi keine Anzeigeverzögerung. Alles sofort da.
Meine Netzwerkkarte ist auf dem Mainboard. Eine der üblichen Realtek RTL8111/8168/8411-Lösungen.
Die (Er)Lösung?
Die Lösung brachte die manuelle Installation des Kernel-Moduls. DKMS ist Quasi die KEXT unter Ubuntu, wenn man es aus Sicht von macOS sehen mag. Ein Framework, das Kernel-Exten… äh… Module auch über eine Kernel-Aktualisierung bereithält.
sudo apt install r8168-dkms
sudo reboot
Hilft das immer noch nicht?
Es kann nicht schaden einen Blick auf die recolved.conf zu werfen und den Eintrag für den Nameserver zu prüfen.
Hier könnte man den Router im eigenen Netzwerk, seinen PiHole oder auch öffentliche Namensserver wie 1.1.1.1 oder 1.0.0.1 (Cloudflare, extrem schnell, gute Datenschutzerklärung), 8.8.8.8 (Google, angebl. unzensiert, aber die tracken natürlich die User) oder unzensierte DNS-Server wie 185.95.218.42 (Digitale Gesellschaft Schweiz) oder 5.9.164.112 (digitalcourage.de) verwenden.
Für IPv6 kann man 2a05:fc84::42 (Digitale Gesellschaft Schweiz) oder 2606:4700:4700::1111(Cloudflare) verwenden.
Bei der Gelegenheit aktivieren wir noch DNSoverTLS und deaktivieren das DNS-Caching.
sudo nano /etc/systemd/resolved.conf
Der Inhalt könnte zum Beispiel so aussehen:
[Resolve]
DNS=5.9.164.112
FallbackDNS=1.0.0.1
#Domains=
#LLMNR=no
#MulticastDNS=no
#DNSSEC=yes
DNSOverTLS=yes
Cache=no-negative
DNSStubListener=false
#ReadEtcHosts=yes
Dann noch den Dienst neu starten:
sudo service systemd-networkd restart
DNS rennt immer noch nicht?
Vielleicht stimmt was am resolvconf-Paket nicht, dass die Kommunikation mit dem lokalen DNS (127.0.0.53) bereitstellt?
Nun, dann installieren wir den eben (neu):
sudo apt install resolvconf
Und konfigurieren ihn mittels:
sudo dpkg-reconfigure resolvconf
Reboot tut gut:
sudo rebbot