ubuntuusers.de

Hinweis: Dies ist ein statischer Snapshot unseres Wikis vom 25. März 2013 und kann daher nicht bearbeitet werden. Der aktuelle Artikel ist unter wiki.ubuntuusers.de zu finden.
Wikihosts

hosts

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

Die Datei /etc/hosts wird benutzt, um Rechnernamen in IP-Adressen aufzulösen – wenn kein Nameserver im lokalen Netzwerk vorhanden ist. Nach der Installation eines Ubuntu-Rechners mit dem Rechnernamen "jupiter" sieht die Datei so aus:

127.0.0.1     localhost
127.0.1.1     jupiter

# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

Der obere Teil definiert den localhost und den Rechnernamen. Ab Ubuntu 6.06 kommen noch ein paar Zeilen für IPv6 hinzu.

Namensauflösung

Wie schon beschrieben kann die /etc/hosts auch dazu benutzt werden, Rechner im Netzwerk über ihren Namen anstatt über ihre IP-Adresse anzusprechen. Besteht das lokale Netzwerk z.B. aus 3 Rechnern mit den Namen

  • jupiter (192.168.0.1 - dieses System)

  • mars (192.168.0.2)

  • saturn (192.168.0.3)

muss in der /etc/hosts mit Root-Rechten [1] folgendes eingetragen [2] werden:

127.0.0.1      localhost
127.0.1.1      jupiter

# <IP-Adresse>  <Rechnername(n)>
192.168.0.1    jupiter.homenetwork jupiter
192.168.0.2    mars.homenetwork mars
192.168.0.3    saturn.homenetwork saturn

# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

Dadurch können die Rechner "mars" und "saturn" über ihren Namen vom Rechner "jupiter" aus angesprochen werden.

IP-Adressen umleiten

Darüber hinaus lässt sich durch eigene Einträge ein einfacher, aber effektiver systemweiter Blocker realisieren. Dazu werden einfach zeilenweise weitere Namen (oder IP-Adressen) mit localhost verbunden. Beispiel:

127.0.0.1      localhost
127.0.1.1      jupiter

# <IP-Adresse>  <geblockte/r Name/n oder IP-Adresse/n)>
127.0.0.1      www.geblockte_domain.de

Damit werden alle Anfragen an www.geblockte_domain.de auf localhost umgeleitet und die Domain ist nicht mehr erreichbar. Nachteile dieses Verfahrens sind aber zum einen die aufwendige Pflege blockierter Namen und zum anderen die Verarbeitung sehr großer hosts-Dateien. Daher ist ein Proxy-Server auf Dauer die bessere Wahl.

Probleme und Lösungen

Ubuntu 8.04

Nach dem Upgrade von Ubuntu 7.04 Feisty Fawn auf 8.04 Hardy Heron kann in der Datei /etc/hosts die Definition des localhost fehlen. Bei jeder Verwendung von sudo in der Konsole erscheint dann die Fehlermeldung:

"sudo: unable to resolve host Rechnername"

wobei "Rechnername" der Name des aktuell verwendeten Rechners ist (die Verwendung von sudo ist aber nicht eingeschränkt).

Dies lässt sich durch eine kleine Änderung beheben. Hierzu werden mit Root-Rechten [1] in einem Editor [2] in der Datei /etc/hosts die zwei Zeilen:

127.0.0.1       localhost Rechnername
127.0.1.1       Rechnername

ergänzt, wobei auch hier "Rechnername" der Name des aktuell verwendeten Rechners ist. Falls die Datei aber folgendermaßen aussieht:

127.0.0.1       localhost Rechnername
127.0.1.1       Rechnername.domaene Rechnername

kann Rechnername.domaene einfach gelöscht werden (entscheidend ist der Zusatz mit . , nicht unbedingt das Wort domaene).

ubuntuusers.local › Wikihosts