Desde hace unos años, gracias a un regalo que me hizo el rey mago autor del blog Babuleando.com, dispongo de una Raspberry Pi 2 y le doy bastante uso casero a nivel de pequeño servidor.
Ayer por la noche se me ocurrió probar a instalar un servidor VPN en ella, pensando en las ventajas que esto podría conllevar de cara a cuando me encuentre fuera de casa: acceder a servidores privados conectados en red local pero no accesibles desde Internet, reconfigurar mi robot aspirador Xiaomi Vacuum e incluso navegar haciendo uso de mi conexión en casa estando en China.
¿Qué es una VPN?
Bueno si has llegado hasta este post, seguramente ya sepas qué es una VPN, aún así, voy a describir brevemente qué es y qué usos puede tener.
VPN es la abreviatura de Virtual Private Network, o en español, Red Privada Virtual. Las VPNs actúan como un tunel que te permite conectarte a Internet haciendo uso de una conexión diferente a la que tienes. Te pongo un ejemplo y lo verás más claro:
- Te encuentras conectado a Internet con tu ordenador a través de tu proveedor español (Yoigo, Jazztel, Movistar, Vodafone…) y lees que en un sitio web tienes restringido el acceso desde tu país, solo permiten visualizarlo desde Estados Unidos. Tu ip inicial la observas en Cualeesmiip.com y es una IP típica de tu proveedor de red.
- A continuación te instalas un cliente VPN en tu ordenador y desde este, seleccionas que quieres conectarte desde un servidor alojado en Estados Unidos.
- Vuelves a acceder a Cualeesmiip.com y la IP ha cambiado.
- Además accedes al sitio web inicial y ya te permite visualizarlo correctamente.
¿Qué ha pasado? Básicamente que has pasado de estar conectado directamente a Internet a través de tu proveedor español, para estar conectado desde un proveedor Estadounidense. Como no hay nada mejor que una imagen para describir este hecho, os la dejo a continuación:
¿Qué ventajas tiene navegar desde un VPN?
Un VPN (privado o de pago) ofrece una serie de ventajas a nivel de seguridad. Entre las ventajas más destacadas tenemos las que se citan a continuación:
1.Acceso remoto a la oficina para teletrabajar
Además, si tenemos acceso a datos en una red local, por ejemplo en la red local de nuestro trabajo, no accesibles desde Internet, si podemos conectarnos a través de un VPN a esa red local (sin estar físicamente en la oficina), podremos acceder a dichos datos como si estuviéramos físicamente allí.
2.Evitar hackeos y robo de información por parte de nuestro proveedor de Internet (ISP)
Nos permite navegar teniendo una serie de ventajas a nivel de posibles ataques de hackers y robo de información personal.
3. Evitar que tu proveedor de Internet acceda a tus datos
Nuestro proveedor de Internet no podrá tener datos sobre las páginas webs que visitamos o la utilización que hacemos de Internet en general.
4. Esquivar la censura
Si viajas a un país que posee un gran Firewall global, como por ejemplo China, donde está restringido el acceso a aplicaciones y webs como: Twitter, Facebook, Instagram y todas las apps de Google, podrías navegar sin problema y mantener el uso de todas estas apps gracias al VPN.
5. Conectarte de forma segura a redes WiFi públicas
Este punto es importantísimo. Las redes WiFi públicas son muy poco recomendables por la facilidad que existe a la hora de obtener información por parte de los proveedores de dichas WiFis o de usuarios malintencionados de las mismas que se encuentren conectados a la misma red que tú. Con un VPN, no es posible que roben información.
Instalando OpenVPN en una Raspberry Pi
Partiendo de una Raspberry Pi que tenga instalado como distribución Raspbian, los comandos que debemos ejecutar son los siguientes:
1.Para comenzar la instalación de pivpn:
curl -L https://install.pivpn.io | bash
2.Tras este, comenzamos con la instalación y en esta presentación podéis ver una por una todas las pantallas que tenemos que aceptar:
Destacar los siguientes elementos de la configuración:
- Cuando se nos solicite el puerto a utilizar, es recomendable modificarlo y no mantener el 1194 que trae por defecto.
- Antes de la pantalla en la que se aprecia vpn.jabenitez.com se nos solicita que indiquemos si deseamos indicar una entrada DNS o directamente una IP. Si tenéis oportunidad, podéis hacer uso del servicio gratuito de https://my.noip.com y aunque no tengáis una ip estática en casa, podréis mantener siempre un subdominio que apunte a ella. Para los que no los conozcáis, noip permite generar un script en el servidor que autoactualice la IP a la cual debe apuntar vuestro subdominio.
- Tened paciencia en la pantalla en la que se genera la clave de 2048-bit porque tarda aproximadamente unos 20 o 25 minutos. Atención, ACTUALIZACIÓN (8 de mayo de 2020)*.
- Recuerda que si quieres acceder desde Internet, fuera de tu red local, a tu VPN, deberás abrir el puerto UDP de tu router que has elegido anteriormente, para la IP de tu raspberry. Es decir, si tu raspberry tiene como IP local 192.168.1.128 y abres el puerto 1194, en el panel de configuración de tu router deberás abrir el puerto UDP 1194 y decir que apunte al puerto 1194 de la ip local 192.168.1.128, sino, no podrás conectarte a tu VPN desde fuera de casa.
Actualización (8 de mayo de 2020):
Parece ser que actualmente la clave que s egenera es ECC-512 bit, según se puede ver en el repositorio github de pivpn:
https://github.com/pivpn/pivpn/issues/53
An ECC-256 key is generally equivalent to an RSA 2048-bit key, and an ECC-512 bit key is equivalent to RSA 4096-bits. If you’re going to choose just one, my vote is for ECC-512.
Creando usuarios con OpenVPN
El siguiente paso tras la instalación es añadir un usuario. Para ello únicamente debes escribir en el terminal:
pivpn add
Escribes un nombre para identificar a dicho usuario cuando se conecte al VPN y una contraseña de acceso.
Una vez agregado, debes tener instalado en tu móvil un cliente de OpenVPN. En mi caso, tengo un dispositivo Android, así que descargué:
Seguidamente te diriges al directorio /home/pi/ovpns/ y teniendo Python 3 instalado, estando conectado con tu teléfono móvil a la misma red local, puedes levantar un servidor HTTP rápidamente en la raspberry y conectarte a ella desde el navegador web de tu teléfono móvil. Para levantar el servidor debes ejecutar en la Raspberry:
python3 -m http.server 8080
Tras esto, abres el navegador de tu móvil y conectas a la ip de tu Raspberry, que en mi caso era mediante http://192.168.1.128:8080 , en el tuyo tendrás que ver qué ip tiene tu Raspberry (puedes verla ejecutando el comando ifconfig).
Una vez descargado, desde OpenVPN puedes importar el perfil creado clickando en import profile y eligiendo el fichero que hemos descargado previamente con extensión .ovpn.
Y a partir de aquí ya estaremos disfrutando de estar conectados desde nuestra VPN particular :).
Espero que te haya servidor y si lo crees conveniente, se agradece un comentario y la difusión del artículo.
Anduliu
Ene 30, 2019 -
Buenos días.
Su tutoríal me ha servido enormemente,pero tengo un problemilla, si no ejecutó siempre
python3 -m http.server 8080
el servidor no se levanta en los reinicios.
Gracias nuevamente
Un saludo
Jose Alberto Benítez Andrades
Ene 31, 2019 -
Buenas Anduliu.
Si quieres que al arrancar tu raspberry arranque el servidor http.server de python, deberás crear un script para levantar el servidor y añadirlo a tu gestor de tareas a ejecutar en el inicio. Te recomiendo este enlace: https://arenlasysadmin.wordpress.com/2013/05/05/ejecutar-script-arranque-linux/
Un saludo.
hd
Abr 28, 2019 -
Puedo saltarme el cgnat con esto o no? para poder conectarme a mi camara ip que ya no funciona desde que me pusieron en cgnat
Jose Alberto Benítez Andrades
Abr 28, 2019 -
No, el CGNAT lo impone tu proveedor de red. Yo llamé a mi proveedor (Yoigo) solicitando que me lo quitasen, y lo hicieron sin ningún problema.
Fino
Jul 13, 2019 -
Hola,
Intento conectarlo con un DNS propio de noip xxxxxx.hopto.org y me dice que no es válido. He probado viendo el ejemplo a poner vpn.xxxxx.hopto.org y tampoco me deja. No sé qué hacer 0.o. Qué crees que puede ser?
Muchísimas gracias!
Gran post
Jose Alberto Benítez Andrades
Nov 17, 2019 -
Perdona que te conteste ahora pero estaba repasando comentarios antiguos ¿lograste solucionar tu problema? De no ser así, especifícame un poco mejor el problema.
Camilo
May 12, 2019 -
Debo tener la raspberry conectada a la red por medio de cable o funciona conectada con wifi?
Jose Alberto Benítez Andrades
May 12, 2019 -
Hola Camilo, con que tengas acceso a Internet es suficiente.
Camilo
May 14, 2019 -
me han aparecido otras pantallas como por ejemplo la de proveedor de dns. aparece google opn vpn etc.. entonces que debo seleccionar, he visto varios tutos y la verdad no he logrado concectarme desde mi celular 🙁
Jose Alberto Benítez Andrades
May 14, 2019 -
Es indiferente el que elijas, eso únicamente determina a través de qué servidor se resolverán las DNS desde la VPN, así que da igual el que utilices.
Este tutorial lo han seguido alumnos de la Escuela de Ingenierías y otras personas que conozco y han logrado conectarse sin problema.
Camilo
May 14, 2019 -
ignora mi anterior comentario, una pregunta sabes como abro el puerto UDP, he tratado pero no he podido..
Jose Alberto Benítez Andrades
May 14, 2019 -
Eso depende de tu router, cada router tiene un panel de administración diferente.
Camilo
May 14, 2019 -
ya lo logre, pude abrir los puertos y todo. pero aun sigue sin poder conectar. cabe aclarar que trato de conectarme de otra red y a veces desde la misma y no me queda claro el como levantar el servicio
Camilo
May 14, 2019 -
porque cuando levanto el servicio con el comando que tienes me sale 404 mesage file not found
luis A bernand
May 22, 2019 -
oye que pena molestarte de verdad pero me urge saber como poder conectarme al servidor desde otra red
Jose Alberto Benítez Andrades
May 26, 2019 -
Pues, resulta que es que eso ya es posible. Si montas una VPN, puedes conectarte precisamente desde cualquier red. La idea de una VPN es poder estar conectado a una red local (como la de tu casa) desde cualquier parte del mundo.
En el propio artículo indico que en ese caso, debes abrir en el router ese puerto de salida a internet y asignar que dicho puerto apunte a la raspberry donde está VPN instalada.
Por ejemplo:
– Ip de internet: 82.22.22.22
– Ip local del router: 192.168.1.1
– Ip local de la raspberry: 192.168.1.12
– Puerto abierto para la VPN: 22167
Habría que acceder al panel del router y asignar que el puerto 22167 esté abierto en el router y que además, responda a la ip 192.168.1.12 en su puerto 22167. De esa forma, cualquier persona que se conecte a la ip: 82.22.22.22 y al puerto 22167, podrá usar la raspberry como VPN.
Ernesto
Ago 24, 2019 -
Gracias por el tutorial. Estaba pensando en montarme una rpi en la oficina con piVPN, pero tengo la duda de qué modelo de raspberry comprar para que vaya relativamente bien, teniendo en cuenta que sólo serían uno o dos usuarios los que se conectarían para tener acceso a los archivos del NAS de la empresa por ahora. ¿Puedes recomendarme alguno? Gracias
Jose Alberto Benítez Andrades
Ago 25, 2019 -
Buenos días Ernesto.
Cualquier modelo de Raspberry te va a funcionar bien. No obstante, por el coste que tiene, yo cogería el último modelo y así me aseguraba el correcto funcionamiento.
En concreto yo tengo la VPN montada en una Raspberry Pi 3.
Un saludo.
Cristian
Ago 30, 2019 -
Hola Jose…
Gracias por el tutorial.
A ver si me puedes dar una ayuda de conceptos.
Yo tengo algunos dispositivo IOT (ESP8266) en mi casa, y quiero poder acceder a ellos de forma segura desde afuera.
Estando en mi red local, si coloco 192.168.10.25:6060 en un navegador web, veo la pagina de configuracion de mi dispositivo IOT.
Yo pensaba que instalando una VPN en mi router, podria hacer eso mismo desde afuera (por ejemplo con mi Smartphone conectado a 4G).
Pero la gente donde iba a contratar un servicio de VPN (ExpressVPN) me dice que eso no iba a ser posible, que para eso tenia que tener un servidor de VPN en mi casa.
El tema es que si yo uso una raspberrypi como servidor VPN, desde afuera podre conectarme a la raspberry mediante VPN. Pero como hago para conectarme a un dispositivo IOT desde afuera, y mediante una conexion segura tipo VPN?
Tu me puedes ayudar con eso?
Saludos
Jose Alberto Benítez Andrades
Ago 30, 2019 -
Efectivamente puedes acceder, pero debes abrir el puerto 6060 en tu router y hacer que dicho puerto APUNTE a la ip local de tu dispositivo IOT (192.168.10.25 según me indicas). De esa manera, si te conectas a la ip pública de internet que tengas (por ejemplo, 81.172.12.15) en el puerto 6060, accedes a dicho dispositivo. De esta manera, no te haría falta tener ningún servidor VPN instalado en casa.
Ahora bien, efectivamente lo que te dijeron los de ExpressVPN es correcto, la VPN, si no quieres hacer la opción del router que te indiqué arriba, tienes que montarla tú en tu casa, puedes hacerlo con OpenVPN sin necesidad de tener ni raspberry, ni nada, en un ordenador te serviría.
Creo que tienes un lío de concepto con el término VPN. Cuando instalas lo que indico en el post, haces que el dispositivo que tenga instalado OpenVPN actúe como SERVIDOR VPN ¿qué quiere decir esto? que al conectarte a ese dispositivo, desde otro, consigues estar conectado “en red local”. Por ejemplo, te pongo un caso.
1.Con tu smartphone te conectas con OpenVPN a la VPN que has creado en casa.
2.Al conectarte, tecleas la ip 192.168.10.25:6060 y ves el dispositivo.
Espero que te sirva.
Un saludo.
Valentin
Sep 29, 2019 -
Pues la verdad no entendi muy bien, tengo el archivo .ovpn ,el certificado y todo lo que me mandan para conectarme usando el programa openvpn ya que pague en vpnsecure pero no entiendo donde pongo estos archivos o como me conecto como si estuviera en otro pais desde la pi, aclaro que esto si lo puedo hacer desde el cel y la pc.
VCG
Sep 29, 2019 -
Y como te conectas al server de otro pais?
Jose Alberto Benítez Andrades
Sep 29, 2019 -
El servidor donde instalé OPENVPN server puede ser un servidor que tengas alquilado en otro país, o un ordenador que tengas en tu red local. Si vives en España (como es mi caso), lo instalas en tu casa, y te vas a China (como fue mi caso el año pasado), te estás conectando desde otro país :).
Jose Alberto Benítez Andrades
Nov 17, 2019 -
¿Cuál es tu duda exactamente? Yo me fui a China y me conecté a mi VPN que instalé en España.
Raul
Nov 6, 2019 -
Buenos días:
He instalado la vpn en una raspberry y esta a mi router y funciona de maravilla pero quisiera dejar fuera un decodificador que tengo conectado con ip fija,como podría hacerlo?
Jose Alberto Benítez Andrades
Nov 16, 2019 -
Perdona pero no entiendo muy bien el problema :).
Raul
Nov 17, 2019 -
Tengo un decodificador que me da problemas para ver mi
suscripcion de pago desde que instalé la vpn,quería dejar fuera del vpn este deco que tiene una ip fija para saber si ese es el problema,no quisiera prescindir del vpn
Jose Alberto Benítez Andrades
Nov 17, 2019 -
Pero el DECO ¿cómo lo tienes conectado a Internet? ¿directamente a través de tu router?
Raul
Nov 17, 2019 -
Si,toda conexión pasa por la raspberry con vpn xq del a raspberry pasa al router y de allí a todo lo demas
Jesus
Dic 25, 2020 -
Hola, muchas gracias por tu tutorial. Excelente tu web. Instale Pivpn en la raspberry pi zero w, y configure OpenVPN, copie el archivo cliente . ovpn, lo pase a mi Android, lo abrí con el cliente OpenVPN y todo bien. Abrí un puerto 5000… en router también. Pero cuando apago la wifi y prendo el 4g no se enlaza. Solo se enciende usando wifi de la misma red. Los mismo sucede usando wireguard en pivpn. Tienes alguna sugerencia?
Jose Alberto Benítez Andrades
Dic 25, 2020 -
Buenas, Jesús:
Pues, tiene toda la pinta de que la VPN la has configurado con la IP Local del ordenador, y no con la IP de Internet.
Un saludo.
Juan
Nov 16, 2019 -
Estimados, y que seguridad tiene este vpn?? no se si me doy a explicar, que medio se puede utilizar para poder protegerlo de ataques de hacker
Jose Alberto Benítez Andrades
Nov 16, 2019 -
Buenas Juan, la seguridad no depende del VPN, dependerá del sistema de firewall que tengas instalado en general y de otros elementos… el servidor VPN en sí, con este sistema, es seguro.
Eduardo
Nov 19, 2019 -
Como puedo hacer para que el video me lo mande a otra red, ya que le tengo instalado una camara pi con motioneyeos
Jose Alberto Benítez Andrades
Nov 19, 2019 -
Perdona pero no entiendo bien tu duda, no te puedo ayudar.
Benjamín
Dic 4, 2019 -
Hola José, me podrias ascesorar de forma mas personal con un mini proyecto universitario que implica una rpi (modelo 3B), un servidor NAS montado en la misma rpi con SO raspbian a su vez queremos integrar la VPN para acceder DIRECTAMENTE al NAS y no al rpi… Cual seria la forma de proseguir para lograr esto?
Jose Alberto Benítez Andrades
Dic 5, 2019 -
Buenos días Benjamín,
Una vez tienes la VPN creada, tan solo debes conectarte a la VPN a través de un cliente VPN y en el navegador, poner la IP local y el puerto con el que accedes normalmente al NAS desde tu red local :).
Si por ejemplo es http://192.168.1.134:8080 , así accederás (una vez te conectas a tu VPN).
Guillermo
Dic 8, 2019 -
Buenos días Jose Alberto,
Muy bueno él tutoríal. Una idea fantástica lo del puerto 443 que me ayuda a pasos de gigante en algunas barreras técnicas de trabajo.
Te lo curras mucho con la frecuencia que respondes a las dudas.
Lo dicho. Gracias!
Guille
Félix
Dic 14, 2019 -
Hola! He llegado correctamente hasta crear los usuarios. Lo que no consigo ejecutar python3 -m http.server 8080. Se queda como pensando pero nunca llega a ejecutar nada. Es cierto que al instalar Python 3 en la Raspberry he recibido alertas repetidas como esta:
warning: cast between incompatible function types from ‘PyObject * (*)(wrapperobject *)’ {aka ‘struct _object * (*)(struct *)’} to ‘PyObject * (*)(PyObject *, PyObject *)’ {aka ‘struct _object * (*)(struct _object *, struct _object *)’} [-Wcast-function-type]
No se si estara relacionado, aunque con el comando python3.6 –version me dice que tengo instalado Python 3.6.3. Solo se me ocurre que pueda tener algun problema en Python. Entiendo que este paso es para conseguir el archivo .ovpn. ¿Alguna otra forma de obtenerlo?
Muchas gracias de antemano
Jose Alberto Benítez Andrades
Dic 16, 2019 -
Buenas Félix,
Efectivamente el problema lo tuviste al instalar Python.
Hay muchas formas de obtener el fichero .ovpn, uno de ellos es enviarte, desde la raspberry, un email a ti mismo con ese fichero (por ejemplo).
Un saludo,
José Alberto
Félix
Dic 17, 2019 -
Gracias Jose Alberto! Me envié el fichero .ovpn sin problema.
Marcos
Dic 27, 2019 -
Ante todo gracias porl estupendo tutorial.
La primera vez con la ip publica en local y la segunda con No-ip me funcionaron a la perfección y me conecte a la red local desde fuera, con ipad y android.
Seguí instalando cosas en la pi como Lamp y wordpress todo funcionando pero la vpn dejo de hacerlo. La reconfigure y reinstale varias veces probando diferentes puertos y nada, finalmente he resinstalado raspbian y solo tengo python y pivpn, pero no consigo que funcione.
¿Hay manera de saber que el puerto udp esta escuchando? Con lsof no lo veo
El error es un timed out.
Hay una pantalla que no sale en el tutorial sobre nombre de dominio a la que contesto que no por que no se que poner.
Gracias y saludos
Jose Alberto Benítez Andrades
Dic 28, 2019 -
Buenas Marcos,
Al arrancar el servicio de OpenVPN, si hubiera algún error en el puerto UDP asignado, no se mantendría el servicio encendido y podrías ver ese error. En cuanto al dominio del VPN, puedes registrar una dirección en https://www.noip.com/ por ejemplo.
José Rodríguez
Dic 27, 2019 -
Excelente José. Después de seguir todo el tutorial queda instalado, sin embargo, y sin entender porqué, OpenVPN no abre nunca el puerto. Si intento un simple “nmap localhost” solo tengo el puerto 22 (en mi caso) pero ningún otro puerto más. He intentado de las dos formas, dejando el puerto 1194, así cómo cambiándolo, y nada! En el log me refleja un error:
Initialization Sequence Completed
event_wait: Interrupted system call (code=4)
Closing TUN/TAP interface
/sbin/ip addr del dev tun0 10.8.0.1/24
RTNETLINK answers: Operation not permited
Ya busqué en varios foros y todos tienen algo en común, lo solucionan sin saber cómo, o bien, se soluciona del lado del cliente, sin embargo, cómo he dicho antes, no puedo conectar ningún cliente porque el server no inicia. También, no sé si influya, pero veo que todos usan la interfaz de red eth0, mientas que yo estoy usando wlan0; podía esto causar el error? No he visto que en las configs se declaré la interfaz a utilizar 🙁
Sería una enorme ayuda si tienes alguna idea al respecto. Por cierto, ya no es pivpn.io, ahora es pivpn.dev
Desde ya, muchas gracias! Excelente día!
Jose Alberto Benítez Andrades
Dic 28, 2019 -
Buenas José,
Según leo aquí: https://forums.openvpn.net/viewtopic.php?t=23692 ese error, no es un error como tal, es lo que aparece cuando pulsas Ctrl + C.
Desde esa misma página remiten a la documentación oficial: https://openvpn.net/community-resources/how-to/
Mi duda es ¿desde dónde intentas acceder a la VPN? ¿desde un ordenador que está en tu misma red local o desde fuera?
Con respecto a usar la interfaz wlan o eth0 la única diferencia es que los tutoriales que ves son de personas que tienen la raspberry o el servidor que utilicen conectado al cable, mientras que tú lo tienes conectado a una red Wifi.
Ruben
Feb 7, 2020 -
Hola, me serviría montar un servidor vpn en un lugar para que conectandome a través de esa vpn mi geolocalización apareciese donde esta dicha vpn?
Jose Alberto Benítez Andrades
Feb 7, 2020 -
Hola Rubén,
Efectivamente, te serviría.
Fernando
Feb 28, 2020 -
Hola Jose Alberto,
Gracias por el tutorial. Estoy teniendo problemas para establecer la VPN.
Lo primero que me mosquea es que en mi caso no tarda 20 minutos (ni 5) para generar la clave de 2048 bits. He seguido todo el proceso sin error aparente, pero cuando voy a conectarme desde el movil, la conexion simplemente no se llega a establecer nunca y termina expirando.
Alguna sugerencia?
Jose Alberto Benítez Andrades
Mar 19, 2020 -
Buenos días Fernando,
Con esos datos es difícil que te pueda ayudar… necesitaría más información.
Un saludo
Jhon
Mar 16, 2020 -
Buenas tardes, yo quiero conectarme por medio de un raspberry a un ip de mi hermano en USA, leo esta configuración y quiero intentar pero me puedo al momento que me dice que con mi teléfono móvil debo conectarme a la red de USA y me perdí porque obviamente estoy en otro país, a partir del cliente del openvpn y el python 3 instalado me perdí, me gustaría que me ayudaras, me urge y la verdad es que tengo muy poco conocimiento, de antemano muchas gracias.. un abrazo.!!
Roberto
Mar 19, 2020 -
Muchas gracias José Alberto por compartir no solo tus conocimientos en este excelente artículo, también por tutelar a los aficionados a resolver los problemas que van surgiendo.
Saludos.
Jose Alberto Benítez Andrades
Mar 19, 2020 -
No hay de qué :), me alegro de que sea de utilidad.
Jose Alberto Benítez Andrades
Abr 10, 2020 -
Me alegro de que te sirviera :).
Un saludo y gracias a ti.
Christian
Abr 26, 2020 -
Buenas tardes
Desde un navegador desde casa puedo ver la raspberry, pero no me deja verlo desde la aplicación después de importar el usuario
Jose Alberto Benítez Andrades
May 7, 2020 -
Buenas Christian,
Es difícil poder ayudarte con esa información y desde aquí.
manuel
May 2, 2020 -
Pués yo me he hecho adicto a CGNAT a pesar de que no se pueden abrir puertos ni instalar servidores públicos. He pasado de OpenVPN a Zerotier (mis redes privadas en la nube) y puedo acceder a mis servidores privados estén donde estén desde cualquier parte del mundo. Funciona muy bien en dispositivos arm Amlogic y pueden utilizarse muy fácilmente como routers en redes que ni siquiera tienen una IP pública.
Victor
May 7, 2020 -
Buenas tardes Jose Alberto, en primer lugar gracias por tu tutorial.
Tengo un par de dudas que agradecería me pudieras aclarar si tienes disponibilidad.
1. Al general la clave el máximo que puedo elegir es de 521 bits, en ningún caso me da opción a mas bits, es normal?
Al igual que otro usuaro, a mi apenas me tarda 10 segundos en generar la clave.
2. El http server, es necesario instalarlo?
Gracias por tu tiempo y por el tutorial.
Un saludo.
Jose Alberto Benítez Andrades
May 7, 2020 -
Buenas tardes Víctor,
No hay de qué, gracias a ti.
Respecto a tus dudas:
1. No es normal, me resulta raro que no te dé opción a más. Lo que no te sabría explicar es “por qué” te pasa eso.
2. No, no es necesario. Lo que propongo en el artículo es arrancar un http server con python para que la descarga del documento sea sencilla, pero hay más vías para poder hacer ese procedimiento sin problema.
Un saludo.
Victor
May 8, 2020 -
Gracias por tu rápida respuesta Jose Alberto,
Parece ser que en las nuevas versiones han cambiado la codificación, te dejo esta documentación que acabo de buscar por si puede ayudarte.
https://github.com/pivpn/pivpn/issues/53
An ECC-256 key is generally equivalent to an RSA 2048-bit key, and an ECC-512 bit key is equivalent to RSA 4096-bits. If you’re going to choose just one, my vote is for ECC-512.
Jose Alberto Benítez Andrades
May 8, 2020 -
Buenas Víctor,
Fíjate que no me dio por buscarlo, pero “me lo imaginé”. Era raro que en esa parte hicieras algo diferente o incorrecto :).
Muchas gracias por la info, voy a actualizarla en el post ahora mismo por si a alguien le surge la misma duda que a ti.
Saludos.
Gabriel
May 13, 2020 -
Buenas tardes Jose Alberto,
Primero de todo, gracias por la guía. No hay donde perderse.
Tengo la VPN funcionando, con IP de la RPI (eth0): 192.168.1.56 e IP del router: 192.168.1.1
El problema viene cuando quiero comunicarme con un equipo de dentro de la LAN.
He instalado un adadptador USB-Ethernet en la RPI con IP (eth1): 192.168.0.160, que comunica con un equipo IoT con IP: 192.168.0.1 (a través del puerto 8888).
Desde la propia RPI, me comunico al IoT (mediante 192.168.0.1:8888), pero desde un cliente VPN no es posible (lo curioso es que sí que hago ping al eth1 192.168.0.160…)
¿Se me escapa algo?
Gracias de antemano,
Gabriel
Jose Alberto Benítez Andrades
May 13, 2020 -
Muy buenas Gabriel.
Pues, es complicado contestarte a eso por aquí, porque tengo ciertas dudas, pero… ¿por qué tienes funcionando la VPN en eth0 en lugar de en eth1? Posiblemente el error radique en la red local desde la que “levantas” la VPN, que difiere de la red local a la que quieres acceder.
Ya me cuentas :).
Un saludo,
José Alberto
Gabriel
May 14, 2020 -
Buenos días Jose Alberto,
Primero de todo, gracias por la respuesta.
Aclaración:
Para la conexión con el router utilizo el puerto Ethernet que viene por defecto en la RPI(ahora mismo no la tengo delante y no sé cual era, si eth0 o eth1), mientras que la conexión con el IoT la hago desde otro puerto Ethernet.
Pregunta de conecpto:
¿Es igual de seguro conectar el IoT al mismo rango que el puerto Ethernet de la RPI y la IP LAN del router, en este caso 192.168.1.X? (Colgando de este modo desde el router, la RPI y el IoT)
Un saludo y gracias,
Gabriel
Jose Alberto Benítez Andrades
May 14, 2020 -
Buenos días,
A nivel de seguridad, lógicamente es más seguro como lo tienes ahora. Sin embargo, para que pueda funcionar la VPN, de forma que, puedas acceder al IoT, no te quedaría otra que conectarlo al mismo eth0 que en el que estás creando la VPN.
Si no consiguieras lo que quieres, me lo comentas, que organizamos un Skype o un Hangout Meet :).
Un saludo y gracias a ti.
Gabriel
May 14, 2020 -
Buenos días,
Probaré a conectar el IoT al mismo rango que donde tengo el VPN.
Te mantendré informado.
Gracias por tu disponibilidad.
Gabriel
May 14, 2020 -
Buenas tardes Jose Alberto,
Efectivamente, poniendo el IoT en el rango de la VPN no hay ningún problema.
Por el momento, me vale.
¡Gracias! y un saludo,
Gabriel
Frank
May 23, 2020 -
Buenas noches.
Entiendo, que la raspi a la que instalamos la vpn tiene un firewall, ¿no? En mi caso UFW. Le habilito el puerto tanto 1194/udp, como si le he cambiado el nombre al mismo (ejemplo 9411). Con los puertos habilitados, tanto en rasbi como en router, me sigue dando problemas de conexion y he probado varios usuarios. Me sale fallo de ttl. He estado buscando por donde van los tiros, hablan de problemas solapamientos ip, pero estan en un rango distinto a las de dhcp. por lo que no deberia haber problemas. ¿Sugerencias?
Gravias
Jose Alberto Benítez Andrades
May 23, 2020 -
Buenos días,
1. Puedes tener un firewall, o no tenerlo. Efectivamente si lo tienes, debes abrir el puerto UDP o TCP que utilices al configurar la VPN.
2. Respecto al fallo… es muy difícil darte un “diagnóstico” con los datos que me das. Si quieres concretamos un día que nos venga bien a ambos y hacemos un meet.
Un saludo.
dan
Ago 20, 2020 -
Buenas.
Tengo instalado en mi raspi pivpn. generé mi fichero vpn y me funciona.
Lo que no consigo hacer es que me cambie la ip publica al conectarse. Como y que habria que configurar para que cuando se conecte me cambie la ip publica (me la “esconda” si bine entendí la función de vpn).
Gracias de antemano
Un saludo.
Jose Alberto Benítez Andrades
Ago 21, 2020 -
Buenas Dan,
Creo que no entendiste muy bien el funcionamiento de la VPN en sí, te pongo un ejemplo:
1. La red en la que tienes tu raspberry tiene como IP pública de Internet: 143.12.33.44
2. Desde tu teléfono móvil, sin estar conectado en tu red local… miras tu IP y ves que la IP de tu operador es… 43.22.33.44 (conectado con el 4g).
3. Te conectas a tu VPN instalada en la raspberry.
4. Tu ip pública será la indicada en el punto 1.
En ningún momento ocultarás la ip pública desde la que has instalado la VPN.
Espero haberte aclarado la duda.
Un saludo.
dan
Ago 21, 2020 -
buenas.
muchas gracias por la aclaración. seguiré el blog porque lo encuentro interesante.
un saludo.
Marcos
Oct 17, 2020 -
Ante todo gracias por el tutorial, he tenido la vpn configurada y funcionado con rpi2 desde cualquier ubicación mas de un año.
Recientemente he comprado una rpi4 y creí que no tendría problemas.Tengo una DNS de no-ip y los puertos abiertos en el router pero la vpn funciona en local pero no desde fuera.
He visto que el proceso de instalación ha cambiado ahora ofrece una alternativa WireGuard pero yo sigo con OpenVpn y ahora ya no genera la clave lenta de antes. aunque termina la instalación sin problemas, creo el cliente pero nada.
UDP link local (not bound) mi ip y el puerto son correctos.
He probado a hacer ping al Dns y obtengo repuesta, ya no se que hacer.
Algún consejo?
Jose Alberto Benítez Andrades
Oct 18, 2020 -
Buenas, Marcos:
Es bastante difícil ayudarte con este tipo de problemas contestándote a un comentario en el blog.
A mí me huele a que el error pueda venir por varias vías:
1. ¿Has comprobado que accedes bien a la raspberry en general con tu IP de Internet? Es decir… ¿has comprobado si levantando un http server en el puerto 80 puedes conectarte a tu Raspberry desde fuera de tu red local usando tu IP pública de Internet?
2. En el caso de que el 1 lo hayas comprobado, podríamos irnos a comprobar los puertos del router.
3. El siguiente paso sería comprobar iptables o cualquier otro firewall en la propia Raspberry.
4. Y por último, quizá puedes probar modificando el puerto de la VPN al generarla.
Es lo que se me ocurre.
Mucho ánimo.
Marcos
Oct 19, 2020 -
Opcion 4, cambio de puertos, tras reinicio de router y ovpn funcionando,
Muchas gracias
Jose Alberto Benítez Andrades
Oct 19, 2020 -
Cuanto me alegro :).
Gracias a ti.
Un saludo.
Pere
Nov 30, 2020 -
Quien hay detrás de las VPN gratuitas?
quien puede ver mi trafico?
Jose Alberto Benítez Andrades
Nov 30, 2020 -
Buenas, Pere:
Si nos ponemos así ¿quién hay detrás de tu operadora de Internet? ¿Quién estará espiando el tráfico que generas en tus dispositivos?
Es obvio que a menos que tú tengas tu propia infraestructura de red con conexión a Internet directa… alguien “podría” mirar tu tráfico (aunque podemos entrar en si lo harán y si es legal, que es el siguiente tema).
Un saludo.
Danilo Cazal
Dic 9, 2020 -
Buenos dias.
Tengo la vpn funcionando bien en la raspberry y mi pc se conecta bien.
En mi telefono baje la app de openvpn.
Se conecta y anda.
Pero al rato se desconecta solo y tengo que volver a conectarla.
Jose Alberto Benítez Andrades
Dic 9, 2020 -
Pueden ser por 2 motivos principalmente:
1. Tu red es inestable, con lo que, cada vez que pierdes señal de datos, se desconecta.
2. La red de tu VPN es inestable.
Daniel
Feb 12, 2021 -
buenas ..ago todos lo pasos,pero no me sale la opcion de udp,ni generar contraseña,solome crea un archivo cuando genero usuario ,.config en la carpeta home/pi,tengo una pi3..he repetido mucho el proceso y nada de nada,y la aplicacion no me lo reconoce porque no es su archivo,no se si sera la raspberry
gracias..
Jose Alberto Benítez Andrades
Feb 15, 2021 -
Es bastante extraño lo que comentas y me es muy difícil ayudarte con esas indicaciones.
Un saludo.
Chema Mateos
Abr 23, 2021 -
Jose Alberto, puedo con dos Raspis, hacer un tunel, y navegar con un PC conectado a una corriendo el Cliente, y salir a Internet por la que está el Server VPN? Sin tocar nada en el PC.
No se si me explico, que la raspi Cliente de VPN asigne DHCP a mi PC.
AKita
May 29, 2021 -
He probado pero veo que la version de openvpn y la de wireguard no están actualizadas, la de openvpn es la 2.4.7!!!!
Jose Alberto Benítez Andrades
May 29, 2021 -
Buenas, Akita:
Obviamente esta entrada es del año 2018, así que la versión actual es superior, sí :).
Lo importante es ¿conseguiste instalarlo siguiendo este tutorial a pesar de los años que tiene?
Akita
May 29, 2021 -
Jajajaja hombre…. Lo he instalado ahora y la versión que digo es la que instala ahora no la de hace años.
Sí lo he instalado sin problema, ha sido de ayuda