XMLTagsEditHistoryDiscussion

En este documento se describe la creación de una VPN con OpenVPN.

En el escenario presentado, se hace una configuración con las opciones más simples. En el primer caso a documentar, se usa TCP. Esto no es lo más eficiente, pero en ocasiones es necesario cuando no es posible enrutar paquetes UDP desde el servidor al cliente (cuando el cliente está dentro de una Intranet y no es posible hacer una configuración especial para él, aparte de tener un gateway con el puerto apropiado abierto).

Este documento está en proceso y es posible que para tener la funcionalidad deseada falten rutas por adicionar.

El primer paso, es generar la llave compartida. Note que esta llave debe ser resguardada, y sólo debe ser conocida por el cliente y por el servidor.

  openvpn --genkey --secret howto.key

Esto genera una llave en texto plano.

Se debe instalar el programa en el cliente y el servidor. Es el mismo binario (openvpn). En debian:

 apt-get install openvpn

Tanto en el cliente como en el servidor, la configuración se guarda en el directorio /etc/openvpn. El script de inicio de openvpn (/etc/init.d/openvpn) lee este directorio e inicia un demonio del programa openvpn por cada configuración.

Para depurar, tal vez quiera iniciar la vpn a mano, sin usar un demonio, invocando el binario así:

 openvpn --writepid test.pid --config howto.conf

En los siguientes ejemplos, se debe cambiar la IP del servidor (línea de configuración 'local'), en el archivo de configuración del cliente y del servidor.

Configuración del servidor (howto.conf):

 local 192.168.0.1
 port 5010
 dev tun

 proto tcp-server

#Script para adicionar reglas de enrutamiento al subir la VPN
#up /etc/openvpn/howto.up

# IP local e IP remota
ifconfig 10.1.0.2 10.1.0.1

secret /etc/openvpn/howto.key
user nobody
group nogroup

comp-lzo
ping 15

# Este nivel es útil para depurar, y se puede usar en funcionamiento normal
verb 3

# Para conexiones TCP. Sin esto no pueden hacer re-conexiones.

persist-key
persist-tun

Configuración del cliente(howto.conf):

proto tcp-client
remote vpn.example.com 5010
dev tun

ifconfig 10.1.0.1 10.1.0.2

nobind

#up /etc/openvpn/howto.up

secret /etc/openvpn/howto.key
user nobody
group nogroup

comp-lzo
ping 15

verb 3

  
persist-key
persist-tun

Last update: 2007-07-24 (Rev 12437)

svnwiki $Rev: 12966 $