So bearbeiten Sie die Hosts-Datei unter Linux sicher: Ein Anfängerleitfaden
Haben Sie schon einmal eine Website lokal testen, lästige Werbung blockieren oder Verknüpfungen für Geräte in Ihrem Netzwerk erstellen wollen? Die Linux-Hosts-Datei ist ein leistungsstarkes Werkzeug, das Ihnen all dies und noch mehr ermöglicht! Sie befindet sich unter /etc/hosts und diese einfache Textdatei erlaubt es Ihnen, Hostnamen bestimmten IP-Adressen zuzuordnen, sodass Sie kontrollieren können, wie Ihr System Domainnamen auflöst. In diesem Leitfaden werden wir lernen, warum und wie man die Hosts-Datei in Linux sicher bearbeitet, zusammen mit praxisnahen Beispielen.
Was ist die Hosts-Datei?
Die /etc/hosts-Datei ist eine lokale Textdatei, die vom Betriebssystem verwendet wird, um Hostnamen IP-Adressen zuzuordnen, bevor ein DNS (Domain Name System)-Server abgefragt wird. Sie bietet eine Möglichkeit, die DNS-Auflösung für bestimmte Domainnamen zu überschreiben.
Warum die Hosts-Datei bearbeiten?
- Lokale Entwicklung: Entwickler verwenden es, um Domainnamen auf lokale Server zu zeigen (z. B.
127.0.0.1 example.com). - Websites sperren: Sie können unerwünschte Domains auf
0.0.0.0oder127.0.0.1(Loopback-Adresse) weiterleiten, um den Zugriff zu verhindern. - Netzwerk-Fehlerbehebung: Sie können DNS umgehen, um die Konnektivität zu einem bestimmten Server zu testen.
- Anpassung der Domain-Zuordnung: Sie können IP-Adressen in einem privaten Netzwerk freundliche Namen zuweisen.
- Beschleunigung des Zugriffs auf Websites: Die Hosts-Datei wird vor dem DNS-System des Internets überprüft. Wenn eine Website in Ihrer Hosts-Datei enthalten ist, muss Ihr Computer sie nicht online nachschlagen, wodurch sie schneller geladen wird.
Vorsichtsmaßnahmen beim Bearbeiten der /etc/hosts-Datei
- Entfernen Sie keine vorhandenen Systemeingaben wie
127.0.0.1 localhost. - Stellen Sie sicher, dass keine doppelten Einträge für denselben Hostnamen vorhanden sind.
- Wenn ein Hostname in
/etc/hostsdefiniert ist, überschreibt er die DNS-Auflösung.
Ich werde jede Vorsichtsmaßnahme in einfachen Worten erklären, damit Sie verstehen, warum sie wichtig ist.
1. Entfernen Sie keine vorhandenen Systemeinträge wie 127.0.0.1 localhost
Ihr System verlässt sich auf 127.0.0.1 localhost für interne Prozesse. Das Entfernen oder Ändern dieser Zeile kann dazu führen, dass Software- oder Systemdienste nicht mehr funktionieren.
Beispiel eines Standard-/etc/hosts-Eintrags:
127.0.0.1 localhost
::1 localhost
Grund:
Viele Programme, einschließlich Servern und Netzwerktools, gehen davon aus, dass localhost immer auf 127.0.0.1 abgebildet wird. Fehlt dies, kann einige Software möglicherweise nicht richtig funktionieren.
2. Stellen Sie sicher, dass es keine doppelten Einträge für denselben Hostnamen gibt
Wenn Sie denselben Hostnamen mehrfach mit verschiedenen IP-Adressen hinzufügen, könnte Ihr System verwirrt werden.
Beispiel für eine schlechte /etc/hosts-Datei:
127.0.0.1 mywebsite.local
192.168.1.100 mywebsite.localGrund:
Das System wird den ersten Eintrag verwenden, den es findet, und der zweite wird ignoriert. Dies kann zu unerwartetem Verhalten führen, wenn versucht wird, mywebsite.local zu erreichen.
3. Wenn ein Hostname in /etc/hosts definiert ist, wird er die DNS-Auflösung überschreiben
Die /etc/hosts-Datei wird bevor das System externe DNS-Server abfragt überprüft. Wenn eine Domain in /etc/hosts aufgeführt ist, verwendet das System die IP-Adresse aus dieser Datei, selbst wenn eine andere Adresse im öffentlichen DNS verfügbar ist.
Beispiel :
127.0.0.1 example.com- Normalerweise löst
example.comzu einer IP-Adresse von einem DNS-Server auf. - Mit diesem Eintrag wird Ihr Computer immer
example.comauf127.0.0.1auflösen, unabhängig von der tatsächlichen IP-Adresse.
Grund:
Wenn Sie versehentlich einen wichtigen Hostnamen überschreiben, könnten Sie den Zugriff auf legitime Websites oder Dienste blockieren.
Wichtige Erkenntnisse:
- Erstellen Sie immer ein Backup der Datei, bevor Sie sie bearbeiten.
- Entfernen oder ändern Sie niemals Standard-Systemeinträge.
- Vermeiden Sie doppelte Einträge, um Verwirrung zu verhindern.
- Verstehen Sie, dass
/etc/hostsDNS überschreibt, was den Zugriff auf Websites beeinflussen kann.
So bearbeiten Sie die Hosts-Datei unter Linux
1. Sichern Sie die Hosts-Datei
Es ist eine gute Praxis, die Datei /etc/hosts zu sichern, bevor Änderungen vorgenommen werden. Wenn etwas schiefgeht, können Sie die Originaldatei leicht wiederherstellen.
Lassen Sie uns eine Sicherung der Datei /etc/hosts mit folgendem Befehl erstellen:
sudo cp /etc/hosts /etc/hosts.bakDies erstellt eine Kopie mit dem Namen hosts.bak im selben Verzeichnis.
2. Öffnen Sie die Hosts-Datei
Da /etc/hosts eine Systemdatei ist, erfordert das Bearbeiten root-Berechtigungen.
Verwenden Sie einen Texteditor wie nano oder vim:
sudo nano /etc/hostsoder
sudo vim /etc/hosts3. Verstehen Sie das Hosts-Dateiformat
Jeder Eintrag in /etc/hosts folgt diesem Format:
<IP Address> <Hostname> [Alias]Beispiel :
127.0.0.1 localhost
192.168.1.100 myserver.local myserver127.0.0.1ist standardmäßig auflocalhostabgebildet.192.168.1.100istmyserver.localzugewiesen, mitmyserverals Alias.
4. Hinzufügen einer benutzerdefinierten Domain
Um eine Domain einem lokalen Server zuzuordnen:
127.0.0.1 mywebsite.local
Jetzt wird, wenn Sie mywebsite.local aufrufen, dies auf 127.0.0.1 (localhost) aufgelöst.
5. Eine Website blockieren
Um eine Website zu blockieren (z. B. example.com):
0.0.0.0 www.example.comoder
127.0.0.1 www.example.comDies verhindert den Zugriff auf www.example.com, indem es auf eine nicht routbare Adresse umgeleitet wird.
6. Speichern und Beenden
- In Nano drücken Sie
CTRL + X, dannYund anschließendEnter. - In Vim drücken Sie
ESC, tippen:wqein und drückenEnter.
7. DNS-Cache leeren (falls nötig)
Einige Linux-Distributionen speichern DNS-Abfragen im Cache. Um Änderungen sofort anzuwenden, leeren Sie den DNS-Cache:
sudo systemctl restart systemd-resolvedoder für nscd:
sudo systemctl restart nscdVerwandter Artikel: So löschen oder leeren Sie den DNS-Cache unter Linux
8. Änderungen überprüfen
Testen Sie die Änderungen mit dem Befehl:
ping mywebsite.localoder
getent hosts mywebsite.local9. Aus Backup wiederherstellen (falls nötig)
Wenn etwas kaputt geht, können Sie die Originaldatei wiederherstellen:
sudo cp /etc/hosts.bak /etc/hosts10. Überprüfen Sie die Dateiintegrität
Nach der Wiederherstellung prüfen Sie, ob die Datei die richtigen Einträge enthält:
cat /etc/hostsoder
getent hosts localhostFazit
In diesem Schritt-für-Schritt-Tutorial haben wir erklärt, wie man die Hosts-Datei unter Linux sicher bearbeitet. Durch die Bearbeitung der Hosts-Datei erhält man eine feingesteuerte Kontrolle über die Namensauflösung, was für Entwicklung, Test und Netzwerkmanagement nützlich sein kann.