[ninux-dev] [Ninuxoo] Output mdns: forse ce l'abbiamo fatta

Alessandro Gubitosi gubi.ale at gotanotherway.com
Tue Dec 3 21:14:47 CET 2013


Il 03/12/2013 16:36, Clauz ha scritto:
> On 12/03/2013 12:14 AM, Gabriel wrote:>
>> > con il comando che diceva Clauz evitiamo di doverci scrivere il
>> > programma che parla su socket.
>> > Con crond e awk si fa eseguire e parsare ogni tot, e ninuxoo va a
>> > leggere il file con gli ip degli altri nodi-ninuxoo.
>> > 
>> > Servirebbe un altro comando per annunciare il servizio con avahi.
>> > 
>> > 
>> > @Clauz conosci il comando?
> Ho visto che esiste avahi-publish, che dovrebbe fare al caso nostro, ma
> non l'ho mai usato.
Allora,
ho fatto approfondimenti e mi pare funzionare:

 1. Ogni NAS deve avere avahi installato con questa config:
      * Path: /etc/avahi/services/sap.service
      * Contenuto:
        <?xml version="1.0" standalone='no'?><!--*-nxml-*-->
        <!DOCTYPE service-group SYSTEM "avahi-service.dtd">
        <service-group>
          <name replace-wildcards="yes">{NOME PROPRIETARIO}</name>
          <service>
            <type>_sap._udp</type>
            <port>64689</port>
            <txt-record>Hello guys I'm a Ninuxoo device</txt-record>
          </service>
        </service-group>
 2. Per trovare quindi gli altri NAS basterà lanciare questo comando:
    avahi-browse _sap._udp -rpt


*SPIEGAZIONE*
In pratica ogni NAS annuncerà "Hello guys I'm a Ninuxoo device" in
protocollo SAP via udp, sulla porta 64689.
Il campo NOME PROPRIETARIO è arbitrario e serve per far capire agli
altri ninuxiani di chi è quel nas.
Ciclicamente (secondo le impostazioni del proprietario del NAS), il
device farà un check (punto 2) e invierà una mail al suo proprietario
con un report.
Se quindi si indica di collegare un altro NAS si avvia lo scambio chiavi
RSA e l'operazione sarà conclusa quando il proprietario dell'altro NAS
avrà accettato [1].
Una volta agganciati i NAS comunicheranno con costanza e in maniera cifrata.
Ad esempio: quando faccio una ricerca, il mio NAS cercherà via mdns
tutti gli altri, ne risolverà l'ip e invierà una richiesta di ricerca
locale. Se i token corrispondono si otterranno risultati che saranno
quindi aggiunti alla gui come stessero in locale, diversamente una
risposta del tipo "ma che vòi" :D

In tutti i processi solo le macchine sapranno gli indirizzi IP (che
saranno comunque cifrati).
Se un device cambia hostname o indirizzo non ce ne frega nulla perché il
tutto si associa alla sua chiave rsa pubblica.
Cambiando chiave RSA bisognera far ricollegare tutti i NAS conosciuti
(che marcheranno quella vecchia come revocata).

*Note*
1.
https://github.com/gubi/Ninuxoo-Semantic-Decentralized/wiki/Tokens-e-processo-di-scambio-chiavi-tra-device#facciamo-amicizia

Ce piace?
@Clauz e @Gabriel +1
Gubi

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://ml.ninux.org/pipermail/ninux-dev/attachments/20131203/25459d32/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 555 bytes
Desc: OpenPGP digital signature
URL: <http://ml.ninux.org/pipermail/ninux-dev/attachments/20131203/25459d32/attachment-0001.sig>


More information about the ninux-dev mailing list