Cómo tener tu propia VPN (y no depender de nadie)

Imagen de Cómo tener tu propia VPN (y no depender de nadie)



El otro día quería ver si era posible tener mi propia VPN, red privada virtual, y sí, lo encontré fácilmente: OpenVPN.

Pero claro, los tutoriales suelen estar bien llenos de información y no todo usuario linuxero está preparado para entenderlo. Así que busqué un poco más y creo que dí con una buena solución.



Primero lo primero, para poder crear tu propia VPN vas a necesitar de tu propio servidor. Yo utilizo varios VPS (Servidores privados virtuales), Digital Ocean el mejor, relativamente baratos y eficientes, es más, si les interesa les dejo mi referral de Digital Ocean y por ahí algún día puedo pagar el servidor de LinksDV con eso :P 

Esto implica un costo de unos USD 5 a 20 por mes, dependiendo qué servidor estés utilizando y qué características quieras en él. Pero este no es el único factor a tener en cuenta. Si quieren dividir el costo entre varios usuarios deberán tener MUY en cuenta la transferencia que te ofrece dicho servicio.

Por ejemplo Digital Ocean, es un EXCELENTE servicio pero ofrece anchos de banda y capacidades algo limitadas (contrastan con su excelente servicio, claro) donde un server con 3TB de transferencia cuesta 20 USD por mes.

En algunos encontré VPS a USD 8 por mes que te dan 5TB de transferencia, 2GB de RAM y 100GB de disco, obviamente es lo que utilicé para mi VPS pero la pega es que, por alguna razón, el mejor Ubuntu que te permiten instalar es Ubuntu 14.04.

Y como dije, Linux, si no saben nada de Linux no hagan nada de esto, salvo que quieran aprender y tengan ganas de gastar dinero en algo que probablemente no funcione :D

Una vez elegido el VPS e instalado un sistema operativo acorde (puede ser CentOS o, como en mi caso, Ubuntu) se pueden seguir todos estos pasos que encontré en los manuales de Digital Ocean.

Si quieren hacerlo para aprender está perfecto, te detalla y explica todo con un muy buen nivel, pero tal vez muchas de estas cosas son automatizables. Aprendés un montón, eso seguro.

Si en cambio quieren la versión jeropa-fácil también existe y la encontré en los comentarios de dicho artículo, un usuario creó un script bash que hace exactamente todo eso y MUY bien, lo suficientemente bien como para olvidarse del 99% del proceso, lo encuentran aquí en OpenVPN-Install.

Ahora bien, dicho script tiene sus problemitas, si no logra hacer bien uno de los pasos no corta ni hace rollback, sigue para adelante, la primera vez que lo ejecuté no logró bajar algo y me creó todo mal, la segunda (luego de desinstalar) funcionó perfecto. Eso sí, al momento de generar las keys está por defecto en 2048 bits por lo que se toma un buen rato (paciencia, vale la pena estar seguros).

Tercero la conexión, el script hace todo fantástico y te crea un archivo de config para el usuario que decidas crear (podés crear y eliminar cuantos quieras) pero luego hay que copiarlo a la PC o teléfono desde donde querramos utilizar el cliente de OpenVPN (no problem, pero aviso, por SFTP y listo).

La conexión se logra abriendo dicho archivo de config en el cliente, ya posee las keys correspondientes, no hace falta ingresar ningún password, con ese archivo se puede hacer todo de una y sin pasos en el medio... salvo que... salvo que siempre algo puede fallar.

¿Qué puede fallar? El firewall! así es, IPTABLES en el servidor, Firewall de la Windola en el cliente, en mi caso tenía problemas con el servidor ya que tenía algunas reglas previas de IPTABLES y tuve que liberar el puerto de conexión de OpenVPN con esto:

sudo iptables -A INPUT -p tcp --destination-port 1194 -j ACCEPT
sudo iptables -A INPUT -p udp --destination-port 1194 -j ACCEPT



Me enteré luego de varias googleadas pero ojo con el tema. Algunos proveedores de VPS te bloquean puertos para que no puedas crear tu propia VPN lo que es una negrada (si estás en uno, dejalos como proveedores, garcas), así que a veces hasta te pueden estar bloqueando un port así. Si se van al cuerno pero no usás el servidor para web podés cambiarle la config al 443 del SSL y listo, ese seguro no lo bloquean.

Tanto en Windows como Android, utilizando el cliente de OpenVPN libre, funcionó perfecto. Lo primero que pude corroborar, además de mi IP que ahora es el del servidor, es el poder ver contenidos en Youtube que estan restringidos para los argentinos como, por ejemplo, los de SNL que no nos dejan ver. Con eso ya comprobé que funcionaba perfecto.

No digo que esto sirva como método para piratear cosas porque, al fin y al cabo, uno alquiló un server dando de alguna forma la cara, ante una demanda por la DMCA esos datos van a parar al organismo de justicia que lo solicite si estás usando un servidor de EEUU, no es para hacer maldades ni nada por el estilo tampoco o hasta el FBI puede acceder a esos datos.

Pero para ejercer tu libre derecho de navegar de forma privada, sin restricciones ficticias impuestas por empresas o gobiernos, hay mucho margen y funciona, funciona bien.

El costo, si se comparte, es muy bajo y los datos de uno y el historial de navegación no son filtrados a agencias de publicidad ni vendidos por ahí, es tu LOG del servidor, nadie lo toca.

PS: si está bien configurado podría funcionar para Netflix aunque creo que se pusieron la gorra para filtrarte por tu tarjeta de crédito (país de emisión) para bloquearte contenidos


Volver al inicio Ver original