PDA

View Full Version : Devo fare un giro un po' complicato..........


stefanoxjx
03-09-2007, 18:40
Ciao a tutti, avrei necessità di accedere tramite desktop remoto ad un pc windows dietro ad una rete fastweb.
L'unico modo che ho di accedere a tale rete è quella di aprire un tunnel tramite il loro server linux.
Questo trucchetto l'ho usato più volte per accedere al server linux, però mi chiedo se è possibile usarlo anche per accedere alla porta 3389 di un altro pc che si trova all'interno di quella stessa rete.
Secondo voi si può?
Grazie.
Ciao.

le_
03-09-2007, 18:49
Si.

W.S.
03-09-2007, 22:17
si, nello stesso modo.

stefanoxjx
04-09-2007, 12:03
Grazie delle risposte, ma forse sono un po' troppo telegrafiche :mbe:
Ho già fatto tutte le mie prove e se la cosa mi fosse risultata così banale non avrei aperto questa discussione :read:
Viste le vostre risposte molto esaurienti (SI!), mi sono detto che come al solito sono io scemo che non ci arrivo ed ho insistito nel fare ulteriori prove, ma probabilmente sono proprio scemo perchè non riesco a capire il meccanismo.
Ho provato anche a leggere e rileggere la guida di HexDEF6, ma io mi trovo con una situazione diversa e un po' più complicata che provo a spiegarVi:

- Devrei accedere con Desktop Remoto ad un PC con Windows che si trova dietro ad una rete Fastweb con server linux che fa da router e vari servizi ma non ha interfaccia grafica.

- Io posso accedere dalla mia rete ma devo accedere dal mio client perchè il mio server linux che fa sempre da router/firewall ecc. ecc. non ha interfaccia grafica.

Quindi:
http://www.essedisystem.it/image/rdesktop-fastweb.jpg

Secondo voi è fattibile senza che io debba mettere l'interfaccia grafica sul mio server? :D

Spero che la risposta non sia solo "Si!".
Grazie.
Ciao.

le_
04-09-2007, 12:49
Si.

La dimostrazione e` anche qui banale... (<-- cit. numerosi libri di matematica :D :D )

Non mi e` chiara com'e` fatta la rete, comunque se hai una VPN tra i 2 server e` possibile impostare normalmente l'instradamento (route) tra una LAN e l'altra.

Altrimenti per usare i trucchi della nonna si fa col solito port forwarding di ssh, o con stunnel, o rinetd, o con un proxy socks (es. Dante), o col DNAT di iptables...
(se dal "tuo pc" raggiungi gia` il server dall'altra parte, basta ssh/putty senza fare nulla sui server..)

HexDEF6
04-09-2007, 13:45
anche guardando il grafico forse non ho capito bene la situazione della rete...

praticamente tu sei dietro un NAT e vuoi raggiungere un pc dietro un altro NAT..
se puoi accedere al server linux dall'altra parte (in ssh) la faccenda e' semplice,
basta un:

ssh -L $porta_locale:192.168.1.y:$porta_remota utente@server_linux

e ti ritrovi sul tuo pc alla porta $porta_locale la porta remota $porta_remota

se invece non puoi accedere al server linux remoto, puoi fare preventivamente un
ssh -g -R $porta_remota:127.0.0.1:$porta_locale utente@tuo_server_linux
dal computer che vuoi controllare (devi anche controllare che le ultime versioni di ssh abbiano abilitato in sshd_config GatewayPorts yes sul server che vuoi contattare)... e occhio ai timeout
poi dal tuo pc ti colleghi alla $porta_remota sul tuo_server_linux

altra soluzione e' quella di mettere in piedi preventivamente una vpn (tipo con openvpn) mettendo il server sul tuo_server_linux, e facendo partire il client sul pc che vuoi controllare...
o piu' semplice di tutto installi hamachi (ma e' closed source e pure il protocollo non so come funzioni) sul tuo pc e sul pc che vuoi controllare (questo crea una vpn che funziona anche con entrambi i computer dietro a NAT)

Ciao

stefanoxjx
04-09-2007, 14:30
anche guardando il grafico forse non ho capito bene la situazione della rete...

praticamente tu sei dietro un NAT e vuoi raggiungere un pc dietro un altro NAT..
se puoi accedere al server linux dall'altra parte (in ssh) la faccenda e' semplice,
basta un:

ssh -L $porta_locale:192.168.1.y:$porta_remota utente@server_linux

e ti ritrovi sul tuo pc alla porta $porta_locale la porta remota $porta_remota

se invece non puoi accedere al server linux remoto, puoi fare preventivamente un
ssh -g -R $porta_remota:127.0.0.1:$porta_locale utente@tuo_server_linux
dal computer che vuoi controllare (devi anche controllare che le ultime versioni di ssh abbiano abilitato in sshd_config GatewayPorts yes sul server che vuoi contattare)... e occhio ai timeout
poi dal tuo pc ti colleghi alla $porta_remota sul tuo_server_linux

altra soluzione e' quella di mettere in piedi preventivamente una vpn (tipo con openvpn) mettendo il server sul tuo_server_linux, e facendo partire il client sul pc che vuoi controllare...
o piu' semplice di tutto installi hamachi (ma e' closed source e pure il protocollo non so come funzioni) sul tuo pc e sul pc che vuoi controllare (questo crea una vpn che funziona anche con entrambi i computer dietro a NAT)

Ciao

Ti ringrazio dell'esauriente risposta, ma ho fatto un po' di prove con queste ultime info e non sono ancora riuscito a concludere :stordita:
Cerco di spiegare meglio perchè probabilmente per me lo schema è chiaro ma visto che in due non avete capito la situazione vuol dire che non lo è affatto :cry:
Allora......... io ho la mia rete con i vari client che sono collegati alla porta lan del mio server linux che a sua volta è collegato tramite porta wan su internet con ip pubblico.
Il mio server linux è raggiungibile da internet, ma non è sulla mia rete che ho il problema :(
Devo raggiungere tramite desktop remoto (porta 3389) un pc che è su una rete dove c'è sempre un server linux con i client collegati alla porta lan e lo stesso (server linux) è collegato tramite una porta wan sul router di fastweb.
Quest'ultimo non ha ip pubblico e quindi dall'esterno non è raggiungibile.
Le normali sessioni ssh su quel server linux, riesco a gestirle senza problemi tramite la solita procedura:

Dal server dietro fastweb:
ssh -R 2000:127.0.0.1:22 login@tuamacchina

Dal mio server:
ssh [email protected] -p 2000


Ora la cosa si complica perchè devo andare da un client della mia rete verso il client dell'altra rete, ma in desktop remoto che usa la porta 3389.
Spero di essere riuscito a spiegarmi bene questa volta :boh: :D

Con la soluzione che mi hai dato, ho questo risultato:

Dal mio client:
~$ rdesktop 192.168.0.254:3389
Autoselected keyboard map it
ERROR: connect: Connessione rifiutata

Dal mio server:
~$ telnet 192.168.0.254 3389
Trying 192.168.0.254...
telnet: Unable to connect to remote host: Connection refused


Il GatewayPorts è yes e quindi c'è qualcos'altro che non riesco a capire :(
Grazie dell'interessamento.
Ciao.

HexDEF6
04-09-2007, 15:00
Le normali sessioni ssh su quel server linux, riesco a gestirle senza problemi tramite la solita procedura:

Dal server dietro fastweb:
ssh -R 2000:127.0.0.1:22 login@tuamacchina

Dal mio server:
ssh [email protected] -p 2000



se tu hai gia questo attivo (ssh -R 2000:127.0.0.1:22 login@tuamacchina)
basta che fai, dal tuo server, un bel

ssh -g -L $porta_locale:192.168.1.y:$porta_remota [email protected] -p 2000

per avere la $porta_remota di 192.168.1.y sulla tua $porta_locale del server

(magari aggiungi un -C cosi comprimi la connessione)

stefanoxjx
04-09-2007, 15:41
se tu hai gia questo attivo (ssh -R 2000:127.0.0.1:22 login@tuamacchina)
basta che fai, dal tuo server, un bel

ssh -g -L $porta_locale:192.168.1.y:$porta_remota [email protected] -p 2000

per avere la $porta_remota di 192.168.1.y sulla tua $porta_locale del server

(magari aggiungi un -C cosi comprimi la connessione)

Già già già già già :D
Così funziona benissimo.
Ti ringrazio della disponibilità e della pazienza.
Se dovevo farlo da solo ci avrei perso sicuri 3 giorni di lavoro :)
Ciao.

HexDEF6
04-09-2007, 15:46
Già già già già già :D
Così funziona benissimo.


bene :D


Ti ringrazio della disponibilità e della pazienza.


di niente


Se dovevo farlo da solo ci avrei perso sicuri 3 giorni di lavoro :)
Ciao.

:D non credo... e' solamente la prima volta.. ci ho messo un po a capire come funzionava il -R e il -L di ssh... ma una volta capiti sono semplicissimi!

Ciao e buon lavoro!