Veröffentlicht: September 2, 2026

Wer kennt das Problem: Die Internetverbindung ist schnell, aber Webseiten laden trotzdem zäh. Oft steckt nicht die Leitung dahinter, sondern ein träger DNS-Resolver. Jede einzige Domain-Anfrage — ob beim Öffnen einer Website, beim Start einer App oder beim Abruf einer API — läuft zuerst durch einen DNS-Server. Bei hunderten Anfragen pro Stunde summiert sich eine Latenz von 60 ms pro Lookup auf mehrere Sekunden täglicher Wartezeit.

NatBench löst dieses Problem: Es misst alle deine erreichbaren DNS-Resolver nach Geschwindigkeit, Zuverlässigkeit, Konsistenz und Sicherheit — und kann den System-DNS direkt auf den besten Server umstellen. Mit v1.1.0 kommen 170+ eingebaute Server aus 14 Ländern, vollständige IPv6-Unterstützung, eine rundum überarbeitete GUI und eine History-Funktion mit Trend-Pfeilen dazu.

Was ist DNS und warum ist die Server-Wahl wichtig?


DNS (Domain Name System) übersetzt lesbare Domain-Namen wie „github.com“ in IP-Adressen, die Computer tatsächlich verwenden. Dein Router oder ISP weist dir automatisch einen DNS-Server zu — meistens den des Providers. Diese sind oft langsam (50–150 ms), protokollieren alle deine Anfragen und blockieren manchmal willkürlich Domains. Öffentliche Resolver wie Cloudflare (1.1.1.1, ~11 ms) oder Quad9 (9.9.9.9, ~15 ms) sind in der Regel schneller und datenschutzfreundlicher. NatBench misst objektiv, welcher Server für deinen Standort optimal ist.

Was ist neu in v1.1.0?

Version 1.1.0 ist das bisher größte Update — 170+ eingebaute Server, vollständige IPv6-Unterstützung, überarbeitete GUI und viele Bugs gefixt:

  • 🌐 170+ Server — 64 neue ISP-DNS-Einträge aus DE/AT/CH/NL/FR/GB/US/CA/AU/JP/CN/RU/BR/IN
  • 🔵 IPv6 vollständig — AF-Selector in GUI & CLI, IPv6-Test-Bug gefixt (zeigte vorher IPv4-Adresse)
  • 📊 History-Vergleich — ↑/↓ Pfeile im Score zeigen, ob ein Server schneller oder langsamer wurde
  • 🌍 Region Auto-Select — wählt automatisch Server aus deinem Land per Locale
  • ☑️ Gruppen-Checkboxen — Klick auf Kategorie-Header wählt alle Server der Gruppe
  • 💾 Einstellungen gespeichert — Fenstergröße, Theme, Sprache, Schriftgröße, Spaltenbreiten bleiben nach Neustart
  • 🔍 Traceroute mit Hostnamen — PTR-Lookup aktiviert (keine -n Flag mehr)
  • 🎨 Zeilentrennlinien — alternierende Zeilenhintergründe für bessere Lesbarkeit
  • 🐛 CLI zeigte v1.0.0 — Version jetzt aus __version__.py
  • 🐛 Server-Auswahl gefixt — Server in mehreren Gruppen hatten falsch geteilte Checkbox-States

NatBench vs. die Konkurrenz

Es gibt andere Tools — namebench (Google, seit 2012 tot), DNS Hop, GRC DNS Benchmark. Warum NatBench?

FeatureNatBenchnamebenchDNS HopGRC DNS Bench
UDP-Benchmark
TCP-Benchmark
DNS-over-TLS (DoT)
DNS-over-HTTPS (DoH)
IPv6-Unterstützungteilweise
DNSSEC-Validierung
Malware/Ad-Blocking-Test
GUI
CLI
System-DNS setzen
Export (JSON/CSV/HTML/MD)nur HTML
Plugin-System
27 Sprachen
Keine Drittanbieter-Deps
Linux/Mac/Winteilweisenur Win
Aktiv gepflegt❌ (tot)⚠️⚠️
Eingebaute Server170+~30~20~80

Installation

Download — Fertige Binärdateien (v1.1.0)

Kein Python nötig — einfach herunterladen, ausführbar machen und starten:

PlattformCLIGUI
Linux x86_64 natbench-linux-x86_64 natbench-gui-linux-x86_64
Windows x86_64 natbench-windows-x86_64.exe natbench-gui-windows-x86_64.exe
macOS ARM64 natbench-macos-arm64 natbench-gui-macos-arm64
Source GitHub · Codeberg
# Linux — CLI installieren
chmod +x natbench-linux-x86_64
./natbench-linux-x86_64 --top 5

Aus dem Quellcode

git clone https://github.com/natural78/natbench.git
cd natbench
pip install -e ".[rich]"
natbench --top 5

Was sind DoT und DoH?


DNS-over-TLS (DoT, Port 853) und DNS-over-HTTPS (DoH, Port 443) sind verschlüsselte DNS-Protokolle. Standard-DNS läuft unverschlüsselt über Port 53 — jeder im Netzwerk (ISP, WLAN-Betreiber) kann mitlesen, welche Domains du aufrufst. DoT und DoH verschlüsseln diese Anfragen, sodass nur du und der Resolver sie sehen. Viele Firewalls und ISPs blockieren DoT (Port 853), weshalb DoH oft besser funktioniert, da es wie normaler HTTPS-Traffic aussieht.

NatBench CLI — Terminal-Ausgabe mit Top-10-Ranking nach Score, Latenz und Zuverlässigkeit

CLI-Grundbefehle

# Alle Server benchmarken, Top 5 anzeigen
natbench --top 5

# Nur DoT und DoH testen (verschlüsselt)
natbench --protocol dot --top 5
natbench --protocol doh --top 5

# IPv6-fähige Server testen
natbench --af ipv6 --top 5

# Mehr Abfragen für genauere Ergebnisse
natbench --top 10 --count 20 --workers 15

# Bestimmte Server testen
natbench --servers 1.1.1.1 9.9.9.9 8.8.8.8 dns.wonx.eu

# System-DNS auf besten Server setzen
sudo natbench --top 1 --set-dns

# Ergebnis exportieren
natbench --output json --file dns_results.json
natbench --output markdown --file dns_results.md

GUI — Grafische Oberfläche

NatBench GUI — Server-Panel links, Ergebnis-Tabelle rechts mit Rang, Server, Latenz und Score

Die GUI startet mit natbench-gui oder dem GUI-Binary. Links das Server-Panel mit einklappbaren Kategorien, rechts die Ergebnis-Tabelle. Alle Einstellungen werden beim Schließen automatisch gespeichert.

Server-Panel

  • Alle / Keine — alle Server de-/aktivieren
  • ⭐ Best — schnelle Anycast-Server vorauswählen
  • 🔒 Secure — nur Malware-blockierende Resolver
  • ⚡ Fast — Server mit „fast“-Tag
  • 🌍 Region — automatisch Server aus deinem Land (via Locale)
  • Gruppen-Checkbox — Klick auf den Kategorienamen wählt alle Server der Gruppe

Themes und Sprachen

Über Einstellungen → Theme stehen vier Themes zur Auswahl: Dark (Standard), Light, Colorblind (Okabe-Ito-Palette) und High Contrast. 27 Sprachen sind eingebaut — wechselbar ohne Neustart. Alle Einstellungen (Fenster, Theme, Sprache, Schrift, Spaltenbreiten) werden in ~/.config/natbench/settings.json gespeichert.

Traceroute-Tab

Der Traceroute-Tab zeigt den Netzwerkpfad zu einem Server — mit vollständiger Hostnamen-Auflösung (PTR-Lookup). Rechtsklick auf ein Ergebnis → Traceroute startet ihn direkt für diesen Server. Unterstützt IPv4 und IPv6.

Scoring — wie der Score berechnet wird

NatBench bewertet jeden Server nach vier gewichteten Kriterien zu einem Score von 0–100:

KriteriumGewichtungMessung
Geschwindigkeit50 %Median-Latenz. 0 ms = 100 Punkte, 500 ms = 10 Punkte (logarithmisch)
Zuverlässigkeit30 %Erfolgsrate über N Anfragen. 100 % = 100 Punkte
Konsistenz10 %Jitter (Standardabweichung). Niedriger Jitter = stabiles Erlebnis
Sicherheit10 %DNSSEC-Validierung + Malware-Blocking + Ad-Blocking (je +3,3 Pkt.)

Was ist DNSSEC?


DNSSEC (DNS Security Extensions) ist ein Sicherheitsprotokoll, das sicherstellt, dass DNS-Antworten authentisch sind und nicht manipuliert wurden. Ohne DNSSEC kann ein Angreifer (z.B. im gleichen WLAN) eine gefälschte DNS-Antwort zurückschicken und dich auf eine Phishing-Seite umleiten — obwohl du die richtige Domain eingegeben hast. DNSSEC signiert alle DNS-Einträge kryptografisch. NatBench prüft, ob ein Resolver DNSSEC tatsächlich validiert, indem er absichtlich fehlerhafte DNSSEC-Daten abruft.

170+ eingebaute Server

v1.1.0 enthält 170+ vorkonfigurierte DNS-Server in mehreren Kategorien:

KategorieBeispieleAnzahl
RecommendedCloudflare, Google, Quad9, AdGuard, NextDNS, OpenDNS~20
SecurityCloudflare Malware/Family, Quad9 Malware, CleanBrowsing~15
PrivacyMullvad, dns0.eu, AhaDNS~10
Regionaldns.wonx.eu (DE), Freifunk, ipv64.net, deSEC~15
CommunityOpenNIC, FDN, OpenBLD~10
ISP DNSTelekom, O2, Vodafone (DE), A1 (AT), BT (GB), Comcast (US), NTT (JP)…64

Die ISP-Server dienen als Referenz: Wie schnell ist der DNS-Server deines eigenen Providers? Oft ist er überraschend langsam — oder hat eine hohe Ausfallrate. Eigene Server hinzufügen: natbench --add-server 192.168.1.1

IPv6 — vollständig unterstützt

Mit dem --af Flag (Address Family) oder dem AF-Selector in der GUI wählst du, ob IPv4- oder IPv6-Adressen der Server verwendet werden. In v1.1.0 wurde ein kritischer Bug behoben: Beim IPv6-Test wurde bisher die IPv4-Adresse verwendet, weil core.py den gesetzten IP-Schlüssel ignorierte. Jetzt funktioniert das korrekt.

# IPv6-fähige DNS-Server testen
natbench --af ipv6 --top 5

# Beispiel: Cloudflare via IPv6
natbench --servers 2606:4700:4700::1111 --protocol dot --af ipv6

Plugin-System

NatBench kann mit Python-Plugins erweitert werden. Plugins liegen in ~/.config/natbench/plugins/ und können sein:

  • ServerProvider — eigene Server-Listen laden (z.B. aus einer Datei, einem API)
  • Exporter — Ergebnisse in eigenes Format exportieren (Prometheus, InfluxDB, …)
  • Scorer — eigene Gewichtung der Score-Kriterien
  • Locale — neue Sprachen hinzufügen
# Beispiel: eigener Exporter
from natbench.plugin import Exporter

class InfluxExporter(Exporter):
    NAME = "influx"
    def export(self, results, path):
        with open(path, "w") as f:
            for r in results:
                f.write(f"dns_score,server={r.name} score={r.score}\n")

System-DNS setzen

NatBench kann den System-DNS nach dem Benchmark direkt umstellen:

# Besten Server automatisch setzen
sudo natbench --top 1 --set-dns

# Bestimmte IP manuell setzen
sudo natbench --set-dns 1.1.1.1

# Aktuellen System-DNS anzeigen
natbench --show-dns

Wie setzt man den DNS-Server manuell unter Linux?


Linux nutzt /etc/resolv.conf für die DNS-Konfiguration. Ein Eintrag wie „nameserver 1.1.1.1“ legt den primären DNS fest. Auf modernen Systemen mit systemd-resolved wird stattdessen /etc/systemd/resolved.conf verwendet. NetworkManager hat eigene DNS-Settings. NatBench erkennt automatisch, welches System vorliegt, und schreibt in die richtige Datei. Unter Windows wird netsh genutzt, unter macOS networksetup.

Profile — Einstellungen speichern

Häufig genutzte Konfigurationen lassen sich als Profile speichern:

# Profil speichern
natbench --protocol doh --af ipv6 --count 15 --save-profile doh-ipv6

# Profil laden
natbench --profile doh-ipv6 --top 5

# Alle Profile anzeigen
natbench --list-profiles

Links

NatBench ist MIT-lizenziert und lebt von Pull Requests. Wenn du einen DNS-Server vermisst, einen Bug findest oder eine neue Sprache hinzufügen möchtest — Issues und PRs sind willkommen.