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

# 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

# Secrets for authentication using CHAP
# 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

Dejar un comentario?

10 Comentarios.

  1. ¿Como lo utilizo desde Windows?

  2. Estimado,

    Muchisimas gracias por el manual, la verdad ha sido muy util. Quisiera saber nada mas como puedo hacer para que desde la VPN puedas navegar en internet.

    Me falta me parece alguna ruta para que esto suceda.

    Tengo acceso a la red interna, pero pierdo la conexion a internet en el cliente.

    Agradezco la respuesta

    Muchas gracias
    saludos
    Felipe Vásquez

    • Felipe, en /etc/ppp/options.pptpd coloca los DNS de tu proveedor
      If pppd is acting as a server for Microsoft Windows clients, this
      # option allows pppd to supply one or two DNS (Domain Name Server)
      # addresses to the clients. The first instance of this option
      # specifies the primary DNS address; the second instance (if given)
      # specifies the secondary DNS address.
      #ms-dns 10.0.0.1
      #ms-dns 10.0.0.2

  3. jonathan garcia

    hay manera de cambiar el remoteip(dhcp) rango que asigna a los usuarios con ip staticas ya definida por macaddress o alguna otra alternativa
    saludos
    jonathan garcia

  4. Felipe, en /etc/ppp/options.pptpd coloca los DNS de tu proveedor

    If pppd is acting as a server for Microsoft Windows clients, this
    # option allows pppd to supply one or two DNS (Domain Name Server)
    # addresses to the clients. The first instance of this option
    # specifies the primary DNS address; the second instance (if given)
    # specifies the secondary DNS address.
    #ms-dns 10.0.0.1
    #ms-dns 10.0.0.2

  5. Excelete tutorial.

    Me gustaria saber como configurar el cliente en win xp para este mismo ejemplo

  6. muchas gracias por el tutorial esta buenisimo

    pero tambien me gustaria saber como configurar el cliente xp..
    gracias

  7. excelente tuto

    pero tengo un inconveniente segui todos los pasos pero en mis clientes cuando se conectan a la VPN se les va el internet, ya los agregué con ms-dns pero nada, alguien sabe si se necesita algo adicional

  8. muy bueno el tutorial, pero tengo un problema cuando trate de iniciar el servicio pptpd me lanzo el siguiente mensaje
    “pptpd inactivo pero subsistema bloqueado”

    no puedo iniciar el servicio, que debo hacer???

    saludos

  9. JOSE LUIS GOMEZ AGUILAR

    ME GUSTARIA SABER COMO CONFIGURAR ESTO.

    TENGO UN MODEM QUE ASIGNA INTERNET Y ES POR DONDE INGRESARAN TODOS DESDE OTROS MODEMS VIA INTERNET.

    MI SERVIDOR LINUX TIENE DOS TARJESTAS DE RED UNA QUE VA AL MODEM Y LA OTRA QUE ES LA DE MI RED INTERNA.

    ETH0 192.168.1.2 ETH1 192.168.2.1

    QUIERO HACER QUE ENTREN A MI SERVIDOR PERO LES ASIGNE UN IP DE LA ETH1 PARA QUE PUEDAN ESTAR EN MI RED.

    PERO TODOS INGRESAN DESDE LA ETH0.

    LO UNICO QUE EH REALIZADO EN MI IPTABLES ES QUE PUEDAN ENTRA Y SALIR INFORMACION DESDE LA ETH0 AL PUERTO DEL PPTP

    LA DUDA QUE TENGO ES LA SIGUIENTE,¿SI INGRESAN POR LA ETH0 Y LE DOY IPS DE LA ETH1 EN AUTOMATICO LO DETECTA. O TENGO QUE HACER UN PREROUTING A LA OTRA TARJETA?

Deje un comentario


NOTA - Puede usar estosHTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>