Configuración de VPN PPTP en Linux CentOS 5.4

Esta vez tuve que configurar una VPN que sea algo común ya que tras conseguir una Iphone me di cuenta que con OpenVPN poco puedo hacer de momento. Lamentablemente estamos todavía en periodo de pruebas e investigaciones y habra que esperar hasta que algún guru lo implemente. Como no se puede OpenVPN pues decidí que tengo que instalar PPTPD ue permita conectarse desde Iphone y de paso también desde Windows. Aquí pues va el tutorial.

Primero de todo supongo que disponemos de

CentOS 5.X
kernel-2.6.18-8.el5
ppp-2.4.4-1.el5

CentOS viene con el necsario soporte de MPPE y ppp-2.4.4-1.el5 preinstalado

Paso 1

Para asegurarse de que el kernel soporta el MPPE se puede lanzar el siguiente comando

modprobe ppp-compress-18 && echo ok

Si el resultado es “OK” tienes el soporte.

Paso 2

Asegurate que tienes el ppp instalado, en caso contrario


yum install ppp

Paso 3

Instalamos el demonio de pptp. Para descargar el fichero lanzamos

wget http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.3.4-1.rhel5.1.i386.rpm

despues hay que instalarlo

  1. rpm -Uvh pptpd-1.3.4-1.rhel5.1.i386.rpm

warning: pptpd-1.3.4-1.rhel5.1.i386.rpm: Header V3 DSA signature: NOKEY, key ID 862acc42
Preparing... ########################################### [100%]
1:pptpd ########################################### [100%]

Paso 4

Configuración
Hay que asegurarse que en el fichero /etc/ppp/options.pptpd tenemos las siguientes opciones


name pptpd
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
proxyarp
lock
nobsdcomp
novj
novjccomp
nologfd

Modificamos el fichero /etc/pptpd.conf


option /etc/ppp/options.pptpd
logwtmp
localip 192.168.2.1
remoteip 192.168.2.11-15

Añadimos el nombre de usuario (johndie) y la contraseña (passwrd) en /etc/ppp/chap-secrets

  1. Secrets for authentication using CHAP
  2. client server secret IP addresses

johndoe pptpd passwrd *

Programamos el arranque en los niveles 3 y 5

chkconfig --level 35 pptpd on

Arrancamos el servicio

service pptpd start

Configuramos el forward en /etc/sysctl.conf añadiendo una linea

net.ipv4.ip_forward = 1

y finalmente aplicamos la regla de forward

sysctl -p

Perfecto hasta aquí todo bien, sin embargo si instalaste PPTPD en un CentOS por defecto te vas a sorprender. ¡Esto no va! Si es asi probablemente te olvidaste de la seguridad de Selinux. Tienes dos opciones o la configuras o la apagas.

Para lo que necesitamos en este tutorial lo apagaremos. Para ello lanza el comando

system-config-securitylevel

y despues cambiamos “Security Level” a Disabled.

Fuente