Italiano English
Modifica History Actions

Differenze per "ZeroconfServices"

Differenze tra le versioni 7 e 40 (in 33 versioni)
Versione 7 del 2007-05-16 01:58:07
Dimensione: 3998
Autore: ZioPRoTo
Commento:
Versione 40 del 2011-11-15 18:44:46
Dimensione: 9090
Autore: ZioPRoTo
Commento:
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 3: Linea 3:
<<TableOfContents>>
Linea 5: Linea 7:
Berlino ci ha aperto gli occhi :) [[BR]]
Grazie alle persone conosciute al WCW2007, abbiamo capito le potenzialità
di zeroconf/avahi/bonjour, se queste tecnologie vengono portate su una mesh OLSR con il BMF-plugin
Installando sul proprio nodo l'mDNS plugin è possibile ricevere sulla propria sottorete traffico mDNS
Linea 11: Linea 11:
 * DAAP Music Sharing
  * iTunes per MacOS X o Windows
  * Rhytmbox per Linux
 * DAAP Music Sharing (client & server)
  * iTunes per Mac OS X o Windows http://www.apple.com/it/itunes/
  * Rhythmbox per Linux http://www.gnome.org/projects/rhythmbox/
  * Amarok per Linux http://amarok.kde.org/
  * KDE (aprire l'URL {{{daap:/}}})
  * Banshee http://banshee-project.org/Main_Page
 * DAAP Music Sharing (only server)
  * iTunes (vedi sopra)
  * Tangerine per Windows, Linux e Mac Os X (solo intel, Bug su Mac Os X per ppc) http://www.snorp.net/log/tangerine
  * mt-daap (guida sul wiki gentoo: http://gentoo-wiki.com/HOWTO_Apple_ITunes_Server)
  * windaapd http://www.rustydust.net/cgi-bin/wiki.pl?WinDaapd
Linea 15: Linea 23:
  * iChat per MacOS X o
  * Pidgin per Linux.
  * Not yet Windows support!)
  * iChat per Mac OS X http://www.apple.com/it/ichat/
  * Kopete per KDE http://kopete.kde.org/
  * Pidgin per Linux http://www.pidgin.im/
  * Miranda per Windows http://xurble.org/projects/2005/04/rendezvous-protocol-for-miranda.html
 * Altre chat/voice/video
  * Ekiga softphone (Gnome) http://www.ekiga.org/
Linea 19: Linea 30:
  * Safari su MacOS X   * Safari su Mac OS X http://www.apple.com/it/safari/
Linea 22: Linea 33:
  * Fugu su MacOS X   * Fugu su Mac OS X http://rsug.itd.umich.edu/software/fugu/
 * VPN via zeroconf
  * Zerospan http://www.zerospan.org/
 * Self discovery FTP servers
  * kftpgrabber (KDE) http://kftpgrabber.sourceforge.net/
 * Self discovery shared desktops
  * krfb & krdc (KDE) http://docs.kde.org/stable/en/kdenetwork/krfb/index.html
 * Self discovery shared folders
  * kpf (KDE) http://docs.kde.org/development/en/kdebase/userguide/networking.html#file-sharing-kpf
  * Gshare (Gnome) http://yimports.com/~cpinto/projects/gnome/gshare
  * Chungles http://www.chungles.com/
 * Shared bookmarks
  * Epiphany http://www.gnome.org/projects/epiphany/
 * Collaborative editing:
  * Mateedit (KDE) http://mateedit.sourceforge.net/
  * Gobby (Linux, Mac OS, Windows) http://darcs.0x539.de/trac/obby/cgi-bin/trac.cgi
 * Giochi:
  * kbattleship, kwin4, lskat (KDE) http://docs.kde.org/stable/it/kdegames/

'''Nota sul DAAP music sharing con iTunes 7'''

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).
Linea 25: Linea 60:

== Screenshots ==

 [[/screenshots|./screenshots]]

== Come scoprire i servizi ==

Se avete Mac OS X basta scaricare uno dei seguenti programmi:

 * Observation Post http://www.fernlightning.com/doku.php?id=software:op:start
 * Bonjour Browser http://www.tildesoft.com/Files/BonjourBrowser.dmg

Se avete '''Linux''':
 * scaricate '''Avahi''', ed usate il suo browser http://avahi.org/
 * in KDE provate ad aprire l'URL {{{zeroconf:/}}} http://wiki.kde.org/tiki-index.php?page=Zeroconf+in+KDE
Linea 37: Linea 88:
Esistono diverse configurazioni, in ogni caso
occorre avere sul proprio nodo l'ultima versione di OLSR, o cmq una versione della serie 0.5.x
con il Bmf plugin attivato. Esiste il bmf plugin anche per le versioni precedenti di OLSR ma non funziona.
Per completezza serve una versione del plugin bmf >= alla 1.3

Per prima cosa è cosa buona leggere questo documento per intero: attachment:bmfreadme.txt

Nell'attesa del pacchetto ipkg di olsr 0.5.x per OpenWRT o Freifunk,[[BR]]
potete compilare da voi seguendo le istruzioni alla pagina CrossCompile[[BR]]
o potete usare questa tarball http://zioproto.ninux.org/download/olsrd-0.5.0-mips-wrt54g.tar.gz

su Freifunk Firmware
{{{
ipkg install kmod-tun
ipkg install libpthread
ipkg install iptables-extra
cd /
wget http://zioproto.ninux.org/download/olsrd-0.5.0-mips-wrt54g.tar.gz
killall olsrd
rm /usr/sbin/olsrd
rm /usr/lib/olsr*
tar -zxvf olsrd-0.5.0-mips-wrt54g.tar.gz
insmod tun
/etc/init.d/S53olsrd restart
}}}

Se avete una versione di '''Freifunk della serie 1.2.x'''

Questa è la configurazione da avere sul vostro /etc/local.olsrd.conf [[BR]]
Ovviamente leggete attachment:bmfreadme.txt per i dettagli

{{{
LoadPlugin "olsrd_bmf.so.1.3"
{
PlParam "NonOlsrIf" "vlan0"
PlParam "CapturePacketsOnOlsrInterfaces" "yes"
}
}}}

Se avete una versione di '''Freifunk della serie 1.4.x''' dovete modificare
il file /etc/init.d/S53olsrd e trovare
{{{olsrd_bmf.so.1.x}}}
e modificare in
{{{olsrd_bmf.so.1.3}}}
poi andate all'interfaccia web di amministrazione e nella schermata di olsr attivate il bmf plugin

Su OpenWRT dovrebbe essere tutto molto più semplice perchè vi basta editare /etc/olsrd.conf in quanto
gli script in /etc/init.d/ non vi modificano i files di config pescando valori dall'NVRAM

Se tutto funziona correttamente avete una interfaccia '''bmf0''' sul vostro router! Dovreste iniziare a vedere
i servizi annunciati in rete.

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
Scaricate una versione recente di OLSR e leggete il README dell'mDNS plugin

=== Workaround: Override iTunes TTL packets limit ===

'''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'''
Linea 94: Linea 97:
iptables -t mangle -I INPUT -p tcp --dport 3689 -j TTL --ttl-set 12
Linea 96: Linea 98:
iptables -t mangle -I INPUT -p tcp --dport 3689 -j TTL --ttl-set 12 }}}

Esempio su AIROS Sburratone 3

{{{
insmod iptable_mangle
insmod ipt_TTL
Linea 101: Linea 109:
== Come scoprire i servizi ==

Se avete Mac OS X basta scaricare uno dei seguenti programmi:

 * Observation Post http://www.macs.hw.ac.uk/~rpointon/osx/op.html
 * Bonjour Browser http://www.tildesoft.com/Files/BonjourBrowser.dmg

Se avete Linux scaricate Avahi, ed usate il suo browser http://avahi.org/
Per esempio ecco il mio '''/etc/local.fw''' sul mio AP con Freifunk
{{{
# Place your firewall addons here

case $1 in
        start)

        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

}}}

'''Un altro esempio con un firewall un pochino più semplice'''

{{{
root@danidaq:~# cat /etc/local.fw
# Place your firewall addons here

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:~#
}}}


=== Workaround: Sono in Tunnel a '''TuscoloMesh''' e non funzionano correttamente i servizi ZeroConf ===

<<ev1(Da finire)>>
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

Linux:
{{{
route add...
}}}

Windows:
{{{
route add...
}}}

Mac OS X:
{{{
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
}}}


== Troubleshooting FAQ ==

'''(TODO) -> Questa sezione è ancora da scrivere in Italiano e per ora contiene solo appunti ;)'''

=== Vedo i servizi annunciati ma non riesco ad accedervi ===

Problemi tecnici:

 * Non c'è una rotta per raggiungere quel servizio.
 * Chi annuncia non ha una rotta per poi rispondervi.
 * Forse chi annuncia il servizio è dietro NAT, non c'è modo di routarlo.
 * Forse voi siete dietro NAT e la cosa crea problemi? (dipende dal servizio)

Sintomi:

 * Vedo persone nella chat (iChat pidgin) ma non riesco a parlarci
 * Riesco ad usare la chat a senso unico (solo se mi contattano o solo se contatto io, ma non entrambi i casi)
 * Vedo le playlist in iTunes Banshee ma non riesco a montarle

Risoluzione:

 * Provate a pingare e fare un traceroute verso la macchina che annuncia il servizio.
 * Controllate eventuali firewall sui nodi tra voi e la macchina che annuncia il servizio. Usate il traceroute e la pagine GestioneIndirizzi per capire il tratto di rete che attraversate


(problema di multicast non bidirezionale, il meccanismo di mDNS non funziona) -> 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. -> Debug, riesco a pingare la macchina che annuncia il servizio?


=== Gli altri vedono i miei servizi, ma io non vedo quelli degli altri ===

Problemi tecnici:
 * 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 {{{PlParam "CapturePacketsOnOlsrInterfaces" "yes"}}}.
In questo modo però non mi arriva il Multicast generato dagli altri.

Risoluzione:

vedi: "Workaround: Forward multicast to OLSR enabled interface"

Servizi Zeroconf di Ninux.org

Descrizione dei servizi

Installando sul proprio nodo l'mDNS plugin è possibile ricevere sulla propria sottorete traffico mDNS

Attualmente sulla rete Ninux.org sono disponibili i seguenti servizi distribuiti in multicast DNS

Nota sul DAAP music sharing con iTunes 7

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

siete tutti invitati ad aggiornare questa lista, quando scoprite un nuovo software che supporta Bonjour o Avahi :)

Screenshots

Come scoprire i servizi

Se avete Mac OS X basta scaricare uno dei seguenti programmi:

Se avete Linux:

Come funziona?

I servizi vengono annunciati dai server utilizzando il Multicast, non esiste quindi un server centrale ma tutto è distribuito.

Forse volete leggere questa pagina http://it.wikipedia.org/wiki/Zeroconf che è un buon punto di partenza per capire di che si parla.

Molte stampanti di rete ed altro hardware hanno supporto nativo per Zeroconf !

Come configurare il nodo

Scaricate una versione recente di OLSR e leggete il README dell'mDNS plugin

Workaround: Override iTunes TTL packets limit

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

insmod ipt_TTL
iptables -t mangle -I FORWARD -p tcp --sport 3689 -j TTL --ttl-set 12

Esempio su AIROS Sburratone 3

insmod iptable_mangle
insmod ipt_TTL
iptables -t mangle -I FORWARD -p tcp --sport 3689 -j TTL --ttl-set 12

Per esempio ecco il mio /etc/local.fw sul mio AP con Freifunk

# Place your firewall addons here

case $1 in
        start)

        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

Un altro esempio con un firewall un pochino più semplice

root@danidaq:~# cat /etc/local.fw 
# Place your firewall addons here

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:~# 

Workaround: Sono in Tunnel a '''TuscoloMesh''' e non funzionano correttamente i servizi ZeroConf

Da finire 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

Linux:

route add...

Windows:

route add...

Mac OS X:

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

Troubleshooting FAQ

(TODO) -> Questa sezione è ancora da scrivere in Italiano e per ora contiene solo appunti ;)

Vedo i servizi annunciati ma non riesco ad accedervi

Problemi tecnici:

  • Non c'è una rotta per raggiungere quel servizio.
  • Chi annuncia non ha una rotta per poi rispondervi.
  • Forse chi annuncia il servizio è dietro NAT, non c'è modo di routarlo.
  • Forse voi siete dietro NAT e la cosa crea problemi? (dipende dal servizio)

Sintomi:

  • Vedo persone nella chat (iChat pidgin) ma non riesco a parlarci
  • Riesco ad usare la chat a senso unico (solo se mi contattano o solo se contatto io, ma non entrambi i casi)
  • Vedo le playlist in iTunes Banshee ma non riesco a montarle

Risoluzione:

  • Provate a pingare e fare un traceroute verso la macchina che annuncia il servizio.
  • Controllate eventuali firewall sui nodi tra voi e la macchina che annuncia il servizio. Usate il traceroute e la pagine GestioneIndirizzi per capire il tratto di rete che attraversate

(problema di multicast non bidirezionale, il meccanismo di mDNS non funziona) -> 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. -> Debug, riesco a pingare la macchina che annuncia il servizio?

Gli altri vedono i miei servizi, ma io non vedo quelli degli altri

Problemi tecnici:

  • 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 PlParam "CapturePacketsOnOlsrInterfaces" "yes".

In questo modo però non mi arriva il Multicast generato dagli altri.

Risoluzione:

vedi: "Workaround: Forward multicast to OLSR enabled interface"