pptp-linux + mppe HOW-TO




kernel:


Lo primero que es neceario hacer para tener soporte mppe es parchear el kernel y recompilar los modulos ppp.


http://www.j0aco.com/download/linux-2.4.16-openssl-0.9.6b-mppe.patch.gz


Yo lo he probado con un kernel 2.4.17 y funciona a las mil maravillas. Creo que funcionaría para cualquier kernel de la serie 2.4.X.


Para los que no han parcheado nunca un kernel os comento los pasos, teniendo en cuenta que tenemos las fuentes en /usr/src/linux:


- copiamos el parche a /usr/src


- ejecutamos como root: #zcat linux-2.4.16-openssl-0.9.6b-mppe.patch.gz | patch -p0


y ya esta. Configuramos, compilamos kernel y modulos, y a correr.



ppp:


Necesitamos un paquete ppp que tenga soporte para mppe. Si usais debian estais de suerte, ya que he empaquetado uno que (por lo menos a mi) funciona muy bien.


Lo podeis bajar de:

http://www.j0aco.com/download/ppp-mppe_2.4.0-5_i386.deb


Si usais RedHat podeis usar el srpm que he usado yo para generar el .deb

http://www.j0aco.com/download/ppp-mppe-2.4.0-4.src.rpm


En el caso de debian, os sugiero unas cosillas.


Instalad el paquete ppp normal, y despues el ppp-mppe con la opcion --force-overwrite. Así podeis seguir instalando cosas que requieran del paquete ppp :)


pptp:



Este paquete es necesario para poder conectar con el servidor de VPN win2k. En debian esta incluido, en los demas no sé, asi que aqui os dejo los sources:

http://www.j0aco.com/download/pptp-linux-1.0.3-1.tar.gz


modules.conf


Llegados a este punto, solo es necesario un paso mas para tener listo el sistema. Debemos añadir en el modules.conf el siguiente alias.


alias ppp-compress-18   ppp_mppe


Conexión:



Aqui os muestro un ejemplo de scriptillo de conexión, las opciones del ppp dependerán de como este configurado el server win2k (es muy cutre, lo sé), tendré que hacer un control de errores :)



#!/bin/sh



echo "Connecting.. "


pptp <server_ip> user <usuario> debug +chapms-v2 mppe-128 mppe-stateless noauth usepeerdns


sleep 10


echo "Adding routing to private network"


route add -net 10.0.0.0 netmask 255.240.0.0 ppp0


echo "Connected to VPN"




Espero haber ayudado en lo posible.



Joaquín Urrutia Gonzalez

joaco AT j0aco DOT com