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