Italiano English
Modifica History Actions

Differenze per "ZeroconfServices"

Differenze tra le versioni 1 e 15 (in 14 versioni)
Versione 1 del 2007-05-11 19:49:07
Dimensione: 2006
Autore: ZioPRoTo
Commento:
Versione 15 del 2007-05-18 13:43:32
Dimensione: 7852
Autore: ZioPRoTo
Commento:
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 2: Linea 2:

[[TableOfContents]]
Linea 5: Linea 7:
Berlino ci ha aperto gli occhi. Grazie alle persone conosciute li abbiamo capito le potenzialità
di zeroconf/avahi/ bonjour se queste tecnologie vengono portate su una mesh OLSR con il BMF-plugin
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
Linea 8: Linea 11:
Attualmente sulla rete Ninux.org sono disponibili i seguenti servizi distribuiti Attualmente sulla rete Ninux.org sono disponibili i seguenti servizi distribuiti in multicast DNS
Linea 11: Linea 14:
  * iTunes per MacOS X o Windows
  * Rhytmbox per Linux
  * iTunes per MacOS 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/
Linea 14: Linea 18:
  * iChat per MacOS X o 
  * Pidgin per Linux.
  * Not yet Windows support!)
  * iChat per MacOS X http://www.apple.com/it/ichat/
  * Pidgin per Linux http://www.pidgin.im/
  * Niente di niente per Windows :(
Linea 18: Linea 22:
  * Safari su MacOS X   * Safari su MacOS X http://www.apple.com/it/safari/
Linea 21: Linea 25:
  * Fugu su MacOS X   * Fugu su MacOS X http://rsug.itd.umich.edu/software/fugu/
Linea 23: Linea 27:
siete tutti invitati ad aggiornare questa lista, quando scoprite un nuovo software con queste potenzialità siete tutti invitati ad aggiornare questa lista, quando scoprite un nuovo software che supporta Bonjour o Avahi :)
Linea 30: Linea 34:
Forse volete leggere questa pagina http://it.wikipedia.org/wiki/Zeroconf Forse volete leggere questa pagina http://it.wikipedia.org/wiki/Zeroconf che è un buon punto di partenza per capire di che si parla.
Linea 32: Linea 36:
Molte stampanti di rete ed altro hardware hanno supporto nativo per Zeroconf! Molte stampanti di rete ed altro hardware hanno supporto nativo per Zeroconf !
Linea 36: Linea 40:
Occorre avere sul proprio nodo l'ultima versione di OLSR, o cmq una versione della serie 0.5.x Esistono diverse configurazioni, in ogni caso
o
ccorre avere sul proprio nodo l'ultima versione di OLSR, o cmq una versione della serie 0.5.x
Linea 38: Linea 43:
Per completezza serve una versione del plugin bmf >= alla 1.3
Linea 39: Linea 45:
Se avete un nodo basato su OpenWRT o Freifunk potete compilare da voi seguendo le istruzioni alla pagina CrossCompile
o potete usare questa tarball http://zioproto.ninux.org/download/olsrd-0.5.0-mips-wrt54g.tar.gz per la quale però ancora non c'è documentazione :)
Per prima cosa è cosa buona leggere questo documento per intero: attachment:bmfreadme.txt
Linea 42: Linea 47:
Questa è la configurazione da avere sul vostro olsrd.conf 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

testato 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
rm 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
Linea 45: Linea 73:
Linea 51: Linea 78:
}}}

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.

=== Workaround: Forward multicast to OLSR enables interface ===

Per inoltrare pacchetti di multicast decapsulati su una subnet dovete usare il parametro PlParam "NonOlsrIf" "interface" ma se l'interfaccia che volete usare è in realtà OLSRenabled il parametro verrà ignorato. Per superare questo problema create un alias della vostra interfaccia con un IP fittizio.
{{{
ifconfig eth0:2 5.5.5.5 up
}}}
e poi nel file di configurazione di olsr specificate
{{{
PlParam "NonOlsrIf" "eth0:2"
}}}
soluzione sporca ma funziona, è gia stat notificata agli sviluppatori che includeranno questo workaround nel prossimo README del 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 INPUT -p tcp --dport 3689 -j TTL --ttl-set 12
iptables -t mangle -I FORWARD -p tcp --sport 3689 -j TTL --ttl-set 12
iptables -t mangle -I INPUT -p tcp --dport 3689 -j TTL --ttl-set 12
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 INPUT -p tcp --dport 3689 -j TTL --ttl-set 12
        iptables -t mangle -I FORWARD -p tcp --sport 3689 -j TTL --ttl-set 12
        iptables -t mangle -I INPUT -p tcp --dport 3689 -j TTL --ttl-set 12
        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
Linea 54: Linea 160:
'''Un altro esempio con un firewall un pochino più semplice'''
Linea 55: Linea 162:
{{{
root@danidaq:~# cat /etc/local.fw
# Place your firewall addons here
Linea 56: Linea 166:
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 INPUT -p tcp --dport 3689 -j TTL --ttl-set 12
        iptables -t mangle -I FORWARD -p tcp --sport 3689 -j TTL --ttl-set 12
        iptables -t mangle -I INPUT -p tcp --dport 3689 -j TTL --ttl-set 12
        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:~#

}}}
Linea 58: Linea 190:
Se avete MacOS X basta scaricare il simpatico programmino Bonjour Browser Se avete Mac OS X basta scaricare uno dei seguenti programmi:
Linea 60: Linea 192:
Se avete Linux scaricate Avahi, ed usate il suo browser  * 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/
 * in KDE provate ad aprire l'URL {{{zeroconf:/}}} http://wiki.kde.org/tiki-index.php?page=Zeroconf+in+KDE

Servizi Zeroconf di Ninux.org

TableOfContents

Descrizione dei servizi

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

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

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

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

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 CrossCompileBR o potete usare questa tarball http://zioproto.ninux.org/download/olsrd-0.5.0-mips-wrt54g.tar.gz

testato 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
rm 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.

Workaround: Forward multicast to OLSR enables interface

Per inoltrare pacchetti di multicast decapsulati su una subnet dovete usare il parametro PlParam "NonOlsrIf" "interface" ma se l'interfaccia che volete usare è in realtà OLSRenabled il parametro verrà ignorato. Per superare questo problema create un alias della vostra interfaccia con un IP fittizio.

ifconfig eth0:2 5.5.5.5 up

e poi nel file di configurazione di olsr specificate

PlParam "NonOlsrIf" "eth0:2"

soluzione sporca ma funziona, è gia stat notificata agli sviluppatori che includeranno questo workaround nel prossimo README del 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 INPUT -p tcp --dport 3689 -j TTL --ttl-set 12
iptables -t mangle -I FORWARD -p tcp --sport 3689 -j TTL --ttl-set 12
iptables -t mangle -I INPUT -p tcp --dport 3689 -j TTL --ttl-set 12
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 INPUT -p tcp --dport 3689 -j TTL --ttl-set 12  
        iptables -t mangle -I FORWARD -p tcp --sport 3689 -j TTL --ttl-set 12
        iptables -t mangle -I INPUT -p tcp --dport 3689 -j TTL --ttl-set 12  
        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 INPUT -p tcp --dport 3689 -j TTL --ttl-set 12
        iptables -t mangle -I FORWARD -p tcp --sport 3689 -j TTL --ttl-set 12
        iptables -t mangle -I INPUT -p tcp --dport 3689 -j TTL --ttl-set 12
        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:~# 

Come scoprire i servizi

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

Se avete Linux: