Página realizada por Nestor LW5EJU P.O.Box 354 Zip 1629 Pilar Bs.As. Agentina  [email protected] Copyright © 2002

INSTALACIÓN DE UNA RED PRIVADA VIRTUAL (VPN) EN LINUX

 

VPN son la iniciales Virtual Private Network (Red Privada Virtual). Es un mecanismo que nos permitirá establecer un túnel a través de Internet entre dos o mas sistemas diferentes y distantes. Puede ser utilizada para múltiples propósitos. Por ejemplo si tenemos una red local con acceso a Internet, podremos incorporar otra maquina que este operando en un lugar lejano, con las mismas posibilidades dentro de la red local.
  Las  maquinas que en cada extremo tengan acceso a Internet serán las encargadas de formar el túnel. Una será servidora y la otra será el cliente.
 Es posible establecer túneles entre dos sistemas Windows, entre dos linux, e incluso con linux en una punta y Windows en la otra.

Alternativas

Cuando comencé a interiorizarme en el tema advertí que hay alternativas para construir una VPN y que las mas difundidas eran IPsec y PPTP.  La primera es ampliamente utilizada entre entornos puramente Linux, y la segunda desarrollada por Microsoft.
 Como mi objetivo era armar una VPN con un colega radioaficionado que tenía instalado un Server VPN sobre Windows NT,  el método a elegir sería PPTP. Y a ello me dediqué.
 Configuré en primer término un cliente con Windows ME  y tras colocar nombre de usuario y contraseña la conexión se estableció de forma inmediata.
Pero mi intención era acceder como cliente bajo Linux.


PPTP en Linux

PPTP es Point-to-Point Tunneling Protocol, es decir Protocolo de túnel punto a punto desarrollado por Microsoft. Una aplicación desarrollada para Linux permite interconectar el Sistema Operativo del Pingüino con  Windows a través de la red privada virtual.
La página oficial de este desarrollo del programa cliente es:

http://pptpclient.sourceforge.net

También es posible instalar un servidor PPTP sobre un Linux que admita conexiones desde  clientes  en estaciones de trabajo bajo Windows. La información oficial sobre el Linux PPTP Server es:

http://www.poptop.org

Datos comprimidos y encriptados


Para poder transmitir datos de forma segura a través de la VPN utilizando el protocolo PPTP, Microsoft desarrolló un método de encriptación de datos conocido como MPPE (Microsoft Point-to-Point Encryption). (Cabe destacar que algunos sitios de Linux cuestionan la seguridad de los datos encriptados con este sistema).
  Al armar el túnel, será posible habilitar o deshabilitar la  esta posibilidad. De todos modos para que nuestro cliente Linux sea capaz de conectarse sin problemas instalaremos todos los componentes necesarios.



Eligiendo Distribución y Kernel

Si bien la documentación indica que es posible instalar PPTP-Client en un Red Hat 6.2 con ciertas actualizaciones utilizando Kernel de la serie 2.2.x, mis intentos no llegaron a buen puerto y por lo tanto decidí utilizar Red Hat 7.2  y kernel 2.4.18 (última versión estable al momento de estas pruebas).  Al momento de compilar el kernel, elegí la opción PPP como módulo.
 Si no es intención recompilar el kernel, se puede bajar un kernel ya compilado. Por alguna razón que no me dedique a investigar, el kernel 2.4.7-10 que es instalado con Red Hat 7.2 no es capaz de hacer funcionar la VPN con éxito. En la página oficial de pptpclient, la documentación escrita por Chris Tooley sugiere utilizar la versión 2.4.9 del núcleo de linux e invita a descargar  paquetes rpm que al instalarlos, reemplazarán al 2.4.7-10.
Estos paquetes se pueden obtener en:

http://thetooleys.org/pptp

Los archivos a bajar e instalar son:

kernel-2.4.9-31SGI_XFSS_1.0.2.i386.rpm
kernel-headers-2.4.9-31SGI_XFS_1.0.2.i386.rpm
kernel-doc-2.4.9-31SGI_XFS_1.0.2.i386.rpm (Opcional)
ppp-2.4.1-3mppe.i386.rpm

El autor destaca que por seguridad es recomendable hacer un back-up del kernel original y sus módulos antes de instalar los nuevos paquetes. En su página describe como realizarlo para no correr riesgos.


Descarga de Archivos Necesarios


En la página oficial de PPTP-CLIENT encontraremos un sitio de downloads desde donde podremos bajar los archivos auto instalables necesarios.

http://pptpclient.sourceforge.net/download.phtml


Encontraremos dos versiones disponibles. La mas vieja incluye en un solo paquete PPTP y MPPE. La mas reciente pptp-linux-1.1.0-1.i386.rpm de marzo de 2002 solo incluye el paquete PPTP, para dar la posibilidad de instalarlo a aquellos que no necesiten utilizar el método de encriptación MPPE.
 
Utilizaremos los paquetes mas recientes y los instalaremos por separado:  MPPE  y PPTP

En primer lugar descargaremos los paquetes necesarios:
 ppp-2.4.1-3mppe.i386.rpm  y    pptp-1.1.0-1.i386.rpm

Luego los instalamos en nuestro linux:

rpm -Uvh ppp-2.4.1-3mppe.i386.rpm

rpm -Uvh pptp-1.1.0-1.i386.rpm . 

Probablemente el comando  rpm -Uvh  advertirá que el archivo  options.pptp de pptp-linux está en conflicto con el archivo options.pptp de ppp-2.4.1-3mppe. 
Si eso ocurre, forzaremos la instalación con:

rpm -Uvh --force pptp-1.1.0-1.i386.rpm


Configurando el tunel

Una vez instalado nuestro cliente PPTP es tiempo de su configuración. Para ello hay un comando que en forma sencilla nos permitirá configurar, arrancar y detener la conexión del túnel.  En la línea de comandos escribiremos:

pptp-command

luego seguiremos las instrucciones, que comentaremos mas adelante. También dejamos para otra ocasión la instalación de un servidor PPTP en linux


15 de Mayo de 2002
LW2DTQ (Diego)