En un terminal instalamos el servidor PPTP
sudo apt-get install pptpd
Una vez finalizado el proceso se iniciará el servidor automáticamente, pero aún no está configurado, para ello haremos lo siguiente:
sudo gedit /etc/pptpd.conf
Se puede usar el editor que se prefiera, yo lo he hecho con nano pero pongo gedit para aquellos que os resulte más familar. En ese archivo configuraremos la ip local y remota, descomentándo las siguientes líneas (quitando la almohadilla # a principio de línea) o añadiéndolas
localip 192.168.1.100
remoteip 192.168.1.250-255
netmask 255.255.255.0
Guardamos y cerramos.
La ip local debe coincidir con la de la máquina que monta el servidor, que se puede saber con el comando ifconfig. Mientras que las remotas deben de no coincidir con ninguna otra máquina de la red. Mediante el guión podemos establecer un rango, en mi ejemplo va de 250 hasta 255, para 5 conexiones externas.
Ahora configuraremos otro archivo para que nos permita el acceso a internet:
sudo gedit /etc/ppp/pptpd-options
En este archivo descomentámos o añadimos las siguientes líneas para que permitan la resolución de DNS y permitan la codificación de un smartphone
# Network and Routing
ms-dns 91.191.136.152
ms-dns 85.229.85.109
netmask 255.255.255.0
# MPPE should be stateless ¡¡Imprescindible para Android!!
nomppe-stateful
Guardamos y cerramos. Yo he usado unas DNS que me gustan pero se pueden usar otras como las de Google (8.8.8.8 - 8.8.4.4) o las de tu ISP.
Ahora vamos a añadir usuarios a nuestra VPN. Para hacerlo modificaremos el archivo chap-secrets:
sudo gedit /etc/ppp/chap-secret
En nuestro ejemplo vamos a usar como usuario/contraseña lo siguiente Jesus/12345. Tened en cuenta que cada espacio se debe añadir con el tabulador, y debe quedar algo como lo siguiente:
# Secrets for authentication using CHAP
# client server secret IP addresses
Jesus * 12345 *
Como siempre guardamos y salimos.
Ahora vamos a proceder a activar el IP forwarding, para ello vamos a modificar el archivo /etc/sysctl.conf:
sudo gedit /etc/sysctl.conf
Buscamos la línea #net.ipv4.ip_forward=1 y le quitamos la # para descomentarla. Quedando así:
net.ipv4.ip_forward=1
Guardamos los cambios y cerramos el archivo. Y activamos este último cambio con el comando
sudo sysctl -p
Hacemos un par de cambios en iptables para permitir el reenvío de conexión
sudo iptables -P FORWARD ACCEPT
sudo iptables --table nat -A POSTROUTING -o eth0 -j MASQUERADE
Lo ponemos en marcha con las modificaciones que hemos hecho
/etc/init.d/pptpd restart
Ya sólo queda configurar el cliente para que se conecte, y por supuesto abrir un puerto en el router (puerto 1723 por defecto) si es necesario. Bueno, y también poner un servicio de ip dinámica y esas cosas ya al gusto de cada cual. A las malas, si el router no permite abrir el puerto PPTP correctamente, también se puede usar la opción de incluir el servidor en la DMZ del router, aunque no es lo más aconsejable.
12 comentarios:
Gracias lo probare.
Muchas gracias, tras muchos tutoriales al fin encontré uno que funciona con Android.
Me alegra que mis artículos resulten de utilidad.
Indicadme siempre cualquier cuestión en los comentarios.
Por favor podria mostrar como configurar un cliente android? Gracias
Android trae un cliente VPN integrado en el sistema. Se accede a su configuración a través de "Ajustes", en la sección "Conexiones inalámbricas y redes".
Depende de la versión concreta, ahora mismo en la mía aparece en "... Más" >> "VPN"
Ahí puedes añadir una configuración pulsando "+" y aportando los datos del servidor al que conectar.
El mejor tutorial
Gracias Jojann 😊
Porque me dice que no puede encontrar el paquete pptpd
Buenas noches estimados yo hago todo tal cual lo explica el tutorial que es muy bueno pero al final en la pestaña de conexiones entrantes aparece pero luego se desaparece y en la pc windows me dice error. Que puede ser?
Preguntas. Es necesario abrir el puerto en el router? ((Algunas indicaciones para ello))... Necesito tener una IP pública para acceder a la vpn desde otra red?
Chaviitoo, al final del todo lo puse: "puerto 1723 por defecto"
Y claro, como dices necesitas una IP pública o algún sistema de identificación que te dirija a la máquina.
Muchas gracias, sirve de mucha ayuda
Publicar un comentario