ADVERTENCIA: ¡PPTP ES UN PROTOCOLO DE INSEGURIDAD! No solo se ha violado el cifrado, sino que envía su autenticación en texto claro y es fácilmente interceptado. Se ha estimado que la cantidad de tiempo requerida para forzar la contraseña con fuerza bruta es aproximadamente equivalente al tiempo requerido para forzar con fuerza bruta una sola tecla DES. ¡Considere usar OpenVPN u otra arquitectura VPN en lugar de PPTP!
Usé esta guía para configurar un servidor VPN PPTP en mi servidor Ubuntu 12.04.
Sin embargo, para resumir los puntos principales en el enlace:
1: Instalar pptpd
y ufw
. iptables
puede usarse en lugar de ufw, pero por razones de facilidad, ufw
es mejor si no lo sabe iptables
.
sudo apt-get install pptpd ufw
2: Abra los puertos necesarios. La guía sugiere 22 (SSH) y 1723 para el pptp vpn.
sudo ufw permite 22
sudo ufw permite 1723
sudo ufw enable
3: Editar /etc/ppp/pptpd-options
. Abra el archivo con su editor favorito (el mío es nano, así que el comando para mí es sudo nano /etc/ppp/pptpd-options
), y comente estas líneas colocando un #
antes, si desea que esto funcione universalmente en todos los sistemas operativos:
papilla
chatarra
rechazar-mschap
Puede comentar esta línea si desea deshabilitar el cifrado: require-mppe-128
4: Mientras edita /etc/ppp/pptpd-options
, agregue servidores DNS para la VPN. Este ejemplo usa servidores OpenDNS:
ms-dns 208.67.222.222
ms-dns 208.67.220.220
5: Editar /etc/pptpd.conf
. Abra el archivo con su editor favorito (el mío es nano, así que el comando para mí es sudo nano /etc/pptpd.conf
). Debe agregar las IP de VPN locales para el sistema, así que agregue:
localip 10.99.99.99
RemoteIP 10.99.99.100-199
Si su sistema es un VPS, use la IP pública para "localip". Si no está y está en una red local, use la IP de red de su computadora. ¡Use diferentes IP y rangos si estas IP existen en su subred! Si no conoce su IP pública de su VPS, búsquela ejecutandodig +short myip.opendns.com @resolver1.opendns.com
6: Editar /etc/ppp/chap-secrets
. Abra el archivo con su editor favorito (el mío es nano, así que el comando para mí es sudo nano /etc/ppp/chap-secrets
) y agregue los datos de autenticación.
El formato para /etc/ppp/chap-secrets
es:
[Nombre de usuario] [Servicio] [Contraseña] [Dirección IP permitida]
Un ejemplo sería: sampleuser pptpd samplepassword *
7: reiniciar pptpd. Ejecute este comando en la terminal:sudo /etc/init.d/pptpd restart
8: Editar /etc/sysctl.conf
. Abra el archivo con su editor favorito (el mío es nano, así que el comando para mí es sudo nano /etc/sysctl.conf
). Descomente la siguiente línea (quitando la que se encuentra #
al principio) en /etc/sysctl.conf
: net.ipv4.ip_forward=1
Vuelva a cargar la configuración: sudo sysctl -p
9: Este paso asume que tienes ufw.
Edite /etc/default/ufw
y cambie la opción DEFAULT_FORWARD_POLICY
de DROP
aACCEPT
10: Este paso asume que tienes ufw.
Edite /etc/ufw/before.rules
y agregue lo siguiente al principio /etc/ufw/before.rules
o justo antes de las *filter
reglas (recomendado):
# Reglas de la tabla NAT
* nat
: ACEPTACIÓN POSTROUTING [0: 0]
# Permitir tráfico directo a eth0
-A POSTROUTING -s 10.99.99.0/24 -o eth0 -j MASQUERADE
# Procesar las reglas de la tabla NAT
COMETER
Si tiene la versión 3.18 del kernel y más reciente (puede verificar esto ejecutando uname -r
), también agregue las siguientes líneas antes de la # drop INVALID packets ...
línea:
-A ufw-before-input -p 47 -j ACCEPT
11: Reinicie el firewall, para actualizar los conjuntos de reglas y aplicar las reglas que agregamos a los /etc/ufw/*.rules
archivos: sudo ufw disable && sudo ufw enable
Advertencia: si tiene otros puertos que necesita abrir, como HTTPS si su servidor aloja un sitio web, debe agregar individualmente esos puertos a la lista permitida consudo ufw allow <PORT>