zeroconf (avahi, Bonjour, Rendezvous)

    • zeroconf (avahi, Bonjour, Rendezvous)

      zeroconf
      Wenn man das richtig konfiguriert, kann man von seinem (zeroconf fähigen Programmen/Betriebsystemen) ohne Kenntnis der IP der Box darauf zugreifen!

      Welche Hardware / Betriebsystem?
      Jeder moderne Netzwerkdrucker kann zeroconf (mDNS)
      Jedes Linux
      Jedes Mac OS
      Und Windows kann es auch - aber nur, wenn man es installiert. support.apple.com/downloads/Bonjour_for_Windows

      PREFIX
      Normalerweise ist Zeroconf - wie der Name schon sagt - dazu da, daß man nichts konfigurieren muss.
      Hier stoßen wir auf ein kleines Problemchen beim Newnigma. :)
      Denn um zeroconf zum Laufen zu bekommen, muß man es erst mal installieren, und dann auch noch konfigurieren.
      Das ist zwar nicht im Sinne des Erfinders, macht aber Spaß. (Warum haben wir denn sonst Hobbys?)

      Ein Vorschlag meinerseits, wie man das Ganze mit wenig Aufwand verbessern könnte:
      Man liefert zumindest die http-Config-Datei und die ftp-Config-Datei mit [1],[3]. Somit bräuchte der Anwender nur noch zeroconf installieren und der Zugriff aufs WebInterface und den ftp Server der Box liefe auf Anhieb.
      Weiterhin könnte man auch die smb-Config-Datei[2] ins SMB-Paket integrieren. Wenn man dann das SMB-Paket installiert, meldet sich die Box dann auch gleich als SMB-Server.
      Bemerkung:
      WÄRE zeroconf von vornherein im BootROM, könnte man die Box auch ohne DHCP Server und ohne die IP zu kennen flashen. Das wäre die Kirsche auf dem Kuchen.

      Vom Einsatz des zeroconf ist abzuraten, wenn man sich in einer Unicast Domain ".local" befindet.
      (avahi.org/wiki/AvahiAndUnicastDotLocal)
      Leider gibt es immer noch private Netzwerke, die eine .local Domain haben. Microsoft schlägt das doch tatsächlich immer noch als default vor!. Schade, denn wenn man schon beliebige Netzwerkdrucker anstöpselt, oder ein Mac OS, die machen von vorn herein mDNS (zeroconf). Mit einer ".local" unicast Domain macht man das alles ganz schnell zunichte.

      Lösungen:
      a) Die lokale Domain umbenennen in was anderes als ".local"; zB: .lan, .hier ...usw.
      b) Kein zeroconf einsetzen (Dann verliert man aber viele Vorteile eines zeroconf-Netzwerkes.)

      LOS GEHT'S
      1) zeroconf extension installieren.
      2) Damit die Dream sich in zeroconf Browsern (Safari, Konqueror, Mac OS X Finder, Firefox mit zeroconf discovery plugin (?), etc.pp.) announced, muss man ein entsprechendes .service xml in /etc/avahi/services/ anlegen.
      en.gentoo-wiki.com/wiki/Avahi#Custom_Services
      siehe auch [1], [2] und [3]

      [1] Zugriff über zeroconf aufs WebInterface der Box:
      /etc/avahi/services/http.service

      XML-Quellcode

      1. <?xml version="1.0" standalone='no'?><!--*-nxml-*-->
      2. <!DOCTYPE service-group SYSTEM "avahi-service.dtd">
      3. <service-group>
      4. <name replace-wildcards="yes">%h HTTP</name>
      5. <service>
      6. <type>_http._tcp</type>
      7. <port>80</port>
      8. <txt-record>path=/</txt-record> ## Path
      9. </service>
      10. </service-group>


      [2] Zugriff über zeroconf auf SMB-Shares der Box:
      /etc/avahi/services/smb.service

      XML-Quellcode

      1. <?xml version="1.0" standalone='no'?><!--*-nxml-*-->
      2. <!DOCTYPE service-group SYSTEM "avahi-service.dtd">
      3. <service-group>
      4. <name replace-wildcards="yes">%h SMB</name>
      5. <service>
      6. <type>_smb._tcp</type>
      7. <port>139</port>
      8. </service>
      9. </service-group>


      [3] Zugriff über zeroconf auf FTP-Shares der Box:
      /etc/avahi/services/ftp.service

      XML-Quellcode

      1. <?xml version="1.0" standalone='no'?>
      2. <!DOCTYPE service-group SYSTEM "avahi-service.dtd">
      3. <service-group>
      4. <name replace-wildcards="yes">%h FTP</name>
      5. <service>
      6. <type>_ftp._tcp</type>
      7. <port>21</port>
      8. </service>
      9. </service-group>


      Dann einfach den avahi daemon neu starten:

      Quellcode

      1. /etc/init.d/avahi-daemon restart



      Firefox Plugin für zeroconf: bonjourfoxy.net/

      Weitere Links:
      en.gentoo-wiki.com/wiki/Avahi
      kremalicious.com/2008/06/ubun...machine-volume/
      avahi.org/
      holyarmy.org/benjamin/2008/01/adv...a-avahibonjour/
      OScam Wiki | OScam Documentation | Build your own OScam with simplebuild
      Better a 'found' without entitlements than a 'not found' with valid entitlements.

      Dieser Beitrag wurde bereits 10 mal editiert, zuletzt von Bit ()

    • Das Plugin "Bonjour" ist nun im CVS!

      Plugins welche Netwerkdienste zur Verfügung stellen können sich über dieses Plugin beim avahi "registrieren".

      Beispiel aus dem Webinterface:

      Registrierung eines AVAHI-Dienstes:

      Quellcode

      1. def registerBonjourService(protocol, port):
      2. try:
      3. from Plugins.Extensions.Bonjour.Bonjour import bonjour
      4. service = bonjour.buildService(protocol, port)
      5. bonjour.registerService(service, True)
      6. print "[WebInterface.registerBonjourService] Service for protocol '%s' with port '%i' registered!" %(protocol, port)
      7. return True
      8. except ImportError, e:
      9. print "[WebInterface.registerBonjourService] %s" %e
      10. return False
      Alles anzeigen


      Deregistrierung eines AVAHI-Dienstes:

      Quellcode

      1. def unregisterBonjourService(protocol):
      2. try:
      3. from Plugins.Extensions.Bonjour.Bonjour import bonjour
      4. bonjour.unregisterService(protocol)
      5. print "[WebInterface.unregisterBonjourService] Service for protocol '%s' unregistered!" %(protocol)
      6. return True
      7. except ImportError, e:
      8. print "[WebInterface.unregisterBonjourService] %s" %e
      9. return False
      Alles anzeigen


      Den Rest übernimmt dann das plugin (und natürlich avahi-daemon).

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von reichi ()