Aiuto configurazione ipcam su robottino

10 risposte [Ultimo contenuto]
Ritratto di dbzladsl
dbzladsl
(Junior)
Offline
Junior
Iscritto: 10/03/2010
Messaggi: 6

Ciao a tutti!
scrivo questo primo post perchè ho un grave problema da risolvere relativo alla comunicazioni tra sottoreti diverse.
Descrivo il problema:
in seguito a un mio progettino personale di robottino, mi sono dotato di un pc embedded TS-7800 con debian (http://www.embeddedarm.com/products/board-detail.php?product=TS-7800) che rappresenta il cuore del mio sistema (ip 192.168.1.179). Esso si collega via wireless al mio router di casa che ha indirizzo 192.168.1.1 mentre l'interfaccia ethernet (ETH0) è utilizzata per collegarvi una ipcamera che ha indirizzo ip 10.0.0.11.
dalla TS-7800 riesco ad accedere e a pingare correttamente la ipcam utilizzando un'apposita configurazione del file /etc/network/interfaces e ad essa riesco ad accedere e pingare tramite il mio pc portatile windows vista (collegato alla rete via wireless con ip 192.168.1.4, router 192.168.1.1) lanciando ad ogni avvio del pc il comando "route add 10.0.0.11 mask 255.0.0.0 192.168.1.179).
La mia domanda è:
Posso impostare la scheda TS-7800 in modo che il pc windows riesca a collegarsi e pingare la ip cam senza dove usare il comando "route add ..."???
Ho provato a dilettarmi con le iptables ma ammetto che sto andando molto alla cieca... Qualcuno sa aiutarmi? Vi prego, non so più come fare e per me sarebbe importantissimo non dover utilizzare il comando da windows "route add ..."...
Vi prego datemi una mano se potete!
Grazie!
Daniele
PS: allego il mio file /etc/network/interfaces .

AllegatoDimensione
interfaces.txt424 byte
Ritratto di pietro
pietro
(Collaboratore)
Offline
Collaboratore
Iscritto: 30/06/2005
Messaggi: 1124

Se devi mantenere la IP cam su un'altra sottorete non vedo altra strada che aggiungere un routing statico per raggiungerla: il PC Windows non sa dove si trovi la telecamera, qualcuno dovra' pur dirglielo...

Alternativamente potresti provare a:

- configurare la telecamera sulla sottorete 192.168.1.0
- mettere in bridge le due interfacce della TS-7800, eth0 e wlan0
- configurare il bridge sulla sottorete 192.168.1.0 dandogli l'IP address 192.168.1.179

In questo modo la schedina si comporterebbe come un bridge e dovresti poter essere in grado di raggiungere la telecamera da ogni PC della sottorete. Non garantisco niente, prova e facci sapere.

La configurazione di un bridge e' semplicissima, devi installare le apposite utility e configurare il file interfaces, trovi una miriade di guide in giro..

Pietro

p.s.: vedo che ti diletti con i sistemi embedded: conoscevo la tua scheda, io ho una BeagleBoard che uso come server, potremmo scambiare qualche idea. Tra l'altro ci sono diversi progetti di robottini con la BB (es. http://www.hervanta.com/stuff/Beaglebot)

Debian. Be unique.

Ritratto di dbzladsl
dbzladsl
(Junior)
Offline
Junior
Iscritto: 10/03/2010
Messaggi: 6

Bellissimo quel robottino! Smile
A me piace molto come settore questo di "smanettare" con qualsiasi cosa di elettronico, purtroppo però tra il lavoro e le altre cose il tempo per gli hobby resta molto limitato e soprattuto si concentra nei fine settimana, quindi non c'è mai il tempo di studiare bene tutte le varie soluzioni e le varie strade che si vorrebbero percorrere...
per quanto riguarda i consigli che mi hai dato ti ringrazio profondamente, sei la prima persona che prova a darmi una mano! Ho scritto anche in altri forum dove magari era più tempo che bazziacavo, sperando di ottenere qualche buon consiglio, ma nessuno sembra aver preso in considerazione il mio messaggio...
per la TS7800 penso che l'unica strada che posso percorrere è quella di creare un bridge come mi hai  suggerito tu; il comando "route add"  non lo posso rendere in automatico in windows perchè i programmi che devo utilizzare fanno casini enormi con i diritti di amministratore ecc ecc... quindi più riesco a mettere nel sistema linux della ts 7800, meglio è! Smile
sul bridge avrei una domanda.... per il collegamento alla rete wireless, protetta da chiave wpa, uso i comandi "pre-up iwconfig essid"  e il relativo comando enc direttamente sull'interfaccia bridge (es. pre-up iwconfig br0 mode master essid myessid) o devo abilitare la connessione wlan0?
ti ringrazio! e se posso esserti di aiuto in qualcosa io sono qui!
Grazie!

Ritratto di pietro
pietro
(Collaboratore)
Offline
Collaboratore
Iscritto: 30/06/2005
Messaggi: 1124

I comandi del wireless (tranne l'IP) li devi dare sull'interfaccia wireless, non sul bridge. Su quest'ultimo imposti invece l'IP dopo averci aggiunto le due interfacce.

Ciao

Pietro

Debian. Be unique.

Ritratto di dbzladsl
dbzladsl
(Junior)
Offline
Junior
Iscritto: 10/03/2010
Messaggi: 6

Grazie  mille!!!
Oggi dopo pranzo scrivo il file interfaces e poi lo posto!
Se sbaglio qualcosa perdo le possibilità di collegarmi via eth e wifi giusto? Mi sa proprio che se canno qualcosa poi devo litigare con la seriale!!! ihihihih!!! Smile
Grazie davvero!

Ritratto di pietro
pietro
(Collaboratore)
Offline
Collaboratore
Iscritto: 30/06/2005
Messaggi: 1124

Beh, queste cose le devi fare per forza da seriale poiche' per creare il bridge devi levare gli indirizzi IP alle interfacce fisiche e trasferirne uno al bridge. La mia BeagleBoard ha la seriale costantemente collegata ad un PC fisso: quando devo fare il reboot (es. perche' aggiorno il kernel) mi collego sempre dalla seriale.

Facci sapere se funge. Se hai qualche switch nella tua rete devi dargli tempo di leggere la nuova topologia della rete (di solito bastano meno di 30 secondi) quindi se non i "ping" non funzionano subito aspetta qualche secondo e riprova.

Pietro

Debian. Be unique.

Ritratto di dbzladsl
dbzladsl
(Junior)
Offline
Junior
Iscritto: 10/03/2010
Messaggi: 6

#auto eth0
#iface eth0 inet static
#       address 0.0.0.0
#auto wlan4
#iface wlan4 inet static
#       address 0.0.0.0
#auto br0
#iface br0 inet static
#       address 192.168.1.173
#       network 192.168.1.0
#       netmask 255.255.255.0
#       broadcast 192.168.1.255
#       gateway 192.168.1.1
#       bridge_ports wlan4 eth0
#       pre-up iwconfig wlan4 mode master essid "xxx"
#       pre-up iwconfig wlan4 mode master enc "xxx"
#       pre-up ifconfig br0 up
Ciao, ho fatto un po' di prove per allestire il bridge ma non riesco proprio a mettere su un bridge del cavolo che funzioni! Qui sopra ho riportato il mio file interfaces così come l'ho abbandonato dopo l'ultima prova fatta... Non riesco proprio a uscire sulla rete! Secondo voi ci sono dei grossi errori nel file interfaces di qui sopra?
Ci ho provato in tutti i modi... la prossima strada che mi viene in mente è cercare di aggiungere qualche regola di nat o di ipforwarding...
Specifico che il wireless si connette senza problemi ma non riesco a pingare nessun pc della rete ne tantomeno riesco a pingare il bridge dagli altri pc...
Help! Dont Tell Anyone sono disperato! Smile

Ritratto di mcortese
mcortese
(Moderatore)
Offline
Moderatore
Iscritto: 27/02/2009
Messaggi: 2918

dbzladsl ha scritto:

Secondo voi ci sono dei grossi errori nel file interfaces di qui sopra

Vuoi dire a parte il fatto che è tutto commentato?

Ritratto di dbzladsl
dbzladsl
(Junior)
Offline
Junior
Iscritto: 10/03/2010
Messaggi: 6

sisi a parte quello! è tutto commentato perchè attualmente per dei test ho necessità di avere almeno la rete wireless funzionante! Smile Ho commentato tutto quello per non creare casini!

Ritratto di mcortese
mcortese
(Moderatore)
Offline
Moderatore
Iscritto: 27/02/2009
Messaggi: 2918

Mi sembra che quello che cerchi di fare è un NAT, cioè esportare una sottorete verso una rete più vasta. Si fa con iptables, etc.

Se però non ti interessa forwardare tutto il traffico TCP/TP tra le due reti, ma un solo protocollo predefinito tra due porte note in partenza (ipotizziamo la 9999), hai valutato l'idea di un ponticello fai da te con una coppia di netcat? L'idea è questa:

mkfifo pipe1
mkfifo pipe2
nc -l -k -p 9999 192.168.1.179  <pipe1 >pipe2
nc -s 10.0.0.1 10.0.0.11 9999 <pipe2 >pipe1
  
Il primo nc sta in attesa ascoltando (-l) sulla porta 9999 della wlan e inoltra il traffico tra la rete wireless e le due pipe.
Il secondo nc smista il traffico tra le due pipe e la porta 9999 dell'host 10.0.0.11 a cui si connette partendo dalla eth0 (-s 10.0.0.1).
Ovviamente devi configurare il client della telecamera (sul laptop) per collegarsi all'indirizzo 192.168.1.179, non 10.0.0.11

EDIT: ho corretto i caratteri di ridirezione (maledetto HTML Laughing

Ritratto di dbzladsl
dbzladsl
(Junior)
Offline
Junior
Iscritto: 10/03/2010
Messaggi: 6

Ciao, grazie per il tuo aiuto!
La strada che mi proponi non l'avevo ancora valutata... Di fatto potrebbe andare perchè a me interessa solo che passi il solo traffico di una determitata porta (se non ricordo male la 544) dall'indirizzo 10.0.0.11 all'indirizzo 192.168.179 e che tutti i pc della rete possano collegarsi alla camera...
Provo a studiare la strada del netcat e ti faccio sapere!
Grazie!