Ein Blog über Ubuntu, Linux, Android und IT
Netzwerken im 21. Jahrhundert
Dieser Beitrag wurde vor mehr als sechs Monaten veröffentlicht. Bedenke bitte, dass die hier angebotene Information nicht mehr aktuell und gültig sein könnte. Informiere dich daher bitte auch an anderer Stelle über dieses Thema. Sollten sich neue Informationen ergeben haben, so kannst du mich auch gerne auf diese über einen Kommentar hinweisen. Vielen Dank!Gefrickel mit von Hand eingetragenen statischen IPs? Gefrickel mit der hosts-Datei? Manche User sind netzwerktechnisch noch im letzten Jahrtausend. Verzeiht mir die Polemik, aber es gibt wunderbare Entwicklungen, die man auch nutzen sollte. 
Disclaimer: Natürlich gibt es für einen einen oder anderen User noch Gründe auch heute noch IPs von Hand zuzuweisen, die kenne und verstehe ich. Dieser Blog-Artikel soll einfach ein paar Infos zur “moderneren” Netzwerkkonfiguration im Bereich SoHo liefern. Verzeiht die Schnippische Einleitung!
DHCP
Vorweg eine Werbung für DHCP. Ich gehe mal vom typischen Heimanwender aus: Der Internetzugang wird über einen DSL-Router mit eingebauten WLAN-Access Point realisiert.
Diese Dinger haben so gut wie immer einen DHCP-Server eingebaut, er ist eigentlich auch immer von Haus aus aktiv. D.h. im Normalfall muss die Netzwerkkonfiguration angeschlossener Computer überhaupt nicht angepasst werden.
Statische IPs? Willkommen im 21 Jahrhundert…
OK, nun wollt ihr einen Serverdienst wie bspw. einen Webserver hinter dem Router betreiben. Dazu müssen Ports an diesen weitergeleitet werden. Da sich dafür die IP nicht ändern darf, muss man trotzdem wieder mit einer fest eingetragenen IP arbeiten.
Nicht zwangsläufig! Jeder ordentliche Router bietet die Möglichkeit eine IP fest einem Rechner zuzuordnen. Dies geschieht über die MAC-Adresse der Netzwerkkarte. Man muss die Nummer einfach nur auslesen und im Router dann mit einer IP verknüpfen. Ab dann bekommt der Rechner immer die selbe IP.

Viele Router können über die MAC Adresse einem Rechner immer die selbe IP zuweisen.
Achtung. Nicht jeder Router kann das. Wenn ihr so einen habt, dann kompostiert ihn. Es gibt zig billige Alternativen, die das können. Ausserdem schafft man sich einen Singe Point of Failure. Fällt der Router aus, so bekomme die Rechner keine IPs mehr. Dennoch halte ich diese Problematik – gerade im SoHo-Bereich – für sehr irrelevant.
Lokale Namensauflösung mit Avahi
Nun zum Kern dieses Beitrages: moderne Techniken. Computer kommunizieren in Netzwerken über IPs und nicht über Rechnernamen. Ohne einen zentralen Nameserver (oder manuell angepassten host-Dateien) weiß ein Computer nicht unter welcher IP er einen anderen Rechner erreichen kann. Hat man beispielsweise einen Webserver mit dem Namen “rechenknecht” im LAN und möchte diesen von einem anderen Rechner ansprechen, so kann man nicht einfach http:\\rechenknecht im Browser eingeben und so die Webseiten des Webservers aufrufen. Man müsste zuvor die Verknüpfung IP <-> Rechnername erst in die hosts-Datei eintragen oder einen Nameserver einrichten, der dann den Namen auflösen könnte.
Beide “Lösungen” sind nicht ideal. Befinden sich weitere Rechner im LAN, so müsste überall die hosts-Datei angepasst werden. Gibt es eine Änderung, so muss wieder an allen Rechner Hand angelegt werden. Bringt ein Bekannter einen Rechner mit, so müssten hier Konfigurationen vorgenommen werden, die man später wieder rückgängig machen muss. Und ein Nameserver ist auch nicht in wenigen Minuten eingerichtet und letztendlich für ein kleines LAN mit Kanonen auf Spatzen geschossen.
Die Lösung für dieses Problem nennt sich Avahi / Zeroconf. Zeroconf verspricht “Zero Configuration Networking” und kommt dem auch sehr nahe… Avahi wird schon seit längerer Zeit bei vielen Linuxen vorinstalliert und ist voll kompatibel zu Bonjour von MacOS X, das es auch für Windows gibt.
Was macht nun Avahi? Über Avahi gibt ein Rechner seine Präsenz und seine angebotenen Dienste im lokalen Netzwerk bekannt. Dazu muss Avahi nicht konfiguriert werden, es funktioniert “Out-of-the-box”. Auf einem Ubuntu System ist Avahi von Haus aus installiert, wie afaik auf bei OpenSuse und Fedora. Bei Debian muss die Namensauflösung über
$ apt-get install libnss-mdns
nachinstallieren. Ist dies geschehen, kann man jeden Rechner über seinen Namen und ein angehängtes .local ansprechen. So kann man bspw. nun den Rechner rechenknecht über
$ ping rechenknecht.local
anpingen oder über
$ ssh rechenknecht.local
auf den SSH-Server des Rechners gehen oder über http:\\rechenknecht.local den Webserver des Rechners öffnen oder oder… Hat man auf dem Server Apache mit mod-dnssd laufen, dann gibt der Server seine Existenz über Avahi bekannt und Browser wie Epiphany zeigen ihn sofort an.

Epiphany bindet automatisch Webserver in die Lesezeichen ein, die sich über Avahi/Zeroconf im Netzwerk bekannt machen.
Dabei muss man sich auch keine Gedanken machen, dass die Information das eigene LAN verlässt. Avahi ignoriert sämtlichen Traffic, der nicht aus dem eigenen LAN kommt.
Serverlos im LAN chatten und Daten austauschen
Rechner über ihren Namen anzupingen ist jetzt nicht sonderlich aufregend, wo steckt nun der eigentlich größte nutzen? Über Avahi können Programme sich publik machen. So kann man bspw. dank Avahi/Zeroconf ohne einen zentralen Server im LAN chatten oder Daten austauschen, Medien streamen, Voip-Gespräche führen usw. ohne dass man auch nur einen Serverdienst einrichten müsste.
Chatten
Instant-Messaging Programmen laufen üblicherweise immer über einen zentralen Server im Internet ab, an dem man sich einloggen muss. Doch man kann auch ohne Internetzugang im lokalen Netzwerk chatten. Moderne IM Clients wie Gajim oder Pidgin können dank Avahi/Zeroconf/Bonjour im LAN kommunizieren ohne dass man einen Server braucht.

Verschiedene IM-Clients unterhalten sich ohne zentrale Server via Avahi/Zeroconf
Exemplarisch gehe ich auf Gajim und Pidgin sowie Miranda für Windows ein. In Pidgin muss man ein neues Konto anlegen. Als Protokoll stellt man Bonjour ein. Bei Gajim ist das Konto von Haus aus vorhanden, jedoch nach der Installation des Programms noch nicht aktiv. Um also Avahi/Zeroconf mit Gajim zu nutzen, muss man in den Konteneinstellungen das Konto Local aktivieren. Sollte das nicht möglich sein, so muss man das Paket python-avahi nachinstallieren.
$ sudo apt-get install python-avahi
Letztendlich möchte ich die Fans von Windows nicht außen vor lassen. Für den wohl populärsten Multi-Messenger auf Windows-Plattformen Miranda gibt es mit iChat ein Plugin, das Miranda Avahi/Zeroconf fähig macht.
Daten austauschen
Ähnlich wie Gajim oder Pidgin arbeitet Giver. Auch hier sieht man eine Kontaktliste vergleichbar wie bei einem Instant-Messaging Programm. Allerdings kann man mit den im LAN aktiven Kontakten nicht chatten. Giver dient ausschließlich zum Austausch von Dateien oder Ordnern. Per Drag&Drop zieht man eine Datei/einen Ordner auf den Kontakt. Akzeptiert der Empfänger die Übertragung, so startet der Versand der Daten.

Mit Giver Daten zwischen zwei Rechner austauschen.
Ein wunderbares Anwendungsbeispiel ist der Austausch von Screenshots, wenn man etwas in einer virtuellen Maschine ausprobiert. Ich installiere mir öfters mal eine Entwicklungsversion von $DISTRIBUTION. Mit Giver bekommt man Screenshots oder Konfigurationsdateien in Nullkommanix aus der VM auf den realen Desktop, ohne dass man dafür mit Freigaben hantieren muss.
Medien streamen
Ein weiteres Beispiel ist das Streamen von Medien. Man kennt dies von iTunes. Dort kann man die Musik, die sich auf einem Rechner befindet via iTunes auch auf einem anderen Rechner mit iTunes verfügbar machen.
Das ganze funktioniert plattformübergreifend mit vielen Programmen. Egal ob man nun iTunes, Rhythmbox, Banshee oder Amarok benutzt. Sobald ein Programm DAAP als Protokoll beherrscht, kann es die Freigaben im lokalen Netzwerk automatisch einbinden.
Möchte die Verteilung der eigenen Musik in Rhythmbox aktivieren, so muss man dies Bearbeiten -> Plugins -> DAAP-Musikverteilung -> Konfigurieren -> Eigene Musik verteilen erst einstellen.

Musik mittels Rhythmbox und DAAP streamen.
Danach taucht die eigene Musik automatisch in iTunes, Banshee und Co. der anderen Mitglieder des eigenen LANs auf.

Mittels DAAP freigegebene Musik in iTunes bzw. Banshee.
Weiteres zu Avahi
In vielen anderen “Produkten” steckt mittlerweile ebenfalls Avahi. Gibt man einen Drucker über CUPS im Netzwerk frei, so finden die weiteren Installation von CUPS im Netzwerk automatisch den freigegeben Drucker.
Über Ekiga lassen sich im lokalen Netzwerk VoIP- oder Video-Gespräche serverlos führen. Gibt man seinen GNOME-Desktop über Vino frei, so findet bspw. Vinagre über Avahi diese Desktopfreigabe.
Über Pulseaudio lässt sich der Sound einer Anwendung gezielt zu einem Rechner leiten, der bspw. an die Stereoanlage angeschlossen ist, dabei findet sich PulseAudio ebenfalls wieder über Avahi/Zeroconf und so weiter und so fort.
Das könnte Euch auch gefallen...
Anzeige...
| Artikel drucken | Dieser Beitrag wurde von Christoph am 21. Februar 2009 um 21:00 veröffentlicht und unter GNU/Linux abgelegt. Du kannst allen Antworten zu diesem Beitrag durch RSS 2.0 folgen. Du kannst eine Antwort schreiben oder einen Trackback von deiner eigenen Seite hinterlassen. |


















vor 1 Jahr
Toller Artikel! Hättest Du nicht Lust, den Wiki-Artikel von uu.de zum Thema Avahi mit deinem Wissen anzureichern? Denn genau die konkreten Anwendungsbeispiele fehlen dort noch…
vor 1 Jahr
Gute Arbeit. Habs schon mal im Avahi-Artikel verlinkt.
vor 1 Jahr
Hallo, ich finde den Artikel sehr interessant, habe aber noch eine kleine Anmerkung: Tomato, was du scheinbar nutzt, hat bereits einen Nameserver integriert. Du kannst direkt bspw.
ping nslu2nutzen.
Gruß, scus
vor 1 Jahr
Wieder ein super Artikel, danke vielmals dafür!
vor 1 Jahr
So, ich habe das jetzt zum Laufen gebracht bei mir (Ubuntu 8.10) und meinem Bruder (WinXP mit irgendeiner Firewall), aber er kann mich weder sehen noch mir Dateien schicken, was ich einwandfrei kann. Wie kann ich das beheben?
vor 1 Jahr
@Maxe
Du redest von Giver? Hat dein Bruder Bonjour für Windows installiert? Siehe http://www.apple.com/downloads/macosx/apple/windows/bonjourforwindows.html Außerdem: Firewall abschalten ist immer ne gute Idee bei solchen Problemen…
vor 1 Jahr
Gibt es Giver auch für MacOSX?
vor 1 Jahr
@Flummie
Nein, für MacOSX gibt es afaik bislang noch keinen Port. Hier http://groups.google.com/group/giver-list/browse_thread/thread/9236b05c5974ef2e wird aktuell drüber diskutiert.
vor 1 Jahr
Hey Leutz,
Vielleicht kann mir ja bitte wer sagen welches System des auf Screenshot1 ist? Ist des Gnome? Und wenn ja weis ja vielleicht noch wer woher ich den Style bekomme?
LG Alex
vor 1 Jahr
@Alex
Das ist GNOME. Infos zum Theme findest du unter Mein GNOME Desktop… Shiki bites the Dust
vor 1 Jahr
Hey,
Dankeschön
vor 1 Jahr
Hi Chrissss,
super Artikel. Hat mal wieder Sachen gezeigt die ich noch nicht kannte. Wer weiß was sich noch alles für tolle Sachen in Ubuntu verstecken von denen ich noch nichts weiß
Weiter so
vor 1 Jahr
Hallo Christoph!
Ich lese deinen Blog schon länger und hab jetzt auch mal die Gelegenheit dir zu sagen dass er echt klasse ist und ich dir dafür danke. So, nun was anderes: Ich habe diese Avahi-Sache auch mal ausprobiert, da ich hier auch so ein kleines Bastelnetz (1 PDC, 4 heterogene Clients) habe mit dem ich Filme und Musik streame und Daten anbiete. Meine Frage ist nun ob du mir sagen kannst warum ich, wenn ich einen der Rechner anpinge, eine Antwort von ‘localhost’ bekomme. Hier mal ein Auszug aus dem Terminal:
Die IP ist dabei tatsächlich die, die in der Router-Config der MAC-Adresse zugewiesen wurde.
Grüße,
Sebastian / Terahnee
vor 1 Jahr
@Sebastian
Das Verhalten kann ich auch hier nachvollziehen, doch ein “Warum das so ist” kann ich dir leider nicht liefern. Wenn es dich brennend interessiert und dein Englisch nicht zu schlecht ist können dir die Jungs von Avahi sicherlich weiter helfen. Siehe http://avahi.org/wiki/AvahiCommunity
Vielen Dank für die Blumen