Newsgroup: it.comp.reti.locali
Titolo: Domanda particolare sul NAT (linux debian e derivate)

Cerco di essere sintetico, i dettagli se me li chiedete.
 
Nella rete locale di casa, ho diverse ipcam che però sono bloccate sia in
ingresso che in uscita ad accedere ad internet, dal firewall del router.
 
Ho un raspberry che ha un server http che uso come "facciata", un server ssh
(non sulla 22).
 
Il router ha un forwarding della 80 e della ssh (non 22) sul raspberry.
 
Quando voglio accedere ad una ipcam da remoto, accedo all'ip di casa in ssh
(solo chiave + passfrase, no password), aprendo una shell bash.
 
Attivo uno script che tra le tante cose, contiene:
 
-------------
sudo iptables -t nat -A PREROUTING -s ${SRC} -p tcp --dport $WANPORT -j DNAT --to $IP_CAM:$CAMPORT
sudo iptables -t nat -A POSTROUTING -d $IP_CAM -p tcp --dport $CAMPORT -j SNAT --to $RASPY
-------------
 
Dove SRC è l'ip remoto (hotel), WANPORT è la porta 80 del router, IP_CAM è
l'ip lan della cam a cui voglio accedere CAMPORT è la porta (80 o 81) della
cam e RASPY è l'ip della lan del raspberry che uso da ponte.
 
Col browser del pc, punto all'ip di casa ed accedo direttamente alla cam.
 
Funziona, ma ha un teorico (ma mica tanto problema)!
 
Dallo stesso ip dell'hotel escono tutti i clienti, per cui chiunque potrebbe
accedere alla mia cam in quel momento!
 
Però chi accede in http e non appartiene a quell'ip, vede il server web e non
la cam.
 
Nella variabile di shell $SSH_CLIENT dello script, compare l'ip hotel, la
porta (alta) di uscita del mio pc che sto usando in quel momento e la porta a
cui accedo in ssh al raspberry (dentro la lan, che è diversa da quella che
accedo da internet al mio router di casa)..
 
In quelle righe di iptables si riesce a fare in modo che il nat oltre ad esser
attivo per quell'ip, valga solo per quel dispositivo (mio pc) che esce con
quella specifica porta?
 
 
 
NOTA: Di norma, dal browser del mio pc uso un tunnel ssh.
 
La problematica di cui sopra, è di emergenza o per lo smartphone android, che
ha un client ssh, ma non sono riuscito a capire come creare il tunnel!
 
 
-- 
.!. !sdohtem noitpyrcne devorppa-tnemnrevog troppus I
--- Terminate 4.00
* Origin: Biolus Green point (2:334/501.33)

 esce con quella specifica porta?
 
Non sono sicuro di aver capito, comunque nella variabile di
ambiente $SSH_CONNECTION hai anche la porta TCP di origine, quindi puoi
filtrare con quella.
 
-- 
Ciò che si vede, è.
 

> In quelle righe di iptables si riesce a fare in modo che il nat oltre ad
 
Si, è quello che vorrei, ma devo agire solo per quelle regole nat,
 non globalmente perché posso avere altre connessioni ssh aperte
 da quel ip, o da altri ip che si connettono in automatico.
Quello che non ci arrivo è come intervenire...
-- 
Cin cin

> La problematica di cui sopra, è di emergenza o per lo smartphone
 
Allen, io da autodidatta di grazia sono arrivato lì!
In questo periodo ho tanti cazzi di problemi familiari che vorrei
 tanto appiopparteli a te!!!
 
-- 
Cin cin

 
Stai scrivendo che tu puoi, lui no?
 
 

 (solo chiave + passfrase, no password), aprendo una shell bash.
 
La tua problematica l'ho risolta da anni "semplicemente" installando 
OpenVPN che gira ovunque ed usando ottime app su smartphone come Tinycam.
 
Forse avrò capito male io ma imho ti stai complicando la vita a fronte 
di soluzioni già esistenti.
 
Quando ho iniziato io a fare quello che tu vuoi fare oggi dovevo farmi 
il dump delle cooked rom degli smartphone (vedi Galaxy S2) per poi 
ricompilarne il kernel e crearmi il file tun.ko che mi permetteva di 
tirare su OpenVPN ora, come già scritto sopra, è tutto pressoché fatto.
 
Ribadisco... forse mi sfugge qualcosa perché a me la tua problematica 
sembra di facile risoluzione.
 
Saluti.
^Bart
 
 

> ingresso che in uscita ad accedere ad internet, dal firewall del router.
 
Già uso un tunnel ssh per fare passare il traffico, però è lento e
 debbo abbassare il frame rate delle cam.
Un raspberry non è una scheggia!
Con quel sistema, la connessione è veloce, e permette di
 mascherare un accesso alla cam dall'esterno, senza avere sempre
 le cam esposte in internet.
Ovvio che lo attivo e disattivo solo per il tempo necessario al
 mio collegamento!
 
Ciao.
 
-- 
Cin cin

 Ciao.
 
Saluti.
^Bart