<?xml version="1.0" encoding="utf-8"?><!DOCTYPE article  PUBLIC '-//OASIS//DTD DocBook XML V4.4//EN'  'http://www.docbook.org/xml/4.4/docbookx.dtd'><article><articleinfo><title>ZeroconfServices</title><revhistory><revision><revnumber>40</revnumber><date>2011-11-15 18:44:46</date><authorinitials>ZioPRoTo</authorinitials></revision><revision><revnumber>39</revnumber><date>2011-01-18 12:27:59</date><authorinitials>ZioPRoTo</authorinitials><revremark>aggiustate regole itunes TTL perché ci stava un errore ci copia ed incolla ed un errore logico</revremark></revision><revision><revnumber>38</revnumber><date>2010-01-18 22:55:06</date><authorinitials>host171-197-dynamic.17-87-r.retail.telecomitalia.it</authorinitials><revremark>aggiunto kopete tra i programmi di chat bonjour</revremark></revision><revision><revnumber>37</revnumber><date>2009-05-20 14:30:05</date><authorinitials>ZioPRoTo</authorinitials></revision><revision><revnumber>36</revnumber><date>2008-05-08 23:13:34</date><authorinitials>host119-234-dynamic.55-82-r.retail.telecomitalia.it</authorinitials></revision><revision><revnumber>35</revnumber><date>2008-03-18 17:28:20</date><authorinitials>localhost</authorinitials><revremark>converted to 1.6 markup</revremark></revision><revision><revnumber>34</revnumber><date>2007-11-04 10:54:32</date><authorinitials>ZioPRoTo</authorinitials></revision><revision><revnumber>33</revnumber><date>2007-06-21 15:22:07</date><authorinitials>ZioPRoTo</authorinitials></revision><revision><revnumber>32</revnumber><date>2007-06-13 23:36:15</date><authorinitials>ZioPRoTo</authorinitials></revision><revision><revnumber>31</revnumber><date>2007-06-13 23:29:22</date><authorinitials>ZioPRoTo</authorinitials></revision><revision><revnumber>30</revnumber><date>2007-06-13 17:32:45</date><authorinitials>ZioPRoTo</authorinitials></revision><revision><revnumber>29</revnumber><date>2007-06-07 17:02:25</date><authorinitials>ZioPRoTo</authorinitials></revision><revision><revnumber>28</revnumber><date>2007-06-05 20:44:37</date><authorinitials>ZioPRoTo</authorinitials></revision><revision><revnumber>27</revnumber><date>2007-06-05 20:41:35</date><authorinitials>ZioPRoTo</authorinitials><revremark>Ripristinata la revisione 23.</revremark></revision><revision><revnumber>26</revnumber><date>2007-06-05 15:17:45</date><authorinitials>ClauzClauz</authorinitials></revision><revision><revnumber>25</revnumber><date>2007-06-04 14:46:08</date><authorinitials>ClauzClauz</authorinitials></revision><revision><revnumber>24</revnumber><date>2007-06-04 14:41:45</date><authorinitials>ClauzClauz</authorinitials></revision><revision><revnumber>23</revnumber><date>2007-05-21 16:25:21</date><authorinitials>ClauzClauz</authorinitials><revremark>aggiunti URL</revremark></revision><revision><revnumber>22</revnumber><date>2007-05-20 21:11:54</date><authorinitials>85-18-136-80.fastres.net</authorinitials></revision><revision><revnumber>21</revnumber><date>2007-05-20 19:50:09</date><authorinitials>85-18-136-80.fastres.net</authorinitials></revision><revision><revnumber>20</revnumber><date>2007-05-20 19:19:29</date><authorinitials>85-18-136-80.fastres.net</authorinitials></revision><revision><revnumber>19</revnumber><date>2007-05-20 19:13:28</date><authorinitials>85-18-136-80.fastres.net</authorinitials></revision><revision><revnumber>18</revnumber><date>2007-05-19 15:15:39</date><authorinitials>ClauzClauz</authorinitials><revremark>aggiunti programmi TODO: alcuni URL e OS supportati</revremark></revision><revision><revnumber>17</revnumber><date>2007-05-18 19:07:53</date><authorinitials>ZioPRoTo</authorinitials></revision><revision><revnumber>16</revnumber><date>2007-05-18 18:59:21</date><authorinitials>ZioPRoTo</authorinitials></revision><revision><revnumber>15</revnumber><date>2007-05-18 13:43:32</date><authorinitials>ZioPRoTo</authorinitials></revision><revision><revnumber>14</revnumber><date>2007-05-18 12:43:33</date><authorinitials>ClauzClauz</authorinitials></revision><revision><revnumber>13</revnumber><date>2007-05-18 00:16:40</date><authorinitials>ZioPRoTo</authorinitials></revision><revision><revnumber>12</revnumber><date>2007-05-17 23:55:26</date><authorinitials>ZioPRoTo</authorinitials></revision><revision><revnumber>11</revnumber><date>2007-05-16 16:37:44</date><authorinitials>ZioPRoTo</authorinitials></revision><revision><revnumber>10</revnumber><date>2007-05-16 02:41:17</date><authorinitials>ZioPRoTo</authorinitials></revision><revision><revnumber>9</revnumber><date>2007-05-16 02:05:36</date><authorinitials>ZioPRoTo</authorinitials></revision><revision><revnumber>8</revnumber><date>2007-05-16 01:59:02</date><authorinitials>ZioPRoTo</authorinitials></revision><revision><revnumber>7</revnumber><date>2007-05-16 01:58:07</date><authorinitials>ZioPRoTo</authorinitials></revision><revision><revnumber>6</revnumber><date>2007-05-16 01:56:21</date><authorinitials>ZioPRoTo</authorinitials></revision><revision><revnumber>5</revnumber><date>2007-05-14 21:42:19</date><authorinitials>ZioPRoTo</authorinitials></revision><revision><revnumber>4</revnumber><date>2007-05-14 21:25:41</date><authorinitials>ZioPRoTo</authorinitials></revision><revision><revnumber>3</revnumber><date>2007-05-14 21:19:20</date><authorinitials>ZioPRoTo</authorinitials></revision><revision><revnumber>2</revnumber><date>2007-05-14 21:18:12</date><authorinitials>ZioPRoTo</authorinitials></revision><revision><revnumber>1</revnumber><date>2007-05-11 19:49:07</date><authorinitials>ZioPRoTo</authorinitials></revision></revhistory></articleinfo><section><title>Servizi Zeroconf di Ninux.org</title><section><title>Descrizione dei servizi</title><para>Installando sul proprio nodo l'mDNS plugin è possibile ricevere sulla propria sottorete traffico mDNS </para><para>Attualmente sulla rete Ninux.org sono disponibili i seguenti servizi distribuiti in multicast DNS </para><itemizedlist><listitem><para>DAAP Music Sharing (client &amp; server)  </para><itemizedlist><listitem><para>iTunes per Mac OS X o Windows <ulink url="http://www.apple.com/it/itunes/"/> </para></listitem><listitem><para>Rhythmbox per Linux <ulink url="http://www.gnome.org/projects/rhythmbox/"/> </para></listitem><listitem><para>Amarok per Linux <ulink url="http://amarok.kde.org/"/> </para></listitem><listitem><para>KDE (aprire l'URL <code>daap:/</code>) </para></listitem><listitem><para>Banshee <ulink url="http://banshee-project.org/Main_Page"/> </para></listitem></itemizedlist></listitem><listitem><para>DAAP Music Sharing (only server) </para><itemizedlist><listitem><para>iTunes (vedi sopra) </para></listitem><listitem><para>Tangerine per Windows, Linux e Mac Os X (solo intel, Bug su Mac Os X per ppc) <ulink url="http://www.snorp.net/log/tangerine"/> </para></listitem><listitem><para>mt-daap (guida sul wiki gentoo: <ulink url="http://gentoo-wiki.com/HOWTO_Apple_ITunes_Server"/>) </para></listitem><listitem><para>windaapd <ulink url="http://www.rustydust.net/cgi-bin/wiki.pl?WinDaapd"/>  </para></listitem></itemizedlist></listitem><listitem><para>Bonjour Chat </para><itemizedlist><listitem><para>iChat per Mac OS X <ulink url="http://www.apple.com/it/ichat/"/> </para></listitem><listitem><para>Kopete per KDE <ulink url="http://kopete.kde.org/"/> </para></listitem><listitem><para>Pidgin per Linux <ulink url="http://www.pidgin.im/"/> </para></listitem><listitem><para>Miranda per Windows <ulink url="http://xurble.org/projects/2005/04/rendezvous-protocol-for-miranda.html"/> </para></listitem></itemizedlist></listitem><listitem><para>Altre chat/voice/video </para><itemizedlist><listitem><para>Ekiga softphone (Gnome) <ulink url="http://www.ekiga.org/"/> </para></listitem></itemizedlist></listitem><listitem><para>Self discovery web server  </para><itemizedlist><listitem><para>Safari su Mac OS X <ulink url="http://www.apple.com/it/safari/"/> </para></listitem><listitem><para>Possibile non ci sia il plugin per Firefox????? trovatelo! </para></listitem></itemizedlist></listitem><listitem><para>Self discovery SSH servers </para><itemizedlist><listitem><para>Fugu su Mac OS X <ulink url="http://rsug.itd.umich.edu/software/fugu/"/> </para></listitem></itemizedlist></listitem><listitem><para>VPN via zeroconf </para><itemizedlist><listitem><para>Zerospan <ulink url="http://www.zerospan.org/"/> </para></listitem></itemizedlist></listitem><listitem><para>Self discovery FTP servers </para><itemizedlist><listitem><para>kftpgrabber (KDE) <ulink url="http://kftpgrabber.sourceforge.net/"/> </para></listitem></itemizedlist></listitem><listitem><para>Self discovery shared desktops </para><itemizedlist><listitem><para>krfb &amp; krdc (KDE) <ulink url="http://docs.kde.org/stable/en/kdenetwork/krfb/index.html"/> </para></listitem></itemizedlist></listitem><listitem><para>Self discovery shared folders </para><itemizedlist><listitem><para>kpf (KDE) <ulink url="http://docs.kde.org/development/en/kdebase/userguide/networking.html#file-sharing-kpf"/> </para></listitem><listitem><para>Gshare (Gnome) <ulink url="http://yimports.com/~cpinto/projects/gnome/gshare"/> </para></listitem><listitem><para>Chungles <ulink url="http://www.chungles.com/"/> </para></listitem></itemizedlist></listitem><listitem><para>Shared bookmarks </para><itemizedlist><listitem><para>Epiphany <ulink url="http://www.gnome.org/projects/epiphany/"/> </para></listitem></itemizedlist></listitem><listitem><para>Collaborative editing: </para><itemizedlist><listitem><para>Mateedit (KDE) <ulink url="http://mateedit.sourceforge.net/"/> </para></listitem><listitem><para>Gobby (Linux, Mac OS, Windows) <ulink url="http://darcs.0x539.de/trac/obby/cgi-bin/trac.cgi"/> </para></listitem></itemizedlist></listitem><listitem><para>Giochi: </para><itemizedlist><listitem><para>kbattleship, kwin4, lskat (KDE) <ulink url="http://docs.kde.org/stable/it/kdegames/"/> </para></listitem></itemizedlist></listitem></itemizedlist><para><emphasis role="strong">Nota sul DAAP music sharing con iTunes 7</emphasis> </para><para>Se viene effettuato il music sharing usando come server iTunes 7 è possibile usare come client solamente iTunes 7: nel caso in cui si voglia connettere altri client (ad esempio rhythmbox o amarok)  è consigliato  usare come server uno degli altri programmi indicati in precenza (Tangerine è buono su sistemi desktop,  anche se la versione per Mac Os X su ppc non funziona).    </para><para>siete tutti invitati ad aggiornare questa lista, quando scoprite un nuovo software che supporta Bonjour o Avahi <inlinemediaobject><imageobject><imagedata depth="16" fileref="http://www.nnx.me//moin_static197/ninuxtheme02/img/smile.png" width="16"/></imageobject><textobject><phrase>:)</phrase></textobject></inlinemediaobject> </para></section><section><title>Screenshots</title><itemizedlist><listitem override="none"><para><ulink url="http://www.nnx.me/ZeroconfServices/ZeroconfServices/screenshots#">./screenshots</ulink> </para></listitem></itemizedlist></section><section><title>Come scoprire i servizi</title><para>Se avete Mac OS X basta scaricare uno dei seguenti programmi: </para><itemizedlist><listitem><para>Observation Post <ulink url="http://www.fernlightning.com/doku.php?id=software:op:start"/> </para></listitem><listitem><para>Bonjour Browser <ulink url="http://www.tildesoft.com/Files/BonjourBrowser.dmg"/> </para></listitem></itemizedlist><para>Se avete <emphasis role="strong">Linux</emphasis>: </para><itemizedlist><listitem><para>scaricate <emphasis role="strong">Avahi</emphasis>, ed usate il suo browser <ulink url="http://avahi.org/"/> </para></listitem><listitem><para>in KDE provate ad aprire l'URL <code>zeroconf:/</code> <ulink url="http://wiki.kde.org/tiki-index.php?page=Zeroconf+in+KDE"/> </para></listitem></itemizedlist></section><section><title>Come funziona?</title><para>I servizi vengono annunciati dai server utilizzando il Multicast, non esiste quindi un server centrale ma tutto è distribuito.  </para><para>Forse volete leggere questa pagina <ulink url="http://it.wikipedia.org/wiki/Zeroconf"/> che è un buon punto di partenza per capire di che si parla. </para><para>Molte stampanti di rete ed altro hardware hanno supporto nativo per Zeroconf ! </para></section><section><title>Come configurare il nodo</title><para>Scaricate una versione recente di OLSR e leggete il README dell'mDNS plugin </para><section><title>Workaround: Override iTunes TTL packets limit</title><para><emphasis role="strong">Per iTunes dato che l'applicazione manda pacchetti IP con TTL=1 dovete fare una piccola patch da qualche parte al vostro firewall qualcosa di questo tipo</emphasis> </para><screen><![CDATA[insmod ipt_TTL
iptables -t mangle -I FORWARD -p tcp --sport 3689 -j TTL --ttl-set 12]]></screen><para>Esempio su AIROS Sburratone 3 </para><screen><![CDATA[insmod iptable_mangle
insmod ipt_TTL
iptables -t mangle -I FORWARD -p tcp --sport 3689 -j TTL --ttl-set 12]]></screen><para>Per esempio ecco il mio <emphasis role="strong">/etc/local.fw</emphasis> sul mio AP con Freifunk </para><screen><![CDATA[# Place your firewall addons here
]]><![CDATA[
case $1 in
        start)
]]><![CDATA[
        iptables -F
        iptables -t nat -F PREROUTING
        iptables -t mangle -F                                
        iptables -t nat -A PREROUTING -d 10.0.0.0/8 -j ACCEPT   
        iptables -t nat -A PREROUTING -d 172.16.0.0/16 -j ACCEPT 
        iptables -t nat -A PREROUTING -d 192.168.0.0/16 -j ACCEPT                 
        iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to 192.168.3.214
        iptables -A FORWARD -o vlan0 -d 192.168.3.214 -j ACCEPT
        iptables -A FORWARD -o vlan0 -d 192.168.3.215 -j ACCEPT
        iptables -A FORWARD -o vlan0 -d 192.168.3.200 -j ACCEPT
        iptables -A FORWARD -o vlan0 -d 192.168.3.201 -j ACCEPT
        iptables -A FORWARD -o vlan0 -d 192.168.3.10 -j ACCEPT 
        iptables -A FORWARD -o vlan0 -d 172.16.0.0/16 -j ACCEPT
        iptables -A FORWARD -o vlan0 -d 10.0.0.0/8 -j ACCEPT
        iptables -A FORWARD -o vlan0 -p tcp --syn -j DROP              
        iptables -A FORWARD -o vlan0 -d ! 192.168.3.0/24 -p udp -j DROP    
        insmod ipt_TTL                                                        
        iptables -t mangle -I FORWARD -p tcp --sport 3689 -j TTL --ttl-set 12
          
             
        ;;   
        stop)      
                                     
        iptables -F                  
        iptables -t nat -F PREROUTING
        iptables -t mangle -F
        rmmod ipt_TTL
        ;;
esac]]></screen><para><emphasis role="strong">Un altro esempio con un firewall un pochino più semplice</emphasis> </para><screen><![CDATA[root@danidaq:~# cat /etc/local.fw 
# Place your firewall addons here
]]><![CDATA[
case $1 in
        start)
        iptables -t nat -D POSTROUTING -o vlan1 -j MASQUERADE
        iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o vlan1 -j MASQUERADE
        rmmod ipt_TTL
        insmod ipt_TTL
        iptables -t mangle -I FORWARD -p tcp --sport 3689 -j TTL --ttl-set 12
        ;;
        stop)
        iptables -F
        iptables -t nat -F PREROUTING
        iptables -t mangle -F
        rmmod ipt_TTL
                        
        ;;
esac
root@danidaq:~# ]]></screen></section><section><title>Workaround: Sono in Tunnel a '''TuscoloMesh''' e non funzionano correttamente i servizi ZeroConf</title><para> Dovete inserire manualmente delle rotte nella tabella di routing per far funzionare le cose. Di default mandate tutto il vostro traffico nel tunnel PPTP, basta mettere delle regole per far transitare tutto il traffico verso IP privati fuori dal tunnel PPTP </para><para>Linux: </para><screen><![CDATA[route add...]]></screen><para>Windows: </para><screen><![CDATA[route add...]]></screen><para>Mac OS X: </para><screen><![CDATA[sudo route add 10.0.0.0/8 gw
sudo route add 172.16.0.0/16 gw
sudo route add 192.168.0.0/16 gw]]></screen></section></section><section><title>Troubleshooting FAQ</title><para><emphasis role="strong">(TODO) -&gt; Questa sezione è ancora da scrivere in Italiano e per ora contiene solo appunti ;)</emphasis> </para><section><title>Vedo i servizi annunciati ma non riesco ad accedervi</title><para>Problemi tecnici:  </para><itemizedlist><listitem><para>Non c'è una rotta per raggiungere quel servizio. </para></listitem><listitem><para>Chi annuncia non ha una rotta per poi rispondervi. </para></listitem><listitem><para>Forse chi annuncia il servizio è dietro NAT, non c'è modo di routarlo. </para></listitem><listitem><para>Forse voi siete dietro NAT e la cosa crea problemi? (dipende dal servizio) </para></listitem></itemizedlist><para>Sintomi: </para><itemizedlist><listitem><para>Vedo persone nella chat (iChat pidgin) ma non riesco a parlarci </para></listitem><listitem><para>Riesco ad usare la chat a senso unico (solo se mi contattano o solo se contatto io, ma non entrambi i casi) </para></listitem><listitem><para>Vedo le playlist in iTunes Banshee ma non riesco a montarle </para></listitem></itemizedlist><para>Risoluzione: </para><itemizedlist><listitem><para>Provate a pingare e fare un traceroute verso la macchina che annuncia il servizio. </para></listitem><listitem><para>Controllate eventuali firewall sui nodi tra voi e la macchina che annuncia il servizio. Usate il traceroute e la pagine <ulink url="http://www.nnx.me/ZeroconfServices/GestioneIndirizzi#">GestioneIndirizzi</ulink> per capire il tratto di rete che attraversate </para></listitem></itemizedlist><para>(problema di multicast non bidirezionale, il meccanismo di mDNS non funziona) -&gt; Debug con Bonjour Browser, da l'errore can't resolve link address. Chi da il servizio riesce ad annunciarlmelo in multicast ma poi non ha la rotta unicast per offrirmelo. -&gt; Debug, riesco a pingare la macchina che annuncia il servizio? </para></section><section><title>Gli altri vedono i miei servizi, ma io non vedo quelli degli altri</title><para>Problemi tecnici: </para><itemizedlist><listitem><para>Succede spesso quando non parlate OLSR sul vostro PC. Annunciate servizi nella vostra subnet, ed un router raccoglie i pacchetti di multicast su una interfaccia olsr enabled, perchè ha attivato il parametro <code>PlParam &quot;CapturePacketsOnOlsrInterfaces&quot; &quot;yes&quot;</code>. </para></listitem></itemizedlist><para>In questo modo però non mi arriva il Multicast generato dagli altri. </para><para>Risoluzione: </para><para>vedi: &quot;Workaround: Forward multicast to OLSR enabled interface&quot; </para></section></section></section></article>