En pasados post vimos como conectarnos a un servidor VPN y además también vimos las numerosas ventajas y usos que nos puede aportar un servidor VPN en determinadas circunstancias. Para quien quiera consultar de nuevo las ventajas y virtudes de un servidor VPN puede consultar el siguiente post:

https://geekland.eu/conectarse-a-un-servidor-vpn-gratis/

Para quien quiera montar un servidor VPN mediante el protocolo pptpd tan solo tienes que seguir leyendo este post.

¿QUÉ NECESITAMOS PARA MONTAR NUESTRO PROPIO SERVIDOR?

Lo único que necesitamos para montar nuestro propio servidor VPN es un viejo ordenador que no usemos, o nuestro propio ordenador personal.

Para poder instalar el servidor VPN siguiendo las instrucciones de este tutorial tienen que tener instalado Debian o cualquier distro que se derive de Debian como por ejemplo pueden ser, Ubuntu, Xubuntu, Crunchbang, Linux Mint, etc.

Nota: Si queremos que nuestro servidor VPN esté disponible un requisito indispensable es tener el ordenador en que tenemos instalado el servidor encendido.

INSTALAR EL SERVIDOR

Para instalar el servidor VPN en nuestro ordenador tan solo tenemos que teclear el siguiente comando el terminal:

sudo apt-get install pptpd

Instalar pptpd

ASEGURAR QUE NUESTRO SERVIDOR VPN TENGA IP INTERNA FIJA

Tenemos que hacer que la IP interna de nuestro servidor VPN sea fija ya que sino cuando recibamos una petición desde el exterior nuestro router no sabrá a que ordenador de nuestra red tiene que redireccionar nuestra petición.

Para conseguir que nuestro servidor tenga una ip interna fija les recomiendo seguir las pasos que se describen en el siguiente post:

https://geekland.eu/configurar-ip-fija_o_estatica_ipv4/

Nota: El método descrito en el enlace que acabo de citar es válido en el caso que estéis usando un servidor sin entorno gráfico. En el caso que estéis usando un servidor con entorno gráfico los cambios los tendréis que aplicar desde vuestro gestor de redes que seguramente serán network manager o wicd.

Una vez terminados los pasos descritos en el link que les he dejado nuestro servidor tendrá ip fija. Con el comando sudo ifconfig podemos podemos ver que la IP fija de nuestro servidor VPN es la 192.168.1.188.

Comprobar que la IP de nuestro Servidor

SERVICIO DE REDIRECCIONAMIENTO DINÁMICO NO-IP

Una vez tengamos instalado y funcionando nuestro servidor VPN lo más probable es que queramos o necesitemos acceder desde el exterior a nuestro servidor VPN, para por ejemplo establecer una conexión a internet segura en un sitio público peligroso e inseguro como puede ser un aeropuerto o cafetería.

Para conectarnos desde el exterior tenemos que conocer la IP Pública de nuestro servidor que en la mayoría de casos será dinámica o variable. Esto significa que en el momento de conectarnos es posible que no sepamos la IP Pública de nuestro servidor. Para solucionar este problema lo que vamos a realizar es asociar la IP Pública de nuestro servidor VPN con un dominio fácil de recordar que en mi caso será geekland.sytes.net.

Para asociar vuestra dirección IP Pública a un subdominio tan solo tiene que seguir los pasos que se detallan en el siguiente enlace:

https://geekland.eu/encontrar-servidor-con-dns-dinamico/

CONFIGURAR EL SERVIDOR

Una vez realizados la totalidad de pasos que acabamos de citar ya podemos pasar a configurar el servidor VPN. Para configurar nuestro servidor tenemos que ingresar el siguiente comando en la terminal:

sudo nano /etc/pptpd.conf

Como se puede ver en la imagen, una vez tecleado el comando se abrirá el editor de texto en el que podremos modificar la configuración de nuestro servidor.

Configurar el servidor VPN pptpd

En este fichero únicamente vamos a modificar dos parámetros:

El primero de los parámetros a modificar es localip. En localip tenemos que poner la IP interna de nuestro servidor VPN. Como hemos visto en apartados anteriores la ip de nuestro servidor VPN es la 192.168.1.188. Por lo tanto tenemos asegurarnos que el siguiente comando estará introducido en el navegador:

localip 192.168.1.188

El segundo de los parámetros a modificar es remoteip. En remoteip tenemos que indicar un rango de IP que serán las que nuestro servidor asignará a las máquinas clientes que se conecten a nuestro servidor VPN. En mi caso he asignado el siguiente rango:

remoteip 192.168.1.234-238

Por lo tanto en el servidor VPN que acabamos de configurar como máximo se podrán conectar 4 clientes de forma simultánea que tendrán una IP comprendida entre 192.168.1.234 – 192.168.1.238. Una vez el cliente se haya conectado pasará a formar parte de la red local en que se halla el servidor VPN.

ELEGIR EL NOMBRE DEL SERVIDOR

El nombre estándar de nuestro servidor VPN es pptpd. A mi el nombre por defecto del servidor me parece correcto y por lo tanto lo voy a dejar tal cual.

En el caso que alguien precise o quiera cambiar el nombre del servidor VPN lo puede hacer de la siguiente forma. Tan solo tiene que teclear el siguiente comando en la terminal:

sudo nano /etc/ppp/pptpd-options

Elección del nombre de nuestro servidor VPN

Una vez abierto el editor de textos tan solo como tan solo tienen que localizar la linea que pone:

name pptpd

Una vez localizada tan solo hay que reemplazar pptpd por el nombre que quieran.

Dentro de este fichero también es recomendable consultar que las siguientes lineas estén descomentadas:

require­mschap­v2 : Esta linea define que el protocolo de autenticación del cliente al servidor se realizará mediante el protocolo mschap-v2.
require­mppe­128 : Esta linea define que el tráfico entre cliente y servidor irá cifrado con una capa de cifrado de 128 bits MPPE.
ms-dns 8.8.8.8: Esta línea hay que introducirla para asegurar que las peticiones DNS se resuelvan adecuadamente. En vez de los DNS de google se pueden usar otros.
ms-dns 8.8.4.4: Esta línea hay que introducirla para asegurar que las peticiones DNS se resuelvan adecuadamente. En vez de los DNS de google se pueden usar otros.

El resto de configuración dentro en principio es válido para nuestros propósitos.

AÑADIR USUARIOS A NUESTRO SERVIDOR VPN

Ahora el siguiente paso es crear cada uno de los usuarios que se podrán conectar a nuestro servidor VPN. Para ello en la terminal tan solo tienen que teclear el siguiente comando:

sudo nano /etc/ppp/chap-secrets

Una vez tecleado el comando aparecerá el editor de texto con un contenido parecido al siguiente:

Introducción de los usuarios en el servidor VPN

Como se puede ver dentro del editor de texto tenemos que introducir los datos para los siguientes parámetros:

Client: En este campo tenemos que asignar el nombre de usuario. En mi caso he elegido que el nombre de usuario sea usuariovpn.

Server: En este campo tenemos que indicar el nombre del servidor. El nombre del servidor por defecto es pptpd. Si en el apartado anterior cuando hemos accedido dentro de /etc/ppp/pptpd-options hemos cambiado el nombre del servidor entonces deberemos sustituir pptpd por el nombre que elegimos.

Secret: En este campo tenemos que definir la contraseña de conexión para el usuario usuariovpn, al servidor VPN. En mi caso el password que he elegido es “unamierda

IP addresses: En este campo pondré un *. De este modo al cliente que se conecta se le asignará cualquier IP comprendida entre 192.168.1.234 y 238. En el caso que quisiéramos que el cliente usuariovpn tuviera siempre la IP 192.168.1.236 tan solo deberíamos reemplazar el * por 192.168.1.236.

Nota: Dentro de este fichero podemos introducir tantos clientes como nuestra red y rango de IP’s definidos nos permitan.

CONFIGURAR IPTABLES PARA EL ENRUTAMIENTO DE PETICIONES

El siguiente paso es configurar nuestro Firewall Netfiler para que el servidor VPN pueda enrutar adecuadamente las peticiones de los clientes que se conectarán al servidor VPN.

Para que el enrutamiento se realizar correctamente lo primero que tenemos que hacer es habilitar el IP Forwarding. Para habilitar permanentemente el IP Forwarding tenemos que teclear el siguiente comando en la terminal:

sudo nano /etc/sysctl.conf

Una vez tecleado este comando nos aparecerá la siguiente pantalla:

Habilitar IP forwarding en el servidor VPN

Una vez abierto el editor de textos tenemos que buscar la siguiente linea:

#net.ipv4.ip_forward=1

Una vez encontrada la tenemos que descomentar. Para descomentarla quitamos el símbolo # quedando de la siguiente forma:

net.ipv4.ip_forward=1

Guardamos los cambios y cerramos el archivo.

En estos momentos el IP forwarding está habilitado y los equipos que forman parte de nuestra red privada VPN se podrán comunicar entre ellos. Pero no lo podrán hacer con redes externas públicas como por ejemplo podría seria conectarse a la página web de facebook.

Para solucionar este problema tendremos que introducir una regla en el firewall. Para introducir la regla que soluciona este problema tenemos que introducir el siguiente comando en la terminal:

sudo nano /etc/rc.local

Una vez se ha abierto el editor de texto tendremos que introducir la siguiente orden:

iptables -t nat -­A POSTROUTING ­-s 192.168.1.0/24 ­-o eth0 ­-j MASQUERADE

Una vez finalizado el proceso vuestra pantalla tiene que tener un aspecto similar al siguiente:

Introducción de reglas en el firewall

El significado de la regla introducida es el siguiente:

iptables: Es la herramienta que utilizamos para introducir las reglas de filtrado al Firewall netfiler.

-t nat: Esta parte del comando indica que la regla que vamos a introducir afecta a la tabla NAT. La tabla NAT (Nertwork Address Translation) es un mecanismo de taducción de IP y puertos que utilizan los routers, o en este caso nuestro servidor proxy, para intercambiar paquetes o trasladar solicitudes entre 2 redes incomptabiles entre si como pueden ser nuestra red privada y una red pública.

Nota: Un ejemplo básico de lo que hace la tabla NAT es el siguiente. Cada vez que nos queremos conectar a una página web la tabla NAT traduce nuestra IP Privada del tipo 192.168.1.x a una dirección IP Pública que es la que tiene nuestro Router. Una vez se ha hecho la traducción de nuestra IP Privada a nuestra IP pública se podrá realizar la conexión entre las 2 redes y conectarnos a la página que queremos visitar.

-A POSTROUTING: En este paso lo que estamos definiendo es que la regla que vamos a añadir la vamos a introducir a una cadena llamada POSTROUTING. De esta forma podremos organizar mejor el tráfico de nuestro firewall ya que las reglas las tendremos organizadas por cadenas.

-s 192.168.1.0/24: Especificamos el origen de los paquetes a los que se aplicará la regla. En este caso la regla se aplicará a la totalidad de equipos de nuestra red local.

-o eth0: Con este comando estamos indicando que la totalidad de peticiones que recibamos a nuestro VPN  se tendrán que entregar a la red exterior utilizando la interfaz de salida eth0.

-j MASQUERADE: Con este comando lo que estamos haciendo es determinar la regla que se tiene que cumplir. En este caso la regla que se debe cumplir es MASQUERADE. Lo que hace MASQUERADE es decirle al servidor VPN que cuando reciba una petición de la red local 192.168.1.0/24 para conectarse a una red pública, proceda el mismo a enviar esta petición en representación del cliente. Una vez se haya procesado la petición y el servidor VPN haya recibido la respuesta la redirigirá a la máquina que realizo la petición.

Nota: Entender el comando que acabo de citar punto por puento lo considero importante para comprender el funcionamiento de un servidor VPN.

ABRIR LOS PUERTOS DEL ROUTER

Para poder acceder desde el exterior a nuestro servidor VPN tenemos que configurar adecuadamente nuestro router.

El router será el encargado de redirigir la totalidad de peticiones exteriores a nuestro servidor VPN. Para que nuestro router pueda realizar esta función tenemos que abrir nuestro navegador y teclear nuestra puerta de entrada. Seguidamente, tal y como se puede ver en la captura de pantalla se nos pedirá nuestro nombre de usuario y contraseña:

Acceder a la configuración de nuestro Router

Una vez introducida la información accederemos a la configuración de nuestro router. Seguidamente, tal y como se puede ver en la captura de pantalla, tenemos que acceder a los menús Advanced / NAT / Virtual Servers:

Acceder a la apertura y redireccionamiento de puertos

Seguidamente presionamos el botón Add y nos aparecerá la siguiente pantalla:

Configuración del Router

En el menú desplegable Select a service tienen que elegir la opción PPTP. De este modo estaremos abriendo el puerto 1723 que es el puerto estándard de nuestro servidor VPN pptp.

En el campo Server IP Address tenemos que seleccionar la IP de nuestro servidor que como hemos visto anteriormente es 192.168.1.188.

De esta forma todas las peticiones exteriores que llegen a nuestro router por el puerto 1723 serán redirigidias a nuestro servidor VPN.

COMPROBAR QUE EL SERVIDOR FUNCIONA ADECUADAMENTE

Para comprobar si nuestro servidor VPN funciona tan solo tenemos que intentar conectarnos a él. Para ello primero lo intentaremos con un teléfono Android y seguidamente con Linux.

Conectarse a nuestro VPN a través de Android

Para conectarnos al VPN tenemos que ir a los ajustes de nuestro teléfono. Una vez dentro como se puede ver en la imagen presionamos Más…

Acceso a la configuración de VPN

Seguidamente tenemos que presionar sobre la opción VPN y aparecerá la siguiente pantalla:

Acceso a la creación del VPN

Presionamos sobre el símbolo + e introducimos los datos de nuestro servidor VPN tal y como se muestra en la siguiente captura de pantalla:

Introducción de los datos del servidor al cliente VPN

En Nombre podemos elegir el que más nos guste. En tipo de servidor tenemos que seleccionar la opción PPTP y finalmente en dirección del servidor lo único que tenemos que poner es la IP pública de nuestro servidor. En nuestro caso hemos asociado la IP pública de nuestro servidor al dominio geekland.sytes.net. Por lo tanto pondremos geekland.sytes.net.

Una vez realizados todos los pasos presionamos guardar. Una vez hayamos presionado guardar les quedará una pantalla parecida a la siguiente:

Conectarse al servidor VPN

Presionamos encima del VPNVpncasa” que acabamos de introducir y seguidamente, y como se puede ver en la captura de pantalla se nos preguntará nuestro usuario y contraseña:

Introducción del usuario y de la contraseña

Una vez hemos introducido nuestro nombre de usuario y contraseña tan solo nos falta presionar en conectar. Una vez hechos todos los pasos, como se puede en la captura de pantalla, ya estamos conectados y podemos navegar y usar el teléfono tranquilamente.

Comprobación del funcionamiento del servidor VPN

Como se puede ver en la captura de pantalla si comprobamos la IP con la que estamos conectados veremos que no es la IP pública del sitio donde estamos, sino que es la IP Pública de nuestro servidor VPN.

Conectarse a nuestro VPN a través de Linux

Si necesitamos conectarnos a nuestro servidor VPN en un ordenador con GNU Linux el proceso es fácil. Tan solo tenemos irnos a icono de nuestro gestor de redes que esta nuestro panel, y seleccionar las opciones que se pueden ver en la siguiente captura de pantalla:

Inicio de la configuración

Después de seleccionar la opción Configurar VPN, aparecerá la siguiente pantalla:

Añadir un VPN

Como se puede ver en la captura de pantalla tan solo tienen que presionar el botón Añadir. Una vez hemos presionado Añadir aparecerá otra ventana:

Elegir el protocolo del servidor VPN

Tal y como puede verse en la captura de pantalla, en el menú desplegable tienen que elegir la opción protocolo de túnel punto a punto (PPTP). Seguidamente presionaremos al botón Crear…

Una vez presionado el botón Crear aparecerá la siguiente ventana:

Introducir el usuario y la contraseña en el cliente

Como se puede ver en la captura de pantalla en está ventana tenemos que indicar el nombre de la conexión, la IP Pública de nuestro servidor, nuestro nombre de usuario y finalmente nuestra contraseña.

Una vez introducidos todos estos datos tenemos que clicar encima del botón que pone Avanzado… Una vez hayamos presionado sobre el botón aparecerá la siguiente pantalla:

Configurar los parámetros de la conexión

En la siguiente pantalla tenemos las distintas opciones de configuración del cliente VPN. Ustedes tiene que seleccionar justo las que pueden ver en la captura de pantalla. Una vez seleccionadas presionar el botón Aceptar.

Una vez presionado aceptar aparecerá otra vez la siguiente pantalla:

Guardar la configuración del cliente

Ahora tan solo hace falta presionar en Guardar. Para finalizar ya solo nos falta conectarnos. Para hacerlo se van de nuevo al icono del panel de network manager y siguen la ruta que se muestra en la siguiente captura de pantalla:

Conectarse al servidor VPN

Ahora tan solo resta esperar unos segundos y verán que les aparece el mensaje que la conexión se ha establecido con éxito:

Conexión establecida al servidor VPN

Una vez conectados al servidor VPN comprobaremos que la IP con la que estamos conectamos a internet no es la la IP pública del sitio de donde nos conectamos. Para ello accedemos a la siguiente web:

http://www.vermiip.es/

Comprobación del funcionamiento en Linux

Como se puede comprobar en la captura de pantalla la IP corresponde a nuestro servidor VPN. Por lo tanto todo funciona a la perfección.

SEGURIDAD QUE NOS APORTARÁ NUESTRO SERVIDOR VPN

Es conocido que el protocolo pptpd tiene ciertas vulnerabilidades y que a día de hoy se puede considerar un protocolo obsoleto. Podemos afirmar esto por los siguientes motivos:

  1. El cifrado que utiliza este protocolo es un cifrado de 128 bits. Hoy en día imagino que para organizaciones como la NSA y otras organizaciones que disponen de una gran potencia de computación este cifrado es fácil de romper si se lo proponen.
  2. El protocolo de autenticación MSchapv2 y LEAP presentan vulnerabilidades de seguridad graves y si elegimos una contraseña débil un atacante puede llegar a obtener está clave en menos de 24 horas mediante ataques de diccionario offline que se pueden realizar con el software asleap.

Pero también es cierto que este protocolo aún tiene algunas ventajas como pueden ser las siguientes:

  1. Es fácil de configurar.
  2. Disponemos de clientes VPN incorporados en la gran mayoría de sistemas operativos como por ejemplo Windows, Android, Mac y iOS.
  3. Lo podemos usar tanto en ordenadores como en tabletas como en teléfonos.
  4. Es el protocolo usado en la mayoría de software antiguos.

También son muchos los que dicen cosas que no son ciertas. Se dice que que en el proceso de autenticación nuestro usuario y password van en texto plano. Este es completamente falso.

Respuesta de la autentificación

Si se observa la captura de pantalla pueden ver que lo máximo que podrá llegar a obtener un atacante mediante un sniffer es nuestro nombre de usuario, el desafío de autenticación y la respuesta de autenticación. Por lo tanto no es verdad que nuestra contraseña esté en texto plano.

Nota: Con el desafío de autenticación y la respuesta de autenticación es posible y factible obtener la contraseña mediante un ataque de diccionario con asleap. Por lo tanto se recomienda elegir una contraseña robusta, de gran longitud y complejidad.
Nota: Para que quien quiera profundizar más sobre el proceso de autenticación MS-Chapv2, que es el que utiliza el servidor VPN que acabamos de montar, pueden consultar este post:

http://unaaldia.hispasec.com/2012/09/rematando-ms-chap-v2-microsoft-aconseja_5.html

Otras de las cosas falsas que podéis llegar a leer en la web es que usando el protocolo pptpd el tráfico viaja sin cifrar. Esto es totalmente falso ya que este protocolo configurado adecuadamente proporciona un cifrado MPPE de 128 bits (Microsoft Point to Point Encryption). Si lo quieren comprobar tan solo observar la siguiente captura de pantalla:

Paquetes cifrados

Como se puede comprobar en la captura de pantalla la totalidad de paquetes capturados están encapsulados.

Por lo tanto a pesar de ser un protocolo viejo y obsoleto existen mecanismos de defensa que por desgracia a día de hoy son vulnerables para algunas personas. Por lo tanto si en vuestro caso manejáis información confidencial o sensible no es recomendable usar pptp. Los más recomendable seria utilizar otros protocolos como por ejemplo OpenVPN, L2TP o IPsec. No obstante estos protocolos son bastante más difíciles de configurar que pptp, requieren de certificados digitales y no acostumbran a tener soporte para plataformas o software antiguo. En el caso que alguien maneje información confidencial y necesite la máxima seguridad le aconsejo seguir las instrucciones de este post https://geekland.eu/crear-y-configurar-servidor-openvpn/ para poder instalar y configurar su propio servidor OpenVPN.

En el caso que la información que manejáis no sea confidencial no veo porqué no podemos usar pptp. Deberemos tomar ciertas precauciones como por ejemplo elegir claves largas y complejas y cambiar nuestra contraseña de forma periódica. De esta forma conseguiremos minimizar el riesgo de un ataque.

 

Únete a la conversación

53 comentarios

  1. Buen post!! Dejame darte dos sugerencias:

    1º el archivo es /etc/pptpd.conf (en el tutorial está mal puesto)

    2º Creo que no deberías poner el usuario de tu gateway y taparlo en el caso de que sea el verdadero (una tontería si pero queda más profesional y da más seguridad y credebilidad al tuto)

    Por lo demás genial.

    1. Buenas Jose

      Gracias por avisar. El error está corregido.

      Referente al nombre de usuario es falso y el servidor que he montado está en una máquina virtual apagada que borraré. La seguridad es importante.

      Un saludo

  2. hola

    Sigo tu tutorial y mi android se conecta pero no tiene Internet. ¿ Y como hago también para que cualquiera se pueda conectar a esta vpn?

    Saludos grades tus tutos

    1. Posiblemente estés haciendo algún paso incorrectamente. Si lo haces correctamente te tendría que funcionar. No hay que copiar y pegar. Hay que entender lo que haces y adaptarlo a tu caso y a tu red. Repite los pasos porqué diría que algo no haces correctamente.

      El error o problema es posible que lo tengas en el enrutamiento del tráfico.

      Para que más gente se pueda conectar al VPN lee el apartado añadir usuarios a nuestro servidor VPN.
      Saludos y suerte.

  3. En mi caso configure todo al pie de la letra en mi raspberry pi y logro entrar al VPN desde mi macbook y desde el iphone. Pero a los pocos segundos se cae la conexión. ¿Que esta pasando???

    1. No se que está pasando. Quizás sea problema de resolución de DNS. Prueba de entrar en el fichero /etc/ppp/ pptpd-options. Una vez dentro del fichero escribe las siguientes líneas:
      ms-dns 8.8.8.8
      ms-dns 8.8.4.4

      A mi me funciona sin esto pero cada sistema operativo es diferente.

      saludos

  4. Yo lo instale y me funcionaba bien. Pero al reiniciar el servidor los clientes ya no se podian conectar a la VPN otra vez, es extraño.

    1. Pues si que es extraño. Además tiene más sentido que te funcione después de reiniciar que antes de reiniciar. Lo digo porqué si no reinicias tu servidor la totalidad de contenido que introduces en el /etc/rc.local no se aplica. Por lo tanto lo que te pasa es doblemente raro ya que sin reiniciar me extraña que te funcione y reiniciando me extraña que no te funciono si todo esta hecho tal y como se explica en el post.

      Mira que al reiniciar el demonio pptpd esté activo. Sino esta activo lo tendrás que levantar manualmente.

      Saludos

  5. Amigo como puedo crear el servidor vpn pero con windows. ¿Podría colaborar si es tan amable gracias?

    1. Hola Leonardo.

      Desafortunadamente no dispongo del tiempo para poder atenderte ni tampoco se como hacerlo en Windows. Seguro que en google encontrarás otros post que explican como hacerlo en windows. Quizás alguién que lea tu comentario te escriba un enlace en el blog.

      Saludos

  6. Hola, quizas sea u tema viejo, pero para mi es nuevo, e intentado varias veces, de conectar mi android a una vps que tengo, pero no e podido, incluso con tu tutorial…
    mi problema es que me pierdo aca:

    localip 192.168.1.188

    remoteip 192.168.1.234-238

    no comprendo por que en la primera tienes una ip (localip 192.168.1.188)
    (remoteip 192.168.1.234-238) no entiendo por que desaparece el .188, serias tan amable para explicarme que pasa con ese .188, donde se va o que onda.

    Saludos

    1. Hola Manuel. Para poder montar un servidor necesitas tener un conocimiento mínimo de redes informáticas y por la pregunta que has hecho deduzco que tus conocimientos son muy básicos y no sabes lo que es una ip.

      localip es tu ip interna. Tu deberás poner la ip de tu servidor VPN que deduzco que es el VPS del que hablas. para averiguar la ip deberás usar el comando ifconfig y deberás usar una ip fija.

      remoteip 192.168.1.234-238 es el rango de IP que asigna el servidor VPN a las máquinas que se conectan a él. En el rango la dirección .188 no está ya que una máquina que se conecta al servidor VPN no puede tener la misma ip que el servidor VPN.

      Todas las preguntas realizadas estaban ya explicadas en artículo. Ahora tienes que poner de tu parte y comprender que es una dirección ip. Saludos y suerte con tu configuración.

  7. Joan se agradece, la rápida y la sencilla respuesta. Ahora intentare nuevamente y avisaré como me va.

    Saludos

  8. Hola Joan, que buen post hiciste, lo pondré en práctica, en dado caso si tuviera alguna duda por «x» o «y» razón(aunque no creo porque lo explicas muy bien) ¿podrías ayudarme? o ¿cómo hago para que éste proyecto sea un poco más pesado (en cuanto al nivel de dificultad), no sé, tal vez poner un Firewall con propias reglas con IpTables, gracias Joan.

    Espero alguna respuesta por parte de usted.

    ¡Saludos!

    1. Buenas Erick.

      En el post hay todo lo necesario para que puedas montar tu propio servidor. En caso de tener preguntas siempre eres libre de publicarlas. El hecho de tener respuesta ya es otro tema. Si tu pregunta es muy genérica o no formulas bien la pregunta difícilmente nadie te contestará.

      Saludos y suerte con el servidor.

  9. Hola,

    Lo tengo todo configurado y funcionando, lo único que me ocurre que al conectarme con un cliente a la VPN y comprobar la ip pública me sale la que tengo. ¿Debe aparecer la misma ip publica conectado con VPN?

    Tengo todo el trafico de Internet pasado por la vpn.

    1. Si tu ip no se modifica entonces es que no estés conectado al servidor VPN. Lo más probable es que el problema esté en la parte del cliente. Sin más información es lo máximo que te pueden decir.

  10. Excelente el tuto!.

    Tengo una duda, es posible implementar la VPN para utilizar el internet del server? ya que donde monte el server VPN el ancho de banda es mucho mayor y me gustaría conectarme a tal red pero para utilizar el internet.

    En palabras simples

    A= cliente (internet 1mb)
    B= Server (internet 6mb)

    conectarme a B para disfrutar de los 6mb.

    1. Hola Clay

      Sin tener la certeza absoluta yo diría que no se puede. La velocidad de descarga o de carga que tendrás siempre será la más lenta entre A y B. si te conectas al VPN desde A tu velocidad será más lenta que si te conectas a internet sin VPN.

      Saludos

  11. He quedado fascinado por este tutorial. En unas semanas espero poder llevar a cabo este proyecto en el que no hay pierde. Espero que pongan guías de servidores VPN con menos vulneverabilidades que son un goce para los amateur y para los que lo necesitan para un entorno empresarial.

    Saludos.

    1. Hola Jesús

      Si lees el post verás que ya hay un enlace en el que encontrarás una guía para poder configurar un servidor VPN con el protocolo OpenVPN. Es bastante más complicado y laborioso, pero la seguridad que ofrece es mucho mayor.

      Saludos

  12. Hola a todos, ya realice todos los pasos dell tutorial y no me he perdido. Pero llegue a la parte de abrir los puertos en el router, pero yo en lugar router tengo instalado el ipcop y no se como realizar esos ajustes, alguien me puede orientar en eso. El entorno de trabajo que tengo es el siguiente:

    1 Servidor con ipcop
    1 Servidor Debian Wheezy en modo texto.
    1 Lan con clientes windows.

    Lo que necesito es usar el mysql que tengo en el servidor debian, desde afuera, de la lan. Gracias por sus comentarios.

  13. Hola,

    Ya cuento con tiempo para llevar a cabo un proyecto de este tipo pero queria preguntarte algo: quiero comprar un cpu para hacer pruebas, con mi presupuesto puedo comprar:

    -intel core 2 duo de 3GHz
    -2 GB de ram (DDR2 o DDR3)
    -disco duro de 160 GB
    -video integrado de 1 GB

    Todo esto me lo venden a 150 dólares (solo cpu), usado.

    Mi duda en general es que no sé si debo comprar un core 2 duo, un i3, etc. Para hacer pruebas con servidores tipo vpn, web, repositorio de archivos, base de datos, etc. (con ubuntu server supongo) ¿Qué me podrías comentar al respecto? O debo buscar algo más simple tipo: core 2 duo 1.8GHz, 2 GB de ram y 250 MB de video integrado. Gracias y ya te comento luego cómo me fue con este proyecto.

    1. Hola Jesús

      Aconsejar que la gente compre software no es mi especialidad. Hay muchos tipos y generaciones de Core duo, i3, i5, i7, etc.

      Para hacer un proyecto te recomiendo que no compres nada. Si tu ordenador es relativamente nuevo utiliza una máquina virtual como Virtualbox o VMware. Como tu dices es un proyecto y por lo tanto esto debe ser suficiente para usarlo en caso puntual y para aprender acerca de su instalación y configuración.

      Si realmente quieres comprar algo el equipo que mencionas, aunque sea obsoleto, para estos propósitos es más que suficiente.

      Saludos

  14. Hola, extrañamente si asigno la ip que los usuarios deberían usar no me conectan. Si lo dejo con *, si funciona. ¿Hay manera de ver quien esta conectado a la VPN?

    1. Raro lo que cuentas. La IP se debería asignar sin problemas. Si quieres ver los cllientes conectados puedes usar el siguiente comando en la terminal:

      last | grep ppp

      Con este comando podrás saber los usuarios que se han conectado. La hora en que se han conectado, la hora que salieron y con que ip se conectaron. Si aún están conectados te dirá que aun están conectados.

      Si quieres consultar un log en el archivo de configuración tienes que asegurarte que la opción logwtmp está descomentada. Si la opción está descomentada entonces todas las entradas y salidas de los clientes se almacenan en var/log/wtmp.

      Saludos

  15. hola

    tengo un problema, he seguido al pie de la letra todo.

    tengo conexión vpn ya desde algunos dispositivos, me asigna una ip y todo como debe ser, pero mi problema es que cuando me conecto no tengo navegación. Tengo navegación desde el servidor con normalidad pero cuando intento navegar desde uno de los clientes/dispositivos no consigo.

    ¿alguna idea?
    muchas gracias por tu ayuda

    1. Hola

      Que sigas al pie de la letra unas instrucciones no es garantía de que las cosas salgan bien porqué la configuración de red que tengo yo puede ser diferente a la tuya.

      Yo si fuera tu repasaría todos los pasos de nuevo intentando comprender que haces en cada momento. En especial repasa el apartado del enrutamiento de peticiones. Si lo configuras bien funciona perfecto tanto para ordenadores, tablets y teléfonos sin ningún tipo de problema.

      Saludos

  16. Hola,

    Disculpa tengo una duda. Todo me funciona muy bien para conectarme a la VPN y etc.. lo que he tenido problema es con la conexión a exterior (como conectarme a Facebook o netflix)

    Se que mi error debe estar en esto:

    iptables -t nat -­A POSTROUTING ­-s 192.168.1.0/24 ­-o wlan1 ­-j MASQUERADE

    Tengo 2 tarjetas WIFI conectadas a diferentes redes, por una recibo el acceso VPN y por otra deseo enviar el tráfico que sería recibo en Wlan1 pero no logro acceder hacer que los dispositivos naveguen a red.

    1. Hola Jorge

      No se entiende el problema que tienes. No obstante de ningún modo necesitas 2 tarjetas wifi. Solo necesitas una y seguramente el problema es que en vez de wlan1 debes poner otra interfaz de salida.

      Saludos

  17. Buenas tardes,

    Sigo el tutorial poniendo mis direcciones de casa, pero al conectarme desde el android me da fallo, pone Sin éxito.

    ¿Alguna idea?

    1. Hola Raquel,

      Con la información que aportas poco te podrán ayudar. Si en local te va bien deberás ver si tienes los puertos del router correctamente abiertos y apuntado a tu servidor. Además también deberás comprobar que el servicio de redireccionamiento DNS que tengas esté funcionando correctamente y que no haya ningún firewall que impida la conexión al servidor.

      Saludos

  18. Buenas!

    Tengo un problemilla, y es que se me conecta a la VPN (estoy probando desde Android), pero no tengo conexión a internet, ni siquiera me puedo comunicar con los equipos de mi red, ya que pruebo a meter una IP interna, por ejemplo la de mi router (192.168.0.1), y nada.

    He seguido el tutorial paso a paso, solo he cambiado lo referente a la IP del servidor (en mi caso 192.168.0.2), la tarjeta de red, que en ifconfig me indica «eth1», y el tema de usuarios, contraseñas y nombre de servidor

    Me parece que todo vendrá del tema del firewall, pero no sé cómo dar con la tecla

    ¿Me podrías echar una mano por favor?

    1. Hola,

      Desconozco tu red interna y si has cambiado el rango de IP por cambiar el problema estará aquí. En el post viene explicado punto por punto lo que hay que realizar y el motivo de porque hay que realizarlo. Más no puedo añadir cuando no conozco tu configuración de red.

      Saludos

  19. Buenas tardes Joan Carles,

    He seguido tu tutorial y todo funciona a la perfección, pero me surge una duda, y quería consultarte por si tu pudieras saber por donde tirar en la configuración.

    Tanto el servidor (xubuntu) como el cliente vpn (windows 7) que estoy probando tienen conexión 300/300, pero en el momento que el cliente se conecta al servidor vpn, el test de velocidad (speedtest.net) en el cliente cae drásticamente entre 20/20 y 25/25 (un 90%). Si en el cliente quito que use el gateway de la vpn, evidentemente vuelve a funcionar a 300/300, pero me interesa saber porque el enlace entre ellos es tan bajo respecto de las conexiones originales.

    He probado a quitar la encriptación (require­mppe­128), pero sigue dando los mismos resultados. La CPU del servidor es un Atom, pero nunca va ahogada porque no supera el 30% de uso. Ambos tienen tarjeta Gigabit con velocidad a 1000 (comprobado).

    ¿Alguna idea en la configuración que me pueda ayudar a que utilice más ancho de banda? Gracias.

    1. Hola Alex

      La velocidad que obtienes seguramente es reducida porque tu ancho de banda de subida es reducida. La velocidad que obtendrás con el speedtest siempre será la del tramo más lento que en la mayoría de casos es la velocidad de subida. Las conexiones domésticas por norma general ofrecen una velocidad de subida ridícula. La solución es hablar con tu ISP para que te den más velocidad de subida y probablemente incrementen tu tarifa.

      Saludos

  20. En mi caso no tengo mala velocidad de subida ni de bajada.

    Como bien comentas, entiendo que vaya a la velocidad del tramo más lento, pero como te he indicado en mi anterior mensaje, tanto el servidor como el cliente disponen de una conexión de 300 Mbps de bajada y 300 Mbps de subida, es decir 300 Megas simétricos.

    Sabiendo que el ancho de banda no es el problema, ¿existe algún apartado en la configuración que límite el uso del mismo? O dicho de otra forma, ¿hay un parámetro que haga que aumente el ancho de banda a utilizar por la vpn?

    Gracias.

    1. Si estás seguro de lo que dices intenta modificar el valor de MTU para fragmentar o menos los paquetes. Prueba con valores de 1500, 1400, 1300, 1200.

      También es probable que sea tema del NAT de tu router. NAT (Traductor de direcciones de red) es el mecanismo que se encarga de intercambiar paquetes entre 2 redes diferentes y en función del router que tengas te penalizará más o menos.

      Saludos

  21. Gracias Joan Carles, probé a jugar con el MTU pero está todo ok y no se fragmenta, está negociado a 1300 y funciona bien, debe ser como dices tema del router que está capando la velocidad por vpn, porque ya no se me ocurre nada más.

    Seguiré investigando, gracias por todo.

    1. Hola Alex

      Si encuentras algo que te mejore el rendimiento publicalo.

      Otra cosas que puedes probar es usar OpenVPN y ver los resultados que obtienes. El rendimiento de OpenVPN en principio es superior y ofrece menos problemas de rendimiento que pptp. pptp es un protocolo que tiene muchos años.

      Saludos

  22. Hola buenas, he seguido tutorial a la perfección pero una vez que me quiero meter desde un equipo fuera de la red, se queda en comprobando información de inicio de sesión, ¿alguna idea?

    1. Hola Manuel

      Si hubieras seguido los pasos de forma adecuada entonces te podrías conectar.

      Por lo que comentas el problema lo debes tener en la configuración de tu Router, en la configuración de servicio de redireccionamiento DNS que uses, o en la configuración del firewall de tu equipo. Así que repasa estos puntos.

      Saludos

    1. Hola

      Si te sale este código lo que deberías hacer es pegarlo en Google y encontrarás información.

      He buscado un par de minutos y parece ser que este mensaje aparece cuando tienes el firewall de tu equipo mal configurado, pero seguro que puede aparecer por otras causas, así que deberás investigar el porque te aparece.

      Saludos

  23. Buenas tardes,

    Seria posible asignar una ip según la mac con la que se accede al servidor. De esa forma se podría controlar un cliente por dispositivo.

    1. Hola

      Que yo sepa no se puede con el protocolo pptd. Puedes asignar una IP específica para cada usuario. Así de este un usuario específico siempre usará la misma IP.

      Saludos

  24. Excelente tuto. Gracias por tu tiempo… Al igual que Jacs. Me preguntaba si se podría restringir a la vpn por la mac. Para mejorar la seguridad de la vpn pptp.

    1. Hola David

      A Jacs ya le di mi respuesta.

      Si lo que te preocupa más de un servidor VPN es la seguridad no deberías usar el protocolo pptp. Te recomiendo que uses protocolos más actuales como por ejemplo el OpenVPN.

      Saludos

  25. hola, mira he hecho todo pero al llegar al /etc/rc.local este archivo no existe. ¿Me ayudas por favor?

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.