ssh tunneling - Alcuni pensieri
Sunday, 25. November 2007, 23:00:17
Antefatto
Da quando quei f****i dell'università hanno montato la nuova rete, le uniche porte aperte sono la 21,22,80.
Problema
Come connettersi per chattare con i propri amici su IRC?
Soluzione
Grazie alla segnalazione di cagnulein, ho iniziato le sperimentazioni sul ssh tunneling, con risultati sorprendenti.
Vediamo l'occorrente per poter collegare al massimo 5 computer a un canale IRC:
Se vi siete procurati tutto l'occorrente, mettiamoci subito al lavoro.
Prendete il computer, accendetelo e aprite un terminale (Attenzione: questo tutorial è scritto per coloro che utilizzano un sistema operativo *UNIX, se usi Windosss questo tutorial non fa per te). Fatto? Fatto!
A questo punto, digita il comando
ssh -L local_port:host:host_port nome@server
a questo modo creerete un tunnel sulla porta selezionata del vostro localhost verso il server e porta che avete indicato. Questa è l'opzione più semplice se volete fare un tunnel a un servizio come IRC, che si basa su un collegamento singolo. Per esempio, potremo inserire
ssh -L 6669:irc.azzurra.org:6669
per poterci collegare al server azzurra. Il nostro client di IRC dovrà essere lanciato, per esempio, con il seguente comando
/server localhost 6669
Detto questo, proviamo a fare qualcosa di più interessante.
A questo punto, è possibile stappare la birra, e berne qualche sorso. Fatto? Fatto! Possiamo continuare.
Possiamo ora a un tunnel dinamico. Questo serve per indirizzare verso il server specificato tutto il traffico diretto verso una determinata porta del nostro localhost, senza dover specificare in anticipo verso che server questo sia diretto. Potente, vero? Vediamo ora in che modo sia possibile fare questo
ssh -D local_port nome@server
in questo modo, ssh apre una connessione socket sulla porta del localhost indicata, e indirizzerà nel tunnel tutto il traffico che punta su di quella.
Come dire a una applicazione di usare il tunnel? Per il momento, questo argomento è ancora oscuro ai più grandi signori dell'informatica, e si narri dell'esistenza di un manuale conservato nei sotterranei della Microsoft che spiega tutte le potenzialità di questa pratica.
Per il momento, ho scoperto queste applicazioni:
per le mie esperienze su Mac Os X 10.4, queste applicazioni non vanno, e danno dei problemi. Non sono ancora riuscito a trovare un modo per farle andare (perfino con telnet...)
Un'altra possibilità, è settare il Proxy Socks del sistema operativo (per il momento ho provato solo quello di Mac Os X), e sperare che tutte le applicazioni facciano riferimento a quello. Per ora, le uniche "intelligenti" sono Apple Mail e Adium. Speriamo in una evoluzione della specie per le altre.
Detto questo, possiamo berci il resto della birra, nella speranza di trovare un metodo per fare funzionare anche BitTorrent o Emule...
References:
http://www.freshnet.org/wordpress/2007/05/01/tunneling-ssh/
http://marc-abramowitz.com/archives/2006/01/29/building-tsocks-on-mac-os-x/
http://www.macupdate.com/info.php/id/10128
Da quando quei f****i dell'università hanno montato la nuova rete, le uniche porte aperte sono la 21,22,80.
Problema
Come connettersi per chattare con i propri amici su IRC?
Soluzione
Grazie alla segnalazione di cagnulein, ho iniziato le sperimentazioni sul ssh tunneling, con risultati sorprendenti.
Vediamo l'occorrente per poter collegare al massimo 5 computer a un canale IRC:
- Un compuer;
- Un server;
- Accesso ssh al server;
- Un nerd;
- Una birra.
Se vi siete procurati tutto l'occorrente, mettiamoci subito al lavoro.
Prendete il computer, accendetelo e aprite un terminale (Attenzione: questo tutorial è scritto per coloro che utilizzano un sistema operativo *UNIX, se usi Windosss questo tutorial non fa per te). Fatto? Fatto!
A questo punto, digita il comando
ssh -L local_port:host:host_port nome@server
a questo modo creerete un tunnel sulla porta selezionata del vostro localhost verso il server e porta che avete indicato. Questa è l'opzione più semplice se volete fare un tunnel a un servizio come IRC, che si basa su un collegamento singolo. Per esempio, potremo inserire
ssh -L 6669:irc.azzurra.org:6669
per poterci collegare al server azzurra. Il nostro client di IRC dovrà essere lanciato, per esempio, con il seguente comando
/server localhost 6669
Detto questo, proviamo a fare qualcosa di più interessante.
A questo punto, è possibile stappare la birra, e berne qualche sorso. Fatto? Fatto! Possiamo continuare.
Possiamo ora a un tunnel dinamico. Questo serve per indirizzare verso il server specificato tutto il traffico diretto verso una determinata porta del nostro localhost, senza dover specificare in anticipo verso che server questo sia diretto. Potente, vero? Vediamo ora in che modo sia possibile fare questo
ssh -D local_port nome@server
in questo modo, ssh apre una connessione socket sulla porta del localhost indicata, e indirizzerà nel tunnel tutto il traffico che punta su di quella.
Come dire a una applicazione di usare il tunnel? Per il momento, questo argomento è ancora oscuro ai più grandi signori dell'informatica, e si narri dell'esistenza di un manuale conservato nei sotterranei della Microsoft che spiega tutte le potenzialità di questa pratica.
Per il momento, ho scoperto queste applicazioni:
- tsocks
- dsocks
per le mie esperienze su Mac Os X 10.4, queste applicazioni non vanno, e danno dei problemi. Non sono ancora riuscito a trovare un modo per farle andare (perfino con telnet...)
Un'altra possibilità, è settare il Proxy Socks del sistema operativo (per il momento ho provato solo quello di Mac Os X), e sperare che tutte le applicazioni facciano riferimento a quello. Per ora, le uniche "intelligenti" sono Apple Mail e Adium. Speriamo in una evoluzione della specie per le altre.
Detto questo, possiamo berci il resto della birra, nella speranza di trovare un metodo per fare funzionare anche BitTorrent o Emule...
References:
http://www.freshnet.org/wordpress/2007/05/01/tunneling-ssh/
http://marc-abramowitz.com/archives/2006/01/29/building-tsocks-on-mac-os-x/
http://www.macupdate.com/info.php/id/10128

