[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