edición general
360 meneos
9412 clics
Envío erróneo o controvertido, por favor lee los comentarios.
Montar una VPN en tu servidor usando un container de Docker

Montar una VPN en tu servidor usando un container de Docker  

Vamos a aprender a montar una VPN en nuestro servidor para poder usarla desde nuestros móviles, nuestros portátiles, etc. si en algún momento nos conectamos con una wifi insegura de un hotel, de un McDonald's, etc. Además, para evitar tocar algo que no debamos vamos a hacerlo en un contenedor docker virtualizado.

| etiquetas: android , ios , linux , ovh , seguridad , servidores , ubuntu , vpn , wifi
«12
  1. Y sí, es mi blog, pero no suelo mandar nada así que no creo que se pueda considerar spam. De todas formas, vosotros decidís {0x1f609}
  2. Pues yo ayer programé la lavadora para que se pusiera en marcha tres horas más tarde, cuando no había nadie en casa. 8-D
  3. #2 Leéte la entradilla al menos.
  4. #23 Hay un asistente que hace muy fácil la instalación (sin Docker, en plan minimalista):

    pivpn.io
  5. #44 Por ejemplo: ¿La configuración automática de periféricos sin tener que descargarte un driver de 100mb? ¿El sacar un disco duro y ponerlo en otro equipo con un hardware completamente distinto y arracar desde el mismo sin problemas? ¿El que el sistema venga con un millón de aplicaciones de fábrica?
  6. Dejaros de polladas, pillaros un servidor synology que viene con su propia vpn.
  7. #28 Tomad ejemplo de Mac, joder, que es un Linux pero te pone las cosas FÁCILES.... :palm:
  8. #16 solo digo que es una solución cara; una raspberry hace de server vpn que da gusto.
    Ahora bien el interfaz de synology es cremita
  9. #8 No, si quieres te lo regalan.
  10. #66 no creo que en mi server con 2GB de RAM pueda poner Windows y luego montar Hyper-V con una máquina virtual.

    Esto está pensado para un servidor pequeño como el mío, que ya lo tienes por la circunstancia que sea y entonces lo utilizas también para VPN.

    Y por cierto, docker no se puede comparar con VMware, Hiper-V ni Virtualbox. No es una virtualización de un sistema completo y por tanto necesita muchos menos recursos.
  11. docker para usar openvpn? wtf? Todas las tecnologías terminan sobreutilizandose solo por el hecho de mencionar una palabra clave más?
  12. #52 Podrían obligarte a aceptar el certificado para navegar a través de su red WiFi mediante una pagina de bienvenida.
  13. #54 ¿El título es "como montar una VPN" o pone algo más?

    Y luego, confundes Linux con UNIX. Linux se inspira en UNIX, Darwin es un UNIX certificado.

    Al final la gente que ataca de forma tan ridícula Linux acaba demostrando que tiene poca idea de lo que habla, lo que motiva que nadie se lo tome en serio ni de respuestas productivas.
  14. Yo esto lo he hecho configurando la Raspberry como servidor OpenVPN. Cuando tuve que ir a Hong Kong por trabajo me conectaba a la VPN y como navegaba con IP española podía ver la TV por Internet sin restricciones geográficas.
  15. #55 Yo las tengo con DynDns con routers LTE en ambos extremos (en mitad del campo y sin fibra o ADSL y ortografía hododosa para un radioenlace) y bueno, no dan demasiados problemas. El problema es cuando tienes una resignación de IP que se te va el túnel al carajo xD xD
    Pero es eso o el Pleistoceno la informática.
  16. Una pregunta, habla de robarnos las contraseñas de Facebook , bancos y resto de webs si nos conectamos a una WiFi, si todo eso va por https, cómo nos van a robar las contraseñas? De hecho en Facebook ya todo va por https con lo cuál ni siquiera las fotos verían.
    Antes de votar errónea, alguien experto en seguridad me puede explicar si estoy equivocado?
  17. #60 Joer si llego yo a saber de esto...
  18. #90 ya conozco docker, lo uso para desarrollar y no llenar el pc de servicios. Pero entre el xbmc el couchpotato el sickrage y demás... Espero a ver si sale una con 2
  19. #29 IPVanish
  20. #28 OpenVPN es la forma complicada de crear una VPN, hay que crear certificados, ficheros de configuración.

    También es la más complicada para los clientes windows, ya que por defecto no viene en Windows (ups).

    Al mismo tiempo es la solución más flexible, potente y configurable, perfecta para entornos corporativos o empresariales donde otros se quedan cortos.

    Que alguien quiera montar un OpenVPN para su casa, y más sobre un docker... pues es una cosa personal de quien lo haga, como si lo monta en Windows que seguro que le da el doble de problemas (aparte de no tener un equivalente a docker, claro).

    Es como si yo critico la complicación de Indra para montar un puente, cuando yo en mi finca cogí cuatro maderas y ya pude cruzar el regato que tengo.

    OpenVPN es el puente de hormigón y asfalto, resistente a torsión, de tantos metros como quieras y que dura varias décadas.
    El asistente de VPN de Windows es el puente de madera (Microsoft tiene otras cosas para hacerlos de hormigón, pero no viene en tu edición de Windows ni es tan sencillo ;) )

    Luego, hablando de tirarse tiempo configurando chorradas ¿Has visto ya como configurar el puerto de la conexion PPTP en Windows? Que me interesa.
  21. #71 para navegación está bien, pero en un móvil hay cientos de servicios que se conectan a Internet, el navegador es sólo uno
  22. #1 Enhorabuena. El tutorial te ha quedado bastante clarito y fácil de seguir.
    Ahí van mis dies.
  23. #1 Yo lo tengo montado en la rpi2. A ver si sacan una rpi3 con 2 gigas de ram (por lo visto tienen un problema de arquitectura con la ram) y me tiro a "dockerizar" los servicios.
  24. #53 A no ser que tu nuevo equipo venga con una CA instalada que se haya comprometido. Creo que no hace mucho hubo un caso, creo que era Lenovo que instalaba la CA y la clave privada por lo que cualquiera podía falsificar certificados para un equipo de esa marca.
  25. #70 Es cierto que si aplicamos un mínimo de sentido común no deberíamos de tener problemas, pero también que el usuario promedio no dispone de conocimientos informáticos avanzados y en consecuencia es relativamente fácil aprovecharse de ello.

    Imagínate que en medio de una zona turística habilitáramos una WiFi abierta haciéndonos pasar por una entidad de turismo y que requiriéramos hacer un like en facebook para poder navegar. En nuestra pagina de bienvenida colocamos el hook y luego un botón de login en facebook para el like.

    La cantidad de gente que haría un like por no gastar datos del teléfono sin preocuparse en que su cuenta puede estar siendo robada.

    La mayor vulnerabilidad informática somos las personas ;)
  26. #71 Si lo que quieres es ocultar desde donde navegas va bien, si lo que quieres es privacidad cuando usas protocolos inseguros los servidores TOR o proxys gratuitos no sirven.

    Te puede servir para saltarte las restriciones geográficas para ver la TV por internet, pero si lo que quieres es evitar exponer datos privados en la wifi del McDonals puede que los esté viendo el administrador del nodo de salida TOR o del proxy.
  27. #49 muchas gracias!
  28. #5 a 200 pavos mínimo
  29. #9 No es nada raro su caso, en varios entornos lo que interesa es que puedas acceder a los equipos privados de la organización. Es el uso inicial de las VPN y no tanto la privacidad.

    Y efectivamente es una opción del cliente, aunque se puede "mandar la orden" configurando el servidor: es el cliente el que tiene que modificar la ruta por defecto.
  30. #25 1) Un buen truco es usar un puerto común, si tiras por el 80 (navegación web) raro será la wifi que lo tenga cortado en salida (aunque puede pasar, que haya un proxy transparente haciendo de intermediario, para esos casos el 443 HTTPS).

    2) Las wifis públicas ya no suelen tener muy buen rendimiento, por lo que será despreciable. Pero siendo estrictos: sí, lógicamente hay un paso más en la comunicación y eso se notará, al tiempo de comunicación entre la wifi y el servidor al que accedes se suma el tiempo del equipo VPN al servidor.

    Otro factor es que limitas tu conexión a la velocidad que dé la red de la VPN, y lo que es peor, la velocidad de descarga tuya se limita a la de subida de la VPN (que es la que se va a utilizar para enviarte los datos).

    Para navegar no vas a notar nada, unas décimas de segundo más, un pestañeo. Para jugar en tiempo real ya es tontería estar en una Wifi pública. Para descargar también, pero si la wifi es buena vas a estar limitado por la red de tu servidor VPN.
  31. #26 #36 Ni exploit hace falta, aquí un ejemplo de lo que tenemos en mi empresa:  media
  32. #46 VPN site 2 site necesitarías al menos 1 IP fija. Con dynDNS y similares no me atrevería mucho a tirar túneles, la verdad.
    Dicho esto, no creo que un VPS sea una buena opción para VPN, por el salto intermedio que tú dices que añade redundancia y mete a un tercero en tu camino.
    A nivel usuario es un poco matar moscas a cañonazos, te da privacidad porque nadie ve qué haces navegando, pero es caro y complicado de administrar.
    Para eso hay empresas que te ofrecen VPN con muchas terminaciones en muchos países. Lo malo claro está es que esa empresa sí ve lo que tú navegas.
  33. Acabo de probarlo y funciona de 10 #0 :hug: :hug: :hug: :hug:
  34. Han mejorado ya las conexiones de subida? Porque yo tengo 1Mb de subida y pasar por una VPN en casa para protegerme estando en el exterior es como suicidarse a pellizcos...

    Lo hice cuando tenía fibra con 20Mb de subida y ahí sí. Ahora pago VPN que ademas me deja salir por el país que quiera {0x1f609} {0x1f609}
  35. #41 ¿Sabes los beneficios ue aportan los Dockers a un SO?

    Por cierto, revísate los de Mac OSX, que creo que has patinado un poco.
  36. #47 Uf qué peligro los filtros de HTTPS. Es un terreno muy delicado que puede salir el tiro por la culata. Es básicamente meter un certificado SSL global que sustituye los reales, haciendo mucho más sencillos los ataques de suplantación de identidad y similares. Sólo necesitan conseguir 1 certificado para tumbar toooda la seguridad HTTPS de todas las páginas web.
    Aunque considero que el SSL es un problema gordo para filtrar (no puedes ver nada desde el firewall), la alternativa me parece mucho peor.
  37. #61 Gracias por el aporte. A ver, si quieren que no uses la conexión para algo no la usas. Yo solo menciono trucos que suelen funcionar.

    Pero para eso hay trampas, como bien enlazas con ese pull, puedes fingir que es comunicación HTTPS o incluso usar websockets con HTTPS de verdad.

    Luego pueden impedir las comunicaciones con websockets o que sean muy duraderas... y así seguir la persecución en círculos xD
  38. Muy bueno el artículo. Muchas gracias!
  39. #1 Aunque no soy experto, me gustas estas cosas. Buen artículo, bien explicado -hasta yo soy capaz de entenderlo, o sea, bueno de cojones --. Y despreocúpate del que dirán: es marca de la casa.
  40. #121 me alegro, gracias por leerme ;)
  41. #11 Pero la NSA no es cualquier nodo de Internet. Sólo algunos...
  42. #79 Una tecnología suficientemente avanzada es indistinguible de la magia.
  43. #19 como digo en el artículo, usar docker simplifica la gestión del servidor ya que la configuración y actualizaciones del host no afectan en nada a la VPN
  44. #41 te ponen negativos y tu comentario es bastante coherente. Es más fácil censurar que replicar
  45. #12 Yo estoy con 6.0.1 y acabo de probar ahora mismo y salgo a internet por la VPN. Si bien es cierto que utilizo l2tp+ipsec en vez de OpenVPN
  46. #20 Si si, con el nativo de Android. El servidor VPN es un RouterBoard, pero no con OpenVPN, si no creandolo "a mano" con l2tp+ipsec. www.adslzone.net/postt353764.html ahí tienes un tuto, aunque yo no seguí ese (no recuerdo cual utilicé)
  47. #34 #28 #31 A mi me parece muy bien que me tratéis de troll y tal, pero podríais tener el detalle de intentar replicarme, porqee al fin y al cabo no podéis negar que poner una VPN es una cosa rápida y sencilla, pero el artículo explica un montón de pasos para hacerlo.

    Que me parece muy bien si es una prueba de concepto, una especie de excusa para explicar las bondades de apt-get, de montar cosas virtualizadas, de explicar qué es y para qué sirve una VPN, etc (vamos, como experimento sin fines prácticos pero SI didácticos).

    Pero no parece el caso. Parece un tutorial real y serio de explicar cómo se instala un servidor de VPN, y ahí, os pongáis como os pongáis, la gente de Linux acepta como normal algo que no es normal.

    No es normal que para que un programa funcione tengas que tener un kernel compilado con ciertas librerías
    No es normal que tengamos que configurar manualmente un servicio del sistema
    No es normal que tengas que conocer tropecientos comandos y sus parámetros para tropecientas instrucciones (como por ejemplo para crear un fichero de certificado)
    No es normal arrancar la consola para tantas y tantas cosas. A mí como informático rarito me gusta mucho abrir la cónsola y usarla, pero es una opción personal: lo normal tiene que ser que los programas tengan una bonita interfaz, con botones, ckeckboxes, combos y sliders. ¿que también se pueden arrancar des de la línea de comandos? PERFECTO ¿Que tienen TODAS las opciones en un fichero de configuración que podemos toquetear? PUES AÚN MEJOR

    Pero que sea opcional, que sea para profesionales con necesidades profesionales, NO que sea lo normal

    Paz tíos, y a ver si me podéis hacer alguna crítica constructiva y con argumentos
  48. Luego está el tema del cliente. En Android Kitkat (4.4) la aplicación OpenVPN Connect me iba sin problemas. Pero en cuanto me compré un móvil nuevo con Android Marshmallow (6.0), la misma app tal cual no he conseguido que funcione. Me conecta a la VPN, pero el problema está en que no me enruta todo el tráfico a través de ella. Puedo conectarme a los terminales de la VPN sin problema, pero el tráfico hacia Internet va directo, sin pasar por la VPN :-(

    Cualquier ayuda se agradecería!!!
  49. #9 Tan simple como ir a webs como whatsmyip o whereismyip. Aunque me doy cuenta sin querer visitando webs con limitaciones de contenido geográficas.

    El servidor funciona, porque en Android 4.4 y Ubuntu no tengo ese problema. Creo que debe de ser una limitación de la tabla de enrutado en las nuevas versiones de Android...
  50. #41 cat /var/log/quevatiosiellinuxesmuyamigable | grep -v | awk "{print $1}" | sed -e 's/linux/windows/g'

    No sé ni lo que he escrito, como usuario de Windows creo que estoy poseído.
    Estoy contigo, yo uso linux por ser abierto y tener un montón de herramientas, pero consideró que es mucho más cómodo y del siglo XXI que todo tenga GUI, y que sea sencillo.
    A veces creo que hay cosas que lo complican innecesariamente para hacerse los guays que saben mucho de tecnología. Hay proyectos opensource que para mí han sido un dolor de huevos ponerlos en marcha. Horrible configuración, horrible documentación, poco amigables... Eso con un poco de menos frikismo se pueden poner más sencillos de instalar y configurar.
    Entiendo que un GUI es tedioso de hacer, pero al menos que los archivos de configuración sean sencillos de armar, que me ha tocado repetir la misma configuración en 15 archivos distintos (puto SpagoBI, nunca lo pude echar a andar)
  51. #10 ¡muchas gracias!
  52. #21 esto lo he montado en un servidor de OVH con conexión 100/100
  53. #23 con 1GB de RAM también puedes usar Docker, en realidad no es una virtualización completa del sistema, casi no gasta recursos y el rendimiento es muy muy similar
  54. #18 muchas gracias!
  55. #93 Caray, menudo jáquer.
  56. Para los meneantes: win10 ya tiene un docker decente, seguramente también se pueda configurar para usarlo desde un windows...
  57. #22 ¿Qué parte del "te" no entiendes?
  58. #21 que servicio usas?
  59. #28 Tu eres muuuu tonto o un troll muy malo.
  60. #42 Eso protege solo el tráfico web y, bueno, en ocasiones, ni eso. Con una VPN encapsulas todo el tráfico, incluido por ejemplo el de acceso a bases de datos SQL, FTP, específico de aplicaciones, etc.
    Además la VPN aporta una cosa que #0 no comenta. Conectas dos redes separadas físicamente a nivel Capa 2 o Capa 3, es decir, que se comportan como si estuvieran físicamente unidas. BVamos, que da igual que estés sentado en la oficina con tu portátil que en un hotel con tu portátil. El acceso a los recursos de la red son idénticos.
  61. #25 #40 Por el puerto 443 también pueden dar problemas con algunos firewall muy restrictivos que hacen DPI y comprueban que la conexión sea HTTPS de verdad, aunque no puedan mirar lo que está cifrado.

    github.com/OpenVPN/openvpn/pull/7
  62. #56 Cuando hayas tenido que recuperar 10TB en cintas me cuentas. xD.
    Pero desde luego, desde que tenemos montado esto las infecciones han bajado a niveles próximos a cero.

    Y respecto a los certificados, bueno tendrían que petar el servidor de A.D. y el Sophos, y entonces ya daría igual la navegación, que nos suplanten páginas y su puta madre porque nos habrían jodido de verdad.
  63. #45 Has visto la última actualizacion del DSM de synology?
  64. #103 ponte a trabajar vago
  65. #125 podemita alert.
  66. "Cualquier nodo de internet que vea pasar nuestros datos VPN sólo verá una ristra de bits sin sentido"

    ...hasta que llega la NSA y se FOLLA a esos 1024bits en los que tanto confías.

    No perdáis el tiempo configurando estas mierdas, el Pokémon GO mola mucho más y aporta mas información de calidad a los AMOS.
  67. #2 Porque se puede, pero si, lo veo una chorrada
    Ahora bien, el articulo es interesante por explicar dos cosas a la vez
  68. #16 Yo quiero, ¿me lo regalas?
  69. Yo uso Pritunl. Open source, apenas hay que configurar nada. Droplet ubuntu en digitalocean de $5/mes y listo. Recomendado
  70. #57 La VPN te protegería de un phishing en esa red WiFi dado que tu salida a la web destino (Ej: facebook) vendría desde el servidor VPN.
    BeEF se vasa en crear un hook en java script que se inyecta dentro de un código HTML creando una web de bypass entre el navegador cliente y el destino.

    Un pequeño tutorial de kali linux que explica su funcionamiento básico.
    forums.kali.org/showthread.php?23861-Tutorial-Easy-Beef-XSS-hook

    Si eres el administrador de la red WiFi solo tendrias que interponer un web proxy que injectara el javascript antes de ir a la web destino.
  71. Ufff menudo follón... Todo esto se hace mejor con Hyper-V que viene incluido en cualquier Windows, el sistema que más gente usa. Luego creas la VPN con 4 clics. Fin del tutorial.
  72. #47 no se ve la imagen. Pero como dice #57, no sería igual con VPN?
  73. #17 yo se programarla para 3,6 y 9 horas. Eres un looser
  74. #78 has dicho: el usuario común... Y he dejado de leer, el usuario común es capaz de ponerse una VPN?
  75. #67 oye, de las cosas que dices a #44 a mi no me funciona ninguna en los Linux que he montado...
  76. #99 ok. Gracias.
  77. #97 Es un sarcasmo, ¿no?
  78. #112 no. Instalar un periférico un poco raro suele ser un dolor de huevos porque los fabricantes no hacen drivers. Ubuntu viene con programas de fábrica pero no miles. Cambiar disco duro no lo he hecho nunca, pero si añades memoria muchas veces hay que liarla parda para que te la coja. Y cuando actualizo... Se va siempre algo a tomar por culo.
  79. #114 Administro más de 500 ordenadores con Windows y unos 30 equipos con Ubuntu.
    Creéme si te digo que Ubuntu es mil veces menos problemático con el 95% de los drivers.

    apt-get install lo que sea....y tienes en los repos más de 30.000 programas.

    ¿Que no te pilla la memoria? Joder, Linux es compatible hasta con los módulos ECC más extraños del mercado. Tienes un problema en tu hadware.

    Actualiza Windows, ya veràs que risa....
  80. #104 `sudo apt-get install openvpn` done.
  81. #88 Puedes perfectamente usar Windows Server Core, sin interfaz gráfica y hacerlo absolutamente todo por línea de comandos a través de Powershell. Si es como te gusta a ti trabajar claro. También puedes ahorrarte el dedicado y hacer una VPN con el PC de tu casa en 4 clics con Windows. Si en vez de usar IPSec usamos PPTP nos ahorraremos toda la historia de generar los certificados y los archivos de configuración ya que se hará todo automático. Tu VPN lista en 2 minutos y 2 clics.
  82. Aqui un lego en la materia que se pregunta un par de cosas:
    1) Las wifi públicas no bloquean puertos? TEndré que andar jugando con puertos en cada wifi, y si hago como el comentario en el blog, y asigno el 443TCP por ejemplo, debería rular siempre?
    2) Como se ve afectada la velocidad de transmisión? Y el LAG? es decir, esto hará que todo vaya más lento, hará que todo tarde en arrancar, ambas cosas o ninguna?
  83. #5 yo tengo uno. Algún tutorial para montarlo?
  84. #1 vpn y docker, no hay tecnologias más aburridas???
  85. #2 yo entiendo que para eso esta el https
  86. #47 Esto se puede usar si puedes instalar el certificado de la autoridad de certificación en los clientes, por lo tanto, en un entorno empresarial.
  87. #26 Tienes razón. A no ser que seas de los que aceptan todos los avisos de certificado no válido, difícilmente te van a interceptar el tráfico en claro.
  88. #36 BeEF is short for The Browser Exploitation Framework. It is a penetration testing tool that focuses on the web browser

    Si lo entiendo bien, esto se basa en explotar los navegadores. La VPN tampoco te protege ante este tipo de ataques.
  89. #59 Cierto, pero ahí ya entra el sentido común (y los conocimientos, claro). También te pueden pedir que lances un ejecutable en tu máquina e incluso pueden pedirte que lo hagas como administrador, ya puestos...

    Lo que digo es que, en general, https y un poco de sentido común basta para casi todo, excepto para agencias gubernamentales, que esas sí tienen certificados universales y legales que permiten interceptar tráfico, por lo visto.

    La VPN sí sirve para evitar filtros y, en general, censura (se usa habitualmente en sitios como China, Iran, etc, pese a que OpenVPN en China está ya bastante controlado).
  90. cuanto comando,
    pk no lo simplifican a un "siguiente siguiente siguiente" ?
  91. #15 Pero eso te sirve con el mismo servidor VPN? Lo haces tal cual desde las opciones de Android sin ninguna app?
  92. #28 Yo también lo flipo para hacer determinadas cosas en Windows que en Ubuntu aparecen por defecto.
«12
comentarios cerrados

menéame