15%

15% auf alle Hosting-Dienste sparen

Teste deine Fähigkeiten und erhalte Rabatt auf jeden Hosting-Plan

Benutze den Code:

Skills
Anfangen
30.10.2024
1 +1

Die macOS Hosts-Datei: Der vollständige Leitfaden zur lokalen DNS-Kontrolle

Egal, ob Sie ein Entwickler sind, der eine neue Website vor dem Launch testet, eine Server-Migration durchführt oder einfach ablenkende Websites blockiert – die macOS-Hosts-Datei ist eines der leistungsstärksten und am meisten unterschätzten Werkzeuge in Ihrem Arsenal. Dieser umfassende Leitfaden führt Sie durch alles, was Sie wissen müssen: Was die Hosts-Datei ist, wo Sie sie finden, wie Sie sie sicher bearbeiten und wie Sie sie für reale Workflows wie Staging-Server-Tests und lokale Entwicklungsumgebungen nutzen können.

Was ist die Hosts-Datei?

Die Hosts-Datei ist eine reine Textdatei, die menschenlesbare Hostnamen (wie example.com) bestimmten IP-Adressen zuordnet. Bevor Ihr Mac eine DNS-Anfrage an einen externen Resolver sendet, prüft er zunächst die lokale Hosts-Datei. Wenn ein passender Eintrag vorhanden ist, wird diese IP-Adresse verwendet – ohne Beteiligung eines DNS-Servers.

Dies macht die Hosts-Datei zu einer Art lokaler DNS-Override-Schicht, die Ihnen granulare Kontrolle darüber gibt, wie Ihr Rechner Domainnamen auflöst. Sie arbeitet still im Hintergrund und ist, wenn sie korrekt verwendet wird, ein unglaublich effizientes Werkzeug für Entwickler und Systemadministratoren gleichermaßen.

Wichtigste Anwendungsfälle im Überblick

AnwendungsfallWas es bewirkt
Website-BlockierungOrdnet eine Domain 0.0.0.0 zu, um den Zugriff zu verhindern
Lokale EntwicklungOrdnet eine benutzerdefinierte Domain 127.0.0.1 für Localhost-Tests zu
DNS-Tests / MigrationLeitet eine Live-Domain auf eine neue Server-IP, bevor DNS propagiert
Staging-UmgebungenZeigt eine Website auf einem neuen Host in der Vorschau, ohne das öffentliche DNS zu ändern
SicherheitshärtungBlockiert bekannte schädliche oder werbeschaltende Domains

Wo befindet sich die Hosts-Datei auf macOS?

Auf macOS befindet sich die Hosts-Datei im Verzeichnis /etc/. Der vollständige Pfad lautet:

/etc/hosts

Dies ist eine geschützte Systemdatei, was bedeutet, dass Sie Administrator-Rechte (root) benötigen, um sie zu ändern. Sie können nicht einfach darauf doppelklicken und mit der Bearbeitung beginnen – Sie müssen das Terminal mit erhöhten Berechtigungen über sudo verwenden.

> Hinweis: Das Verzeichnis /etc/ auf macOS ist eigentlich ein symbolischer Link zu /private/etc/, daher zeigen /etc/hosts und /private/etc/hosts auf dieselbe Datei.

So bearbeiten Sie die Hosts-Datei auf macOS: Schritt für Schritt

Schritt 1 — Terminal öffnen

Starten Sie die Terminal-Anwendung. Dies können Sie auf zwei Arten tun:

  • Spotlight-Suche: Drücken Sie Command + Space, geben Sie Terminal ein und drücken Sie Enter
  • Finder: Navigieren Sie zu Applications > Utilities > Terminal

Schritt 2 — Hosts-Datei mit erhöhten Berechtigungen öffnen

Verwenden Sie den Texteditor nano mit sudo, um die Hosts-Datei zu öffnen:

sudo nano /etc/hosts

Sie werden aufgefordert, Ihr macOS-Administratorpasswort einzugeben. Geben Sie es ein und drücken Sie Enter. Beachten Sie, dass das Passwortfeld während der Eingabe leer bleibt – dies ist ein normales Verhalten von sudo im Terminal.

Schritt 3 — Die Standardeinträge verstehen

Sobald die Datei in nano geöffnet ist, sehen Sie die Standardeinträge, mit denen macOS ausgeliefert wird:

##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1       localhost
255.255.255.255 broadcasthost
::1             localhost

Löschen oder ändern Sie diese Standardeinträge nicht. Sie sind erforderlich, damit Ihr System korrekt funktioniert. Alle benutzerdefinierten Einträge sollten unterhalb dieser Zeilen hinzugefügt werden.

Schritt 4 — Ihre benutzerdefinierten Einträge hinzufügen

Die Syntax für einen Hosts-Datei-Eintrag ist unkompliziert:

<IP address>    <hostname>    [optional alias]

Jeder Eintrag muss in einer eigenen Zeile stehen. Hier sind praktische Beispiele:

Eine Website blockieren:

0.0.0.0    facebook.com
0.0.0.0    www.facebook.com

Eine lokale Entwicklungsdomain zuordnen:

127.0.0.1    myproject.local
127.0.0.1    myproject.dev

Eine Domain für Migrationstests auf einen bestimmten Server verweisen:

192.168.1.100    mywebsite.com
192.168.1.100    www.mywebsite.com

Sie können auch Inline-Kommentare mit dem Zeichen # hinzufügen, um Ihre Hosts-Datei übersichtlich zu halten:

# --- Local Development Projects ---
127.0.0.1    project-alpha.local
127.0.0.1    project-beta.local

# --- Migration Testing: New Server IP 203.0.113.50 ---
203.0.113.50    clientsite.com
203.0.113.50    www.clientsite.com

Schritt 5 — Die Datei speichern

Nachdem Sie Ihre Änderungen in nano vorgenommen haben:

  1. Drücken Sie Control + O, um die Datei zu schreiben (speichern)
  2. Drücken Sie Enter, um den Dateinamen zu bestätigen
  3. Drücken Sie Control + X, um nano zu beenden

Schritt 6 — Den DNS-Cache leeren

Das Bearbeiten der Hosts-Datei allein reicht nicht aus – macOS speichert DNS-Lookups im Cache, daher müssen Sie den DNS-Cache leeren, um Ihr System zu zwingen, die neuen Einträge sofort zu erkennen.

Führen Sie den folgenden Befehl im Terminal aus:

sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder

Dieser Befehl bewirkt zwei Dinge:

  • dscacheutil -flushcache — löscht den lokalen DNS-Cache
  • killall -HUP mDNSResponder — startet den mDNSResponder-Prozess neu, der die DNS-Auflösung auf macOS übernimmt

Öffnen Sie danach Ihren Browser und testen Sie die Domain. Änderungen sollten sofort wirksam sein.

> Hinweis zur macOS-Version: Der obige Flush-Befehl funktioniert auf macOS Monterey, Ventura, Sonoma und Sequoia. Bei älteren Versionen (vor Yosemite) kann der Befehl leicht abweichen.

Reale Anwendungsfälle im Detail

Anwendungsfall 1: Websites blockieren

Die Hosts-Datei ist eine der einfachsten und effektivsten Methoden, um ablenkende oder schädliche Websites auf Systemebene zu blockieren – ohne Software von Drittanbietern.

Indem Sie eine Domain 0.0.0.0 zuordnen (eine nicht routbare Adresse), verhindern Sie, dass Ihr Browser die Website jemals erreicht:

0.0.0.0    reddit.com
0.0.0.0    www.reddit.com
0.0.0.0    twitter.com
0.0.0.0    www.twitter.com

Im Gegensatz zu Browser-Erweiterungen gilt diese Blockierung systemweit – sie betrifft jeden Browser und jede Anwendung auf Ihrem Mac.

Anwendungsfall 2: Lokale Entwicklungsumgebungen

Wenn Sie Websites oder Webanwendungen lokal entwickeln, ermöglicht Ihnen die Hosts-Datei, Ihrer Localhost-Umgebung benutzerdefinierte Domainnamen zuzuweisen, anstatt das generische http://localhost oder http://127.0.0.1 zu verwenden.

127.0.0.1    myshop.local
127.0.0.1    clientproject.local
127.0.0.1    wordpress-staging.local

Dies ist besonders nützlich bei der Arbeit mit WordPress-, Joomla– oder Laravel-Projekten, die absolute URLs oder Cookie-Domains verwenden, die an einen bestimmten Hostnamen gebunden sind. Kombinieren Sie dies mit einem lokalen Webserver-Stack (wie MAMP, Laravel Valet oder einem Docker-Container) und Sie haben einen professionellen lokalen Entwicklungs-Workflow.

Wenn Sie Ihre Entwicklungsumgebung auf einer Remote-VPS Hosting-Instanz statt lokal betreiben, gilt dasselbe Prinzip – Sie können eine Domain direkt auf Ihre VPS-IP verweisen, um sie zu testen, bevor Sie die öffentlichen DNS-Einträge aktualisieren.

Anwendungsfall 3: Server-Migrationen ohne DNS-Propagation testen

Dies ist wohl der wertvollste Anwendungsfall für Entwickler und Systemadministratoren. Wenn Sie eine Website auf einen neuen Server migrieren – egal ob Sie den Hosting-Anbieter wechseln oder Ihre Infrastruktur upgraden – kann die DNS-Propagation zwischen wenigen Minuten und 48 Stunden dauern.

Die Hosts-Datei ermöglicht es Ihnen, die Website sofort auf dem neuen Server in der Vorschau anzuzeigen, von Ihrem eigenen Rechner aus, ohne andere zu beeinflussen.

Beispielszenario: Sie migrieren mywebsite.com auf einen neuen Dedicated Server mit der IP-Adresse 203.0.113.50. Fügen Sie diesen Eintrag hinzu:

203.0.113.50    mywebsite.com
203.0.113.50    www.mywebsite.com

Wenn Sie nun mywebsite.com in Ihrem Browser eingeben, lädt Ihr Mac die Website vom neuen Server – auch wenn das öffentliche DNS noch auf den alten verweist. Dies ermöglicht Ihnen:

  • Zu überprüfen, ob alle Seiten korrekt laden
  • Zu prüfen, ob SSL-Zertifikate ordnungsgemäß installiert sind
  • Kontaktformulare, Checkout-Prozesse und dynamische Funktionen zu testen
  • Datenbankverbindungen und Mediendateien zu bestätigen

Sobald Sie sicher sind, dass alles funktioniert, aktualisieren Sie die öffentlichen DNS-Einträge. Der Übergang wird für Ihre Besucher nahtlos sein.

Anwendungsfall 4: DNS für die Fehlerbehebung umgehen

Manchmal können DNS-Probleme eine Website unzugänglich machen, obwohl der Server selbst einwandfrei läuft. Die Hosts-Datei ermöglicht es Ihnen, DNS vollständig zu umgehen und sich direkt mit einer bekannten IP-Adresse zu verbinden, um das Problem zu diagnostizieren.

Dies ist besonders nützlich, wenn:

  • Die DNS-Einträge Ihrer Domain falsch konfiguriert sind
  • Sie eine neue SSL-Zertifikate-Installation testen, bevor DNS propagiert hat
  • Sie überprüfen müssen, ob ein Server korrekt antwortet, während DNS-Probleme behoben werden

Anwendungsfall 5: E-Mail-Hosting-Konfigurationen testen

Wenn Sie E-Mail-Hosting einrichten oder migrieren und überprüfen müssen, ob Ihr Mailserver unter einer bestimmten IP erreichbar ist, bevor DNS-Einträge aktualisiert werden, können Sie Ihre Mail-Domain vorübergehend in der Hosts-Datei zuordnen, um Konnektivität und Konfiguration zu testen.

Ihre Hosts-Datei-Änderungen überprüfen

Bevor Sie den DNS-Cache leeren, empfiehlt es sich, zu überprüfen, ob Ihr Eintrag korrekt gespeichert wurde. Sie können den aktuellen Inhalt der Hosts-Datei ohne Bearbeitung anzeigen mit:

cat /etc/hosts

Sie können auch den Befehl ping verwenden, um zu überprüfen, ob ein Hostname zur erwarteten IP aufgelöst wird:

ping mywebsite.com

Die Ausgabe sollte die IP-Adresse anzeigen, die Sie in der Hosts-Datei zugeordnet haben.

Die Standard-Hosts-Datei wiederherstellen

Wenn Ihre Hosts-Datei unübersichtlich wird oder etwas schiefläuft, können Sie sie auf ihren Standardzustand zurücksetzen. Öffnen Sie die Datei mit sudo nano /etc/hosts, entfernen Sie alle benutzerdefinierten Einträge und stellen Sie sicher, dass die Datei nur die ursprünglichen Standardwerte enthält:

##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1       localhost
255.255.255.255 broadcasthost
::1             localhost

Speichern Sie die Datei, beenden Sie nano und leeren Sie den DNS-Cache mit dem Befehl aus Schritt 6. Ihr System kehrt zur Verwendung der Standard-DNS-Auflösung für alle Domains zurück.

Sicherheitsüberlegungen

Obwohl die Hosts-Datei ein leistungsstarkes Werkzeug ist, beachten Sie diese bewährten Sicherheitspraktiken:

  • Zugriff einschränken: Nur Administratoren sollten Schreibzugriff auf /etc/hosts haben. Überprüfen Sie die Berechtigungen mit ls -la /etc/hosts – es sollte -rw-r--r-- angezeigt werden.
  • Testeinträge nach der Verwendung entfernen: Lassen Sie Migrations-Testeinträge nicht bestehen, nachdem Sie fertig sind. Sie können später zu Verwirrung und unerwartetem Verhalten führen.
  • Malware beachten: Manche Malware modifiziert die Hosts-Datei, um legitime Domains auf schädliche Server umzuleiten. Überprüfen Sie Ihre Hosts-Datei regelmäßig, um sicherzustellen, dass keine unbefugten Einträge vorhanden sind.
  • Versionskontrolle für Teams verwenden: Wenn mehrere Entwickler eine Entwicklungsumgebung teilen, erwägen Sie, Ihre Hosts-Datei-Einträge in einer gemeinsamen README oder einer versionskontrollierten Konfigurationsdatei zu dokumentieren.

Kurzreferenz: Wichtige Befehle

AufgabeBefehl
Hosts-Datei zur Bearbeitung öffnensudo nano /etc/hosts
Hosts-Datei anzeigen (nur lesen)cat /etc/hosts
DNS-Cache leeren (macOS Ventura/Sonoma)sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
Dateiberechtigungen prüfenls -la /etc/hosts
Hostname-Auflösung überprüfenping yourdomain.com
In nano speichernControl + O, dann Enter
nano beendenControl + X

Häufig gestellte Fragen

Muss ich meinen Mac nach dem Bearbeiten der Hosts-Datei neu starten?

Nein. Das Leeren des DNS-Caches mit dem Befehl dscacheutil ist ausreichend. Ein Neustart ist nicht erforderlich.

Wirken sich Änderungen an der Hosts-Datei auf andere Benutzer auf meinem Mac aus?

Ja. Die Hosts-Datei gilt systemweit, daher betreffen Änderungen alle Benutzerkonten auf demselben Rechner.

Funktioniert die Hosts-Datei mit HTTPS?

Ja, aber mit einem Vorbehalt. Die Hosts-Datei steuert nur die IP-Auflösung – sie behandelt keine SSL/TLS-Zertifikate. Wenn Sie eine Domain über die Hosts-Datei auf einen neuen Server umleiten und das SSL-Zertifikat auf diesem Server nicht mit der Domain übereinstimmt, zeigt Ihr Browser eine Zertifikatswarnung an.

Kann ich Wildcards in der Hosts-Datei verwenden?

Nein. Die macOS-Hosts-Datei unterstützt keine Wildcard-Einträge. Jeder Hostname muss explizit in einer eigenen Zeile aufgeführt werden.

Wirkt sich das Bearbeiten der Hosts-Datei auf mein VPN aus?

Das hängt von Ihrer VPN-Konfiguration ab. Einige VPNs überschreiben lokale DNS-Einstellungen, was dazu führen kann, dass Hosts-Datei-Einträge ignoriert werden, während das VPN aktiv ist.

Fazit: Volle Kontrolle über Ihr lokales DNS

Die macOS-Hosts-Datei ist ein täuschend einfaches, aber bemerkenswert leistungsstarkes Werkzeug. Mit einer einzigen Textdatei und einigen Terminal-Befehlen können Sie ablenkende Websites blockieren, professionelle lokale Entwicklungsumgebungen aufbauen und Server-Migrationen mit vollständiger Sicherheit testen – alles ohne auf DNS-Propagation zu warten oder Ihre Live-Infrastruktur anzufassen.

Für Entwickler, die mit VPS Control Panels arbeiten oder Websites auf Shared Web Hosting verwalten, ist die Beherrschung der Hosts-Datei eine grundlegende Fähigkeit, die Ihnen stundenlange Fehlerbehebungszeit erspart. Wenn Sie das nächste Mal eine Website-Migration vorbereiten oder ein neues Entwicklungsprojekt starten, greifen Sie zuerst zu /etc/hosts – es ist der schnellste und zuverlässigste Weg, um zu steuern, wie Ihr Mac jede Domain im Internet auflöst.

15%

15% auf alle Hosting-Dienste sparen

Teste deine Fähigkeiten und erhalte Rabatt auf jeden Hosting-Plan

Benutze den Code:

Skills
Anfangen