Newsgroup: it.comp.os.linux.iniziare
Titolo: Dispositivi embedded con Linux in lan che comunicano ad un server

Salve,
 
il topic è mal posto ora vi spiego, di seguito le ipotesi:
 
1) Avere "x" dispositivi tipo rasberry in una rete lan con a bordo una 
versione embedded di Linux;
2) Questi dispositivi devono essere raggiunti da un server e loro devono 
raggiungere il server per trasmettere\ricevere files in ftp;
3) I dispositivi per comodità ricevono l'ip da un server dhcp su router 
e non su server perché su di esso non può essere installato;
4) Tutti i dispositivi vengono massivamente caricati con la stessa immagine.
 
Le problematiche potrebbero essere:
 
1) Se l'applicativo sul server non conosce l'ip del dispositivo embedded 
come fa ad inviargli i pacchetti? Il contrario ovviamente potrebbe 
avvenire in maniera corretta!
2) Essendo presenti più dispositivi con la stessa immagine come si 
potrebbe personalizzare in automatico ad esempio il nome host?
3) Per comodità chi dovesse far manutenzione su questi dispositivi (nel 
caso perdano la memoria!) dovrebbe "semplicemente" infilare la SD card 
standard e poi la configurazione dovrebbe avvenire in automatico.
4) Si potrebbe impostare un qualche script che ad esempio in base al mac 
address calcoli un nome host univoco poi quando questo dovesse 
comunicare con il server gli potrebbe inviare i dati (ip ed host) e 
l'applicativo lato server basterebbe che leggesse tali dati...
 
Ovviamente tutto questo funziona ma assegnando a mano nome host ed 
indirizzo ip per ogni dispositivo.
 
Saluti.
^Bart

 l'applicativo lato server basterebbe che leggesse tali dati... 
 
va bene, ma allora se implementi a mano un meccanismo per cui i dispositivi si annunciano al server allora alla domanda 1 ti sei già risposto. 

 
 
Ipotizzo... vorrei che tutti i miei dispositivi (il cui numero massimo 
sarà circa di venti su ogni lan) partano da 192.160.1.100 fino a 
192.168.1.120, il range del dhcp è da 192.168.1.200 a 192.168.1.220 
appena un dispositivo ha un ip dato dal dhcp questo diventi statico, 
"scali" di numero per rientrare nel range che dico io ed abbia uno 
specifico host ovviamente univoco tipo "DIPOSITIVO-01,02,03 etc."
 
L'unico elemento di univocità su cui fare riferimento è il mac address 
di ogni dispositivo perché ad esempio se non vi fosse un server in 
quella specifica lan e momentaneamente non dovesse esserci rete internet 
l'indirizzo di rete e l'host devono comunque essere portati a termine.
 
Credo che con uno script da far girare come servizio si riesca ad 
ottenere tutto questo ma bisogna studiarselo\provarselo bene...
 
Saluti.
^Bart

 avvenire in maniera corretta!
 
Non ho la risposta ma chiedo perché non ho capito una cosa.
In origine i "satelliti" raspberry non hanno alcun sistema
operativo preinstallato?
Cioè una volta accesi il router dovrebbe dargli un ip e il
server caricare su ciascuno di loro l'immagine standard?
 
Oppure c'è l'omino che carica almeno al primo giro l'immagine
linux sul raspberry e il server dovrà averci a che fare solo
in secondo tempo, magari per farci aggiornamenti di pacchetti,
aggiungere altra roba e gestire ovviamente il via vai di file
come diveci via ftp?
 
Ma forse c'è un modo per far si che una macchina, diciamo
"master" della rete possa fare un check delle altre interfacce
di rete attive sulla LAN...
A quel punto se ci sono solo raspberries tutti uguali, forse
non è così importante sapere qual è l'ip di ciascuno in modo
univoco:
 
- controllo chi c'è in lan
- trovo N ip (N raspberries)
- per ciascuno degli ip trovati (che quindi ora io server conosco)
- invio l'immagine linux standard
 
Se l'immagine è preimpostata per non configurare l'ip in modo
particolare, ma è fatta in modo che lo riceva da dhcp dovrebbe
semplicemente "adattarsi" agli ip che il router ha già assegnato
alle varie interfacce.
 
Sinceramente il dubbio che ho è se sia possibile assegnare un ip
ad un'interfaccia che sta su una macchina acccesa, ma sulla quale
non gira alcun sistema operativo...
 
Forse è lo stesso caso di cui parlavano qui, non l'ho letto tutto:
https://serverfault.com/questions/472379/remote-linux-installation-over-the-network/472445
 

 
https://serverfault.com/questions/472379/remote-linux-installation-over-the-network/472445
 
 
Per fortuna non devo arrivare a tanto! :)
 
Ogni altro consiglio o pensiero "a voce alta" è ben accetto! :)
 
Saluti!
^Bart
 

 indirizzo ip per ogni dispositivo.
 
Non capisco allora dove stia il problema. Lasciando perdere gli
hostname, ti basterebbe sul router assegnare per ogni dispositivo un Ip
privato statico. 
Credo che potresti ottenere ciò anche solo settando sul router i mac
address della ventina di raspberry che disponi e a quel punto ad ognuno
di loro sarebbe assegnato sempre lo stesso Ip statico.
 
 
P.S.: l'argomento che hai proposto mi pare presupponga un uso di Linux
piuttosto avanzato: it.comp.os.linux.sys secondo te che ci sta a fare?
 
-- 
sshfs
https://tonyborlini.goline.it/it/sshfs
 
 

 piuttosto avanzato: it.comp.os.linux.sys secondo te che ci sta a fare?
 
Non lo conoscevo, lo aggiungo alla discussione.
 
Saluti.
^Bart
 

 indirizzo ip per ogni dispositivo.
 
Non e` necessario.
 
bye,
 
-- 
 
piergiorgio

 bye,
 
Saluti!
^Bart
 

 sarà il dhcp a fare tutto il lavoro di "unicizzazione" dello stesso...
 
Per prima cosa, quello era solo un esempio.
 
Secondo, se un RPi muore, deve essere anche
de-registrato dal server.
 
Quindi si deve prevedere un watchdog o timeout
in base al quale il server disconosce un RPi
che, per esempio, non risponde piu`.
E magari invia un allarme a qualcuno.
 
Vi possono essere anche altre situazioni, che
al momento non mi vengono in mente, per cui si
debba fare qualche pulizia della lista di
registrazione dei dispositivi nel server.
 
Questo perche` il nuovo dispositivo che si
aggiunge potrebbe avere, sicuramente avra`,
un nome ed IP diverso da quello che si
sostituisce.
 
Senza considerare poi un eventuale necessita`,
dipende dall'applicazione, di conservare lo
stato di tutti questi ~20 RPi.
 
bye,
 
-- 
 
piergiorgio

 la stessa immagine.
 
Premetto che di reti me ne intendo poco e ad esempio io su
it.comp.os.linux.sys lurkerei soltanto, ubi maior minor cessat, ma visto
che siamo su .iniziare mi permetto di dire come la so io e sarei ben
felice nel caso fossi smentito, che in definitiva ne imparerei una in
più io:
 
a me sembra che usare sul router il mac address sia una procedura
semplice e che il bello stia che una volta fatta è per sempre, cioè la
prima volta che colleghi un nuovo dispositivo lo devi per forza
abilitare col suo mac address ma da lì in poi lo potrai staccare e
riattaccare finché vorrai, ed ogni volta sarà sempre riconosciuto ed
otterrà sempre l'IP che il DHCP del router gli ha dato la prima volta
che lo hai abilitato. Mi sembra un modo di fare sicuro e poco
macchinoso...
 
 

 macchinoso...
 
Se si trattasse di un router ti potrei dare ragione ma se hai 200 router 
con "X" dispositivi connessi ad ognuno di essi quello che tu proponi è 
impossibile soprattutto in un'ottica di manutenzione per cui la 
configurazione dei router dev'essere tutta uguale ed anche quella dei 
dispositivi con linux a bordo perché l'utente finale deve semplicemente 
staccare e riattaccare qualcosa che non va senza dover avere conoscenze 
in campo informatico.
 
Come si trova quindi la quadra? Solo ed esclusivamente lato dispositivo 
con linux.
 
Saluti.
^Bart

 con linux. 
 
allora... risposta breve: non c'è la quadra.
 
risposta lunga: stai adottando una soluzione sbagliata che per quanto la rimpasti resta sbagliata. 
 
se adotti una soluzione client/server, come ftp, devi avere dei client che fanno i client e il server che fa il server. punto. vuoi rimanere su ftp? metti a punto un protocollo di scambio in cui solo i client si connettono al server e non viceversa. altrimenti ciccia, ftp non è la strada giusta.
 
in scenari che hai descritto, con server che devono inviare push informazioni a client non noti a priori, hai voglia se esistono soluzioni adatte. mqtt è un esempio. il concetto è che in questi casi non puoi avere un accoppiamento rigido quindi devi disaccoppiare, come si fa regolarmente nell'iot.
 
se vuoi puoi continuare su quella strada e arrabattarti su mille problemi e mille altri che verranno fuori sul campo, per arrivare (se va bene) ad una soluzione che sta in piedi solo se tira vento da quattro parti. perdona la brutalità ma non è così che si fanno i progetti, le cose o si fanno per bene o non si fanno. adesso obietterai che hai mille paletti, ma se i paletti sono troppo stretti e non ci si passa ad un certo punto bisogna anche alzare la mano.