Tunneling VPN

R

Ryu

Invitado
porfa dejenlo un ratito aqui. :lib


alguien sabe como hacer un tunneling usando open VPN?

que la fucking U tiene un firewall bloqueando todos los puertos, pero tiene libre el puerto 21 de salida y entrada el 80.

me dijieron que me hiciera un tunneling usando esos puertos.... pero alguien me puede orientar maomenos como hacer esto?

gracias :lib
 

JotaLillo

Froguero Brigido
Sep 2, 2005
6,483
9
Frogoids
0.0
Ryu dijo:
porfa dejenlo un ratito aqui. :lib


alguien sabe como hacer un tunneling usando open VPN?

que la fucking U tiene un firewall bloqueando todos los puertos, pero tiene libre el puerto 21 de salida y entrada el 80.

me dijieron que me hiciera un tunneling usando esos puertos.... pero alguien me puede orientar maomenos como hacer esto?

gracias :lib
Si tienes solo 21 de salida y 80 de entrada, no podrás hacer VPN.

VPN, como cualquier otro servicio de internet, requiere de puertos. Si bien estos puertos son configurables, necesitas al menos uno de entrada y salida.
 

Cayuyon

Weon Pro
Abr 15, 2005
1,439
13
Frogoids
0.0
Ryu dijo:
porfa dejenlo un ratito aqui. :lib


alguien sabe como hacer un tunneling usando open VPN?

que la fucking U tiene un firewall bloqueando todos los puertos, pero tiene libre el puerto 21 de salida y entrada el 80.

me dijieron que me hiciera un tunneling usando esos puertos.... pero alguien me puede orientar maomenos como hacer esto?

gracias :lib
hay varias opciones (no son vpn de todas formas):

1) Subir un servidor ssh en el puerto 80 en alguna maquina externa (por ejemplo, en tu casa). Luego te conectas con un cliente y creas un tunnel normal o uno basado en socks4 (tunel dinamico). Cada cliente tiene un lugar distinto para configurar eso.. por linea de comando es -L para un tunel basico y -D para socks.

2) Usar algun http tunnel. Generalmente requieren de todas formas que instales algo en un servidor externo que te sirve para transformar los requerimientos http en sockets tcp normales. De estos hay varios.. es cosa de buscar en google para windows, linux o lo que quieras.
 
R

Ryu

Invitado
humm mejor trato lo del servidor ssh, el encargo del lab al que le pregunte me dijo que habia instalo una wea con ssh y salia por ahi con todos los puertos pero me perdi :uy

despues le fui a preguntar a un profe de teleinformatica y me dijo que con open vpn dejaba de cliente salida 21 entrada 80 y en el servidor salida 80 y entrada 21... y que de ahi hacia ruteo en el servidor



de cualquiera de las 2 formas (con servidor ssh o vpn) voy a dejar mi pc como servidor... ya tengo listo el DDNS porlomenos :uy
 

kamusin

Usuario Amateur
Jul 3, 2007
350
0
Frogoids
0.0
Cayuyon dijo:
hay varias opciones (no son vpn de todas formas):

1) Subir un servidor ssh en el puerto 80 en alguna maquina externa (por ejemplo, en tu casa). Luego te conectas con un cliente y creas un tunnel normal o uno basado en socks4 (tunel dinamico). Cada cliente tiene un lugar distinto para configurar eso.. por linea de comando es -L para un tunel basico y -D para socks.

2) Usar algun http tunnel. Generalmente requieren de todas formas que instales algo en un servidor externo que te sirve para transformar los requerimientos http en sockets tcp normales. De estos hay varios.. es cosa de buscar en google para windows, linux o lo que quieras.
tuneles inversos con ssh rocks 8) , HTTP Tunneling nunca lo he ocupado, ahora todo dependera de lo que este filtrado en la red donde te encuentres ..
 

kamusin

Usuario Amateur
Jul 3, 2007
350
0
Frogoids
0.0
Ryu dijo:
humm mejor trato lo del servidor ssh, el encargo del lab al que le pregunte me dijo que habia instalo una wea con ssh y salia por ahi con todos los puertos pero me perdi :uy

despues le fui a preguntar a un profe de teleinformatica y me dijo que con open vpn dejaba de cliente salida 21 entrada 80 y en el servidor salida 80 y entrada 21... y que de ahi hacia ruteo en el servidor



de cualquiera de las 2 formas (con servidor ssh o vpn) voy a dejar mi pc como servidor... ya tengo listo el DDNS porlomenos :uy
es cosa que configures openvpn con otro puerto que no sea el 1194 (udp) con otro donde puedas salir :), de todas maneras podrias dejar el pc de tu casa por ejemplo con no-ip.com y corriendo ssh con algun puerto que no este filtrado en la red donde estas..
 
R

Ryu

Invitado
Lordnet dijo:
y que es lo que necesitas hacer??
- controlar un equipo remoto de la u desde tu casa?
- manejar el equipo de tu casa desde la u?
para windows, UltraVNC
para linux servidor SSH

-entrar a servicios intranet de la u?

openVPN permite configurarse en un puerto entrante no estandar, pero lo encuentro demasiado enredado.
http://openvpn.net/index.php/documentation/howto.html#examples
desde la U necesito tener acceso al servidor SVN (aunque ese funciona x http, pero lo tengo en el 8084 xD pq el 80 esta ocupado con tomcat) y necesito acceso a una base datos postgresql, ambos servers en mi casa.
 
R

Ryu

Invitado
ya le cuento como va la cosa.
en el servidor de mi casa instale freeSSH, lo deje escuchando SSH en el puerto 21 y habilite para que haga local port forwarding y remote port forwarding.


en el pc cliente (un note de prueba por mientras x que no toy en la U) instale SshTunnelClient

pero necesito ayuda a configurarlo


si apreto en test connection me dice que se realizo con exito (borre el nombre dominio y usuario x razones obvias)

pero no cacho que deberia hacer ahora...
en la U tengo de salida el puerto 21 y entrada el 80... y yo quiero usar este tunnel para acceder a distintos puertos como el 5432 y el 8084.
(otro dato, en la U para salir a cualquier wea de inet tengo que usar el proxy: proxy.ucv.cl:8080)
 

Panchop

Usuario Amateur
Abr 12, 2007
373
0
Frogoids
0.0
tienes la mitad no mas, como lo hice yo alguna vez te faltaria en tu casa instalar PRIVOXY que se encarga de hacer la magia, y tay dao (esos son los datos de REMOTE port)
 

Cayuyon

Weon Pro
Abr 15, 2005
1,439
13
Frogoids
0.0
Ryu dijo:
pero no cacho que deberia hacer ahora...
en la U tengo de salida el puerto 21 y entrada el 80... y yo quiero usar este tunnel para acceder a distintos puertos como el 5432 y el 8084.
(otro dato, en la U para salir a cualquier wea de inet tengo que usar el proxy: proxy.ucv.cl:8080)
Ok, demasiada información confusa.. como no conozco el programa que estas usando en particular voy a tratar de explicarte los distintos escenarios (porque además si necesitas un proxy para salir de tu U cambia completamente la cosa).

1) Intenta conectarte a tu casa usando un cliente ssh directamente al puerto 21 . Si logras conectarte sin problemas usando putty o cualquier cliente ssh entonces estamos listos.. en este caso simplemente olvidate de proxy.ucv.cl:8080 porque no lo necesitas y salta al punto 3)

2) Imaginando que no logres conectarte al computador de tu casa usando un cliente ssh normal entonces puede significar que efectivamente tu no tienes salida a internet sin pasar por el proxy (obviamente estoy eliminando los errores absurdos como que no subiste bien tu servidor ssh o que no tengas salida al puerto 21). En este punto dependes un poco de la suerte: los proxys soportan un conjunto de comandos, típicamente GET, POST que son los de http, o sea, para navegar.. pero para que podamos conectarnos a un servidor ssh el proxy tiene que soportar el método CONNECT... como saber eso? la verdad depende del proxy, asi que lo mejor que puedes hacer es probar. Como yo soy linuxero (esto también puede hacerse en windows + cygwin), te doy la receta para linea de comando:

http://www.mtu.net/~engstrom/ssh-proxy.php

Si no tienes método CONNECT entonces tu única solución es un http tunnel.

3) Ok, ya sea por 1) o por 2) a estas alturas deberías poder conectarte a un servidor ssh directamente al puerto 21 o pasando por el proxy de tu universidad. Lo siguiente es crear un tunel... nuevamente tratare de explicarte la cosa en forma conceptual y de ahi tu haces el paralelo con otros clientes en windows. El tunel mas tipico es el que te permite crear un puerto local (o sea, en localhost) que apunta directamente a otro puerto remoto accesible desde tu servidor ssh. Por ejemplo:

% ssh -P 21 -L5432:localhost:5432 ryu@gloriaalpulento.no-ip.cl

El -P indica que nos estamos conectando al puerto 21 de la maquina "gloriaalpulento.no-ip.cl", el usuario es "ryu"... hasta ahí todo normal. Con el comando -L estamos creando un tunnel.. el primer numero (5432) es un puerto local que debe estar disponible.. en teoría puede ser cualquier numero, pero si en tu PC cliente no tienes ningún postgresql corriendo no hay problema en usar el puerto por default... "localhost" es la maquina remota a la que quiero conectarme, OJO con eso! es el "localhost" remoto y no el tuyo.. todo lo que colocas en ese parámetro se refiere a ip's o maquinas conocidas por el servidor, es decir, cuando dices "localhost" dices "el localhost de mi servidor", cuando pones "192.168.1.2" te refieres al "192.168.1.2 de la intranet de mi servidor"; finalmente el segundo 5432 se refiere al puerto remoto al que te quieres conectar, es decir, al postgresql que tienes en tu casa.

Que acabas de hacer con esto? un puerto 5432 local en tu PC donde cada cosa que conectes ahi se va directamente al puerto 5432 de tu casa (usando la conexion ssh que acabas de abrir). Entonces ahora, con cualquier cliente de postgresql te conectas como si tuvieses un postgresql en tu computador (es decir, usando localhost) y voila.

Puedes poner tantos -L como quieras y redireccionar todos los puertos que necesites. Putty y otros clientes windows tienen esto mismo pero en forma grafica.. lo importante es que el concepto es el mismo.

Por ultimo, queda una opcion mas.. en vez de usar -L puedes usar -D, por ejemplo:

% ssh -P 21 -D8080 ryu@gloriaalpulento.no-ip.cl

Esto crea un tunel dinámico en tu puerto local 8080. Así otras aplicaciones pueden conectarse a cualquier parte accesible desde el servidor (o sea, el PC de tu casa). Para que el programa cliente pueda usar este tunel tiene que tener soporte socks 4 o 5.. un buen ejemplo son los browsers.. asi que te vas a la configuracion de conexion y le pones que quieres usar localhost:8080. Claro, en tu caso eso puede no ser muy util porque ya tienes acceso a internet con el browser.. pero en ciertas empresas hay sitios restringidos y con esto puedes bypasear la seguridad :)
 

DuKe

Ni recuerdo lo que escribí
Abr 13, 2005
5,231
0
Frogoids
0.0
La explicación de cayuyon es la mas completa y deberia quedar dentro de los articulos destacados del foro.

Yo estuve buscando la misma información hace tiempo y pase por tuneles con SSH y también probé con los túneles a través del http.

También aprovecho de mencionar una aplicación comercial llamada HTTP Túnel, con la cual solo te preocupas de instalarlo como cliente. Claro, la versión gratuita esta limitada en ancho de banda pero es bien practica cuando el flujo de datos es mínimo (como msn).

También use este http tunnel, bastante completo: http://http-tunnel.sourceforge.net/

Algunas paginas bastante buenas:
http://sebsauvage.net/punching/
http://www.bulma.net/body.phtml?nIdNoticia=1147
 
R

Ryu

Invitado
Cayuyon dijo:
Ok, demasiada información confusa.. como no conozco el programa que estas usando en particular voy a tratar de explicarte los distintos escenarios (porque además si necesitas un proxy para salir de tu U cambia completamente la cosa).

1) Intenta conectarte a tu casa usando un cliente ssh directamente al puerto 21 . Si logras conectarte sin problemas usando putty o cualquier cliente ssh entonces estamos listos.. en este caso simplemente olvidate de proxy.ucv.cl:8080 porque no lo necesitas y salta al punto 3)

2) Imaginando que no logres conectarte al computador de tu casa usando un cliente ssh normal entonces puede significar que efectivamente tu no tienes salida a internet sin pasar por el proxy (obviamente estoy eliminando los errores absurdos como que no subiste bien tu servidor ssh o que no tengas salida al puerto 21). En este punto dependes un poco de la suerte: los proxys soportan un conjunto de comandos, típicamente GET, POST que son los de http, o sea, para navegar.. pero para que podamos conectarnos a un servidor ssh el proxy tiene que soportar el método CONNECT... como saber eso? la verdad depende del proxy, asi que lo mejor que puedes hacer es probar. Como yo soy linuxero (esto también puede hacerse en windows + cygwin), te doy la receta para linea de comando:

http://www.mtu.net/~engstrom/ssh-proxy.php

Si no tienes método CONNECT entonces tu única solución es un http tunnel.

3) Ok, ya sea por 1) o por 2) a estas alturas deberías poder conectarte a un servidor ssh directamente al puerto 21 o pasando por el proxy de tu universidad. Lo siguiente es crear un tunel... nuevamente tratare de explicarte la cosa en forma conceptual y de ahi tu haces el paralelo con otros clientes en windows. El tunel mas tipico es el que te permite crear un puerto local (o sea, en localhost) que apunta directamente a otro puerto remoto accesible desde tu servidor ssh. Por ejemplo:

% ssh -P 21 -L5432:localhost:5432 ryu@gloriaalpulento.no-ip.cl

El -P indica que nos estamos conectando al puerto 21 de la maquina "gloriaalpulento.no-ip.cl", el usuario es "ryu"... hasta ahí todo normal. Con el comando -L estamos creando un tunnel.. el primer numero (5432) es un puerto local que debe estar disponible.. en teoría puede ser cualquier numero, pero si en tu PC cliente no tienes ningún postgresql corriendo no hay problema en usar el puerto por default... "localhost" es la maquina remota a la que quiero conectarme, OJO con eso! es el "localhost" remoto y no el tuyo.. todo lo que colocas en ese parámetro se refiere a ip's o maquinas conocidas por el servidor, es decir, cuando dices "localhost" dices "el localhost de mi servidor", cuando pones "192.168.1.2" te refieres al "192.168.1.2 de la intranet de mi servidor"; finalmente el segundo 5432 se refiere al puerto remoto al que te quieres conectar, es decir, al postgresql que tienes en tu casa.

Que acabas de hacer con esto? un puerto 5432 local en tu PC donde cada cosa que conectes ahi se va directamente al puerto 5432 de tu casa (usando la conexion ssh que acabas de abrir). Entonces ahora, con cualquier cliente de postgresql te conectas como si tuvieses un postgresql en tu computador (es decir, usando localhost) y voila.

Puedes poner tantos -L como quieras y redireccionar todos los puertos que necesites. Putty y otros clientes windows tienen esto mismo pero en forma grafica.. lo importante es que el concepto es el mismo.

Por ultimo, queda una opcion mas.. en vez de usar -L puedes usar -D, por ejemplo:

% ssh -P 21 -D8080 ryu@gloriaalpulento.no-ip.cl

Esto crea un tunel dinámico en tu puerto local 8080. Así otras aplicaciones pueden conectarse a cualquier parte accesible desde el servidor (o sea, el PC de tu casa). Para que el programa cliente pueda usar este tunel tiene que tener soporte socks 4 o 5.. un buen ejemplo son los browsers.. asi que te vas a la configuracion de conexion y le pones que quieres usar localhost:8080. Claro, en tu caso eso puede no ser muy util porque ya tienes acceso a internet con el browser.. pero en ciertas empresas hay sitios restringidos y con esto puedes bypasear la seguridad :)
FUNCIONO CSM :uy

era mas facil de lo que pensaba :lib
(aunque no lo e probado en la U... si no que en un notebook de la casa distinto de donde estan el pc con servidores de la casa... me conecte al ssh por putty y le puse una regla que en el puerto 1000 mandara a localhost:5432, ese localhost es donde estan los servidores. Luego me conecte por pgadminIII en el note, poniendo localhost:1000 y se me conecto a la base datos.... :D )

voy hacerme un tutorial para aportar a la sociedad frogera.
con freeSSH y putty, en ambiente Windows to Windows

:lib


nota:
gloriaalpulento.no-ip.cl :risas
 

JotaLillo

Froguero Brigido
Sep 2, 2005
6,483
9
Frogoids
0.0
Ryu dijo:
FUNCIONO CSM :uy

voy hacerme un tutorial para aportar a la sociedad frogera.
con freeSSH y putty, en ambiente Windows to Windows

:lib
Que bien! Servirá harto.

OJO: Lo que estás haciendo no es una VPN. No hay que confundir eso.