Netzwerken im 21. Jahrhundert

Avatar von Christoph Langner

7 Min. Lesezeit

63 Aufrufe

DHCP, feste IPs über die MAC-Adresse und vor allem Avahi/Zeroconf: Wie man ein kleines Netzwerk einrichtet, ohne hosts-Dateien zu pflegen.

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 den 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 eingebautem 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 dieselbe IP.

Achtung. Nicht jeder Router kann das. Wenn ihr so einen habt, dann kompostiert ihn. Es gibt zig billige Alternativen, die das können. Außerdem schafft man sich einen Single Point of Failure. Fällt der Router aus, so bekommen 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 hosts-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 Rechnern 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 auch bei OpenSuse und Fedora. Bei Debian muss man 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.

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-Programme 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.

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.

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 man die Verteilung der eigenen Musik in Rhythmbox aktivieren, so muss man dies Bearbeiten | Plugins | DAAP-Musikverteilung | Konfigurieren | Eigene Musik verteilen erst einstellen.

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

Weiteres zu Avahi

In vielen anderen „Produkten“ steckt mittlerweile ebenfalls Avahi. Gibt man einen Drucker über CUPS im Netzwerk frei, so finden die weiteren Installationen von CUPS im Netzwerk automatisch den freigegebenen 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.

Ähnliche Beiträge

20 Kommentare zu „Netzwerken im 21. Jahrhundert“

  1. Avatar von DrScott

    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…

  2. Avatar von cLinx

    Gute Arbeit. Habs schon mal im Avahi-Artikel verlinkt.

  3. Avatar von scus

    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 nslu2
    nutzen.

    Gruß, scus

  4. Avatar von Maxe

    Wieder ein super Artikel, danke vielmals dafür!

  5. Avatar von Maxe

    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?

  6. Avatar von Christoph

    @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…

  7. Avatar von Flummie

    Gibt es Giver auch für MacOSX?

  8. Avatar von Christoph

    @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.

  9. Avatar von Alex

    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

  10. Avatar von Christoph

    @Alex
    Das ist GNOME. Infos zum Theme findest du unter Mein GNOME Desktop… Shiki bites the Dust 🙂

  11. Avatar von Alex

    Hey,

    Dankeschön 😉

  12. Avatar von burli

    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 🙂

  13. Avatar von Sebastian / Terahnee
    Sebastian / Terahnee

    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:

    sebastian@sonne:~$ ping mars.local -c4
    PING mars.local (192.168.0.6) 56(84) bytes of data.
    64 bytes from localhost (192.168.0.6): icmpseq=1 ttl=128 time=7.30 ms
    64 bytes from localhost (192.168.0.6): icmp
    seq=2 ttl=128 time=0.159 ms
    64 bytes from localhost (192.168.0.6): icmpseq=3 ttl=128 time=0.157 ms
    64 bytes from localhost (192.168.0.6): icmp
    seq=4 ttl=128 time=0.160 ms
    --- mars.local ping statistics ---
    4 packets transmitted, 4 received, 0% packet loss, time 3011ms
    rtt min/avg/max/mdev = 0.157/1.944/7.301/3.092 ms

    Die IP ist dabei tatsächlich die, die in der Router-Config der MAC-Adresse zugewiesen wurde.

    Grüße,
    Sebastian / Terahnee

  14. Avatar von Christoph

    @Sebastian
    Vielen Dank für die Blumen 🙂 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

  15. Avatar von Ernst

    Auf meinem taufrischen Ubuntu 12.4 habe ich im Dash ein Icon „Installation abwartend“, beim Anklicken kommt in der Box „Avahi Discovery“am unterten Rand der ausgelesenen Daten die Meldung „Momentan ist kein Dienst ausgewählt“. Allen im Artikel ausgesprochenen Empfehlungen bin ich bereits gefolgt.
    Was tun sprach Zeus… besser: „oh Zeus, was tun?“
    Hoffnungsvoll
    Ernst

    1. Avatar von Christoph

      Hall Ernst, schmeiß mal ein Terminal an und schau dir an, was apt-get dir ausgibt.


      $ sudo apt-get update
      $ sudo apt-get dist-upgrade

      So bekommst du deutlich mehr Informationen, was da schief geht.

      Grüße
      Christoph

      1. Avatar von Ernst

        Schön‘ Abend – leider reichen meine Kenntnisse nicht, um in den – geschätzt – mehr als 100 Zeilen auch nur ein ausfindig zu machen, die sich auf „Avahi“ im Terminal beziehen könnte.
        In der Box „Avahi Discovery“ bekomme ich Meldungen zu
        eth0 IPv4
        local
        Areitsplatzrechner
        „meinen-Desktop [….]
        eth0 IPv6
        ….etc
        und darunter „Momentan kein Dienst ausgewählt“, aber diesen auszuwählen, gelingt mir nicht.

        Vielleicht gibt’s doch noch Hoffnung?
        Ernst

        1. Avatar von Christoph

          Hallo Ernst, worum gehts denn genau?

          Grüße
          Christoph

        2. Avatar von Ernst

          Schö’n Abend Christoph,

          es geht leider darum, daß Avahi mit Unity (Ubuntu 12/4) -noch- nicht funktioniert, wie ich nach einigen Recherchen herausgefunden habe: wiki.ubuntuusers.de/Avahi.
          Zitat:
          Das Service-Discovery-Applet ist ein Applet für das GNOME Panel (nicht Unity!). Durch einen Klick auf das Applet sieht man, welche Dienste im Netzwerk zur Verfügung stehen. Erscheinen neue Dienste, so wird dies über den Benachrichtigungsdienst dem Benutzer mitgeteilt. Das Applet lässt sich über die Paketverwaltung mit dem Paket

          „service-discovery-applet (universe) –

          installieren.
          (hab‘ ich aber – folgsam – nicht installiert)

          Ein weiterer (älterer) ubuntu-desktop im Netzwerk scheint bei mir im Ubuntu 12.4 zwar im „Avahi-Discovery“ auf, läßt sich aber nicht ansprechen.

          Vielen Dank für die Zuwendung,
          Ernst

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Markdown wird unterstützt: **fett**, _kursiv_, [Linktext](URL), `Code`, Zeilen mit - für Listen, 1. für nummerierte Listen, dreifache Backticks für Codeblöcke.

Sicherheitsabfrage: Welches Logo ist das?

Über den Blog

Seit 2006 probiere ich hier aus, was Linux, freie Software und die passende Hardware so hergeben – von Distributions-Tests bis zum Raspberry-Pi-Projekt. Praxisnah statt bloßem Nachrichtenticker.

Zuletzt auf Mastodon

Scene Composer in Aktion: Ein Screenshot wird geladen, in verschiedene 3D-Szenen wie Café, Gaming-Desktop, Homeoffice und Podcast-Studio eingesetzt, gedreht und gezoomt. Anschließend wird eine Vorschau gerendert.

Ich finde Screenshots als Aufmacher oft langweilig. In der Vergangenheit habe ich daher oft den Bildschirm im wahrsten Sinne des Wortes abfotografiert. Das bringt etwas Leben in die Artikel –…

Kategorien

Blog unterstützen

Gefällt dir, was du hier liest? Mit einer kleinen Spende hilfst du, Hosting und neue Testgeräte zu finanzieren – und sorgst nebenbei für den nötigen Kaffee.

Linux und Ich — Netzwerken im 21. Jahrhundert
https://linuxundich.de/gnu-linux/netzwerken-im-21-jahrhundert/ — gedruckt am 25. September 2026