Tema anterior: Dispositivo de puerta de enlace de salida de subred

Tema siguiente: Secreto compartido de IPSec


VPN: dispositivo de red virtual privada.

Última versión: 2.0.1-1

Dispositivo VPN

Vista rápida

Catálogo

Sistema

Categoría

Puertas de enlace

Volúmenes de usuario

yes

Memoria mín.

96 MB

SO

Linux

Restricciones

no

Descripción general del funcionamiento

VPN es un dispositivo de red privada virtual que funciona en redes IPv4 e IPv6 y está diseñado para proporcionar túneles seguros y fiables para comunicaciones entre grids y acceso remoto a aplicaciones y dispositivos. VPN también puede funcionar sin utilizar túneles VPN; en este caso, funciona como una puerta de enlace IN/OUT combinada de texto no encriptado. Además, se puede utilizar también VPN para interconectar sin problemas grids de CA AppLogic IPv4 e IPv6. VPN está basado en los paquetes de software de fuente abierta de OpenVPN, OpenSSH y Racoon.

VPN cuenta con tres modos básicos de operación: servidor, cliente y ambos.

VPN es compatible con IPSec, archivos de secretos compartidos, certificados SSL y archivos de clave ssh para la autenticación y el encriptado. Se puede utilizar un cliente OpenVPN/OpenSSH normal en una estación de trabajo remota para conectarse a VPN, que a su vez proporciona acceso seguro a los componentes internos de una aplicación que se ejecuta en CA AppLogic. El dispositivo VPN es compatible con la generación de archivos de secretos compartidos, certificados SSL y claves ssh.

Para acceder de forma remota a una aplicación de CA AppLogic a través de un túnel VPN seguro mediante VPN, se puede utilizar el software de lado del cliente OpenVPN u OpenSSH en el equipo del cliente (u otro software compatible).

Recursos

Recurso

Mínimo

Máximo

Predeterminado

CPU

0.1

16

0.2

Memoria

96 MB

32 GB

96 MB

Ancho de banda

1 Mbps

2 Gbps

250 Mbps

Terminales

Nombre

Dir.

Protocolo

Descripción

clt

in

Cualquiera

Entrada común para todo el tráfico entrante se dirija a través de la interfaz externa cuando VPN está funcionando como cliente. Si se configura VPN para establecer un túnel en la interfaz externa, se dirigen los paquetes enviados a clt a un túnel establecido, o se sueltan, si el túnel no está en funcionamiento.

srv

Saliente

Cualquiera

Salida común para todo el tráfico saliente que se recibe a través de la interfaz externa cuando VPN está funcionando como servidor. Todo el tráfico se filtra mediante las propiedades tcp_ports, udp_ports, ssh_ports y aux_protocols antes de enviarse a través de srv.

fs

Saliente

NFS

Acceso a un sistema de archivos de red para almacenamiento compartido de archivos que proporciona acceso de lectura/escritura al archivo a través de NFS. Este volumen se monta como /mnt/fs en el espacio del sistema de archivos del dispositivo y se utiliza para almacenar certificados y claves de encriptado. El servidor conectado debe tener un recurso compartido de lectura/escritura denominado /mnt/data. Ni el volumen de datos ni el volumen montado en NFS es necesario si VPN funciona en el modo de texto no encriptado. Este terminal se puede dejar desconectado si no se está usando.

log

Saliente

CIFS

Acceso a un sistema de archivos de red basado en CIFS para almacenar registros de error y de acceso. El servidor conectado debe permitir inicios de sesión anónimos y debe tener un recurso compartido de lectura/escritura denominado "share". Este terminal se puede dejar desconectado si no se está usando.

mon

Saliente

CCE

Se usa para enviar estadísticas de uso de recursos y rendimiento. Puede dejarse desconectado si no se utiliza.

Propiedades

Propiedades generales

Nombre de la propiedad

Tipo

Descripción

ip_addr

ip_owned

Define la dirección IPv4 de la interfaz externa de la puerta de enlace. Esta propiedad es obligatoria si VPN se ejecuta en el modo IPv4 únicamente.

netmask

Dirección IP

Define la máscara de red IPv4 de la interfaz externa. Esta propiedad es obligatoria si VPN se ejecuta en el modo IPv4 únicamente.

gateway

Dirección IP

Define la puerta de enlace de red IPv4 predeterminada (enrutador) para la interfaz externa. Si se deja con el valor vacío, solamente se podrá acceder al host de la misma subred que ip_addr/netmask. Valor predeterminado: vacío

ipv6_addr

Cadena

Define la dirección IPv6 de la interfaz externa de la puerta de enlace. La dirección IPv6 se especifica en la notación de dirección estándar de ocho grupos de cuatro dígitos hexadecimales. Se pueden sustituir uno o cualquier número de grupos consecutivos de valor 0 con dos puntos (::). El formato es dirección/máscara de red, por ejemplo, fc00:1234:5678::12/64. Esta propiedad es obligatoria si VPN se ejecuta en el modo IPv6 únicamente.

ipv6_gateway

Cadena

Define la puerta de enlace de red IPv6 predeterminada (enrutador) para la interfaz externa. Si se deja con el valor vacío, solamente se podrá acceder al host de la misma subred que ipv6_addr. Valor predeterminado: vacío

dns1

Dirección IP

Define el servidor DNS primario al cual VPN reenviará las solicitudes de DNS. Si se deja con el valor vacío, VPN usará los servidores DNS de raíz. Valor predeterminado: vacío

dns2

Dirección IP

Define el servidor DNS de reserva al cual VPN reenviará las solicitudes de DNS si el primario no está disponible. Si se deja con el valor vacío, VPN no usará el servidor DNS de reserva. Valor predeterminado: vacío

Importante: Hay que definir al menos un par de direcciones (IPv4 o IPv6).

Propiedades de VPN

Nombre de la propiedad

Tipo

Descripción

mode

Cadena

Modo de operación. Los valores posibles son:
server: VPN funciona en modo de servidor, aceptando el tráfico entrante de los túneles establecidos en la interfaz externa y enviándolo al terminal srv.
client: VPN funciona en modo de cliente, aceptando el tráfico entrante en el terminal clt y enviándolo al túnel establecido en la interfaz externa.
both: VPN funciona en los modos de cliente y de servidor.
Valor predeterminado: server.

tunnel

Cadena

Tipo de túnel que hay que establecer. Los valores posibles son:
certificate: se establece un túnel VPN utilizando un cliente SSL y certificados de servidor para la autenticación y encriptado con OpenVPN. El certificado de servidor se genera automáticamente si no está presente. El certificado de cliente se deberá generar manualmente con el script /appliance/security.sh localizado en el servidor VPN y, a continuación, se deberá copiar al subdirectorio /client/ del volumen de datos o del volumen montado en nfs. Este modo funciona con IPv4 e IPv6.
shared secret: se establece un túnel VPN utilizando un archivo de secreto compartido con OpenVPN. Si no está presente, este archivo se genera automáticamente en el servidor VPN, se encuentra en el subdirectorio /server/ del volumen de datos o del volumen montado en nfs y se denomina secret.key. Este archivo se deberá copiar en el dispositivo de cliente VPN, en el subdirectorio /client/. Este modo funciona con IPv4 e IPv6.
SSH key: se establece un túnel SSH utilizando los archivos de clave de OpenSSH para la autenticación. Se generan archivos de clave con el /script de lado de servidor appliance/security.sh. El archivo de clave de cliente se debe copiar en el subdirectorio /client/ del almacenamiento del volumen de datos o del volumen montado en nfs. Este modo funciona con IPv4 e IPv6.
ipsec shared secret: el túnel IPSec se establece entre las instancias de VPN. La primera línea del archivo especificada por la propiedad auth_path se utiliza como una clave compartida. Este modo funciona solamente con IPv4.
ipsec certificate: el túnel IPSec que utiliza certificados se establece entre las instancias de VPN. El certificado de servidor se genera automáticamente si no está presente o se puede generar con el script /appliance/security.sh. El certificado de cliente se deberá generar manualmente con el script /appliance/security.sh localizado en el servidor VPN y, a continuación, se deberá copiar al subdirectorio /client/ del volumen de datos o del volumen montado en nfs. Este modo funciona solamente con IPv4. Para el modo de funcionamiento both, es necesario que el mismo dispositivo genere todos los certificados y que estos se distribuyan con su certificado ca.crt.
cleartext: no se establece ningún túnel. El dispositivo VPN funciona como puerta de enlace IN/OUT combinada, aceptando el tráfico en el terminal clt y reenviándolo a través de la interfaz externa y aceptando el tráfico en la interfaz externa y reenviándolo a través del terminal srv. Este modo funciona con IPv4 e IPv6. Para el modo IPv6, la propiedad remote_host debe contener la dirección del par.
Valor predeterminado: cleartext.

auth_path

Cadena

Información de autenticación para el túnel. Para el modo de funcionamiento secret share, es una ruta relacionada con el archivo de secreto compartido del volumen de datos (por ejemplo, "secret.key" para un archivo "client/secret.key" file). Para el modo certificate, es una ruta relacionada con la pareja de archivos certificado/clave que incluye el nombre del archivo sin extensión. Por ejemplo, si los archivos de certificado client1-2009.crt y client1-2009.key se localizan en el subdirectorio /cliente del volumen de datos, se deberá especificar aquí client1-2009. Si el túnel es cleartext, esta propiedad se ignora. Si el túnel es ssh key, esta propiedad indica la ruta, incluido el nombre de archivo, al ssh público (para servidor VPN) o al archivo de clave privado (para cliente VPN) (por ejemplo, "/1/ssh.key" para un archivo de clave público /client/1/ssh.key).
Valor predeterminado: vacío

log_level

Cadena

Nivel de registro de VPN. Los valores posibles son:
none: no se registra nada.
emerg: registra solamente los errores detectados por VPN.
warn: registra tanto advertencias como errores.
notice: registra advertencias, errores y avisos.
debug: registra información de depuración adicional, además de advertencias, avisos y errores.
Valor predeterminado: "none", si el terminal de registro no está conectado; "emerg", si el terminal de registro está conectado.

Propiedades del servidor

allowed_hosts

Cadena

Lista de los hosts o subredes con los que se puede establecer una conexión. Las distintas entradas se deben separar con espacios o comas. Ejemplo de formato admitido: 192.168.1.2 192.168.1.0/24 192.168.2.0/255.255.255.0 fc00:1234::12/64.
Valor predeterminado: 0.0.0.0/0 (se permite todo, tanto IPv4 como IPv6)

tcp_ports

Cadena

Números de puerto o intervalos de puertos que se deben permitir en el terminal srv. Acepta una cadena de valores separados por espacios o comas. Los intervalos de puerto se deberán especificar como lower_port:higher_port usando dos puntos o un guión como separador (por ejemplo, 80,81,82:85 86-90). Un valor especial de 0 significa que se aceptan todos los puertos tcp.
Valor predeterminado: vacío

udp_ports

Cadena

Es igual que tcp_ports, excepto por protocolo UDP.
Valor predeterminado: vacío

aux_protocols

Cadena

Una cadena de números de más protocolos IP separados por comas o espacios que se van a permitir (por ejemplo, 6 para TCP, 47 para GRE). Los protocolos separados pueden estar especificados por sus nombres (por ejemplo, "gre" en lugar de "47"). Véase http://www.iana.org/assignments/protocol-numbers para las asignaciones.
Valor predeterminado: vacío (desactivado)

Propiedades de cliente

remote_host

Cadena

Especifica el host remoto al que se debe enviar todo el tráfico. Puede ser el nombre DNS del host o su dirección IPv4 o IPv6 en la notación por puntos. Esta propiedad es obligatoria.
Valor predeterminado: vacío

dns_poll

Entero

El intervalo del sondeo, en segundos, que VPN utilizará cuando verifique la asignación de nombre DNS de remote_host a la dirección IP (solamente se utiliza si se especifica remote_host como nombre DNS). Establezca este valor en 0 para deshabilitar los sondeos y no intentar detectar los cambios.
Valor predeterminado: 3600 segundos (1 hora)

ssh_ports

Cadena

Propiedad del lado de cliente para el modo SSH key que especifica los puertos tcp que se reenviarán al servidor VPN. No se admiten intervalos de puertos, los puertos deben dividirse por espacios o comas.
Valor predeterminado: vacío

Volúmenes

Nombre

Descripción

data

Volumen de datos de lectura/escritura (marcador) que contiene archivos de configuración y archivos de certificado. Este volumen no es necesario si el terminal fs está conectado. Si se conecta fs y se proporciona un volumen de datos, no se puede iniciar VPN y se registra un mensaje de error. Todos los archivos que son necesarios para que el servidor VPN funcione se almacenan en el subdirectorio /server/ de almacenamiento de datos. Todos los archivos que son necesarios para que el servidor VPN funcione se almacenan en el subdirectorio /client/.

Contadores personalizados

El dispositivo VPN informa sobre los siguientes contadores personalizados a través del terminal "mon".

Nombre del contador

Descripción

server_bytes_in

Bytes totales recibidos por VPN

server_bytes_out

Bytes totales enviados por VPN

client_bytes_in

Bytes totales recibidos de túneles de cliente

client_bytes_out

Bytes totales enviados por túneles de cliente

clients

Número de clientes conectados a VPN

Rendimiento

Dos aplicaciones de prueba residían en el mismo grid de CA AppLogic. Se asignó un ancho de banda de 100 mbits a los dos dispositivos VPN (cliente y servidor) y a los dispositivos de servidor y cliente. Se buscaron varios objetos, cada uno con un tamaño de 1 Mbyte, 10 objetos en paralelo durante 60 segundos.

Modo

Ancho de banda, Mbits/segundo

Tamaño del objeto

Solicitudes/segundo

Velocidad de transferencia, MBytes/segundo

Certificado

100

1 MB

12.5667

12.56

Secreto compartido

100

1 MB

12.5166

12.51

Clave SSH

100

1 MB

12.7667

12.76

Texto no encriptado

100

1 MB

13.0329

13.03

Mensajes de error

En caso de error al iniciar el dispositivo, pueden aparecer los errores siguientes en el registro del sistema:

Mensaje de error

Descripción

Failed to mount the data volume

VPN no pudo montar el volumen de datos. Verifique que el volumen tiene formato y está disponible.

Failed to generate server_key

VPN no pudo generar el archivo de secreto compartido. Probablemente el volumen de datos es demasiado pequeño o se ha montado como de sólo lectura.

Failed to launch OpenVPN server

VPN no pudo iniciar el servidor OpenVPN. Póngase en contacto con el Soporte técnico de CA Technologies.

Failed to generate certificates.

VPN no pudo crear una autoridad certificadora ni generar los certificados necesarios para el modo de funcionamiento de servidor. Probablemente el volumen de datos es demasiado pequeño o se ha montado como de sólo lectura.

Failed to generate DH file.

VPN no pudo generar el archivo de clave de Diffie-Hellman. Probablemente el volumen de datos es demasiado pequeño o se ha montado como de sólo lectura.

Secrets file client_auth does not exist

El archivo client_auth, especificado en la propiedad auth, no existe. Verifique la ruta y nombre del archivo.

Remote server address is empty for

La dirección del servidor VPN remoto está vacía para el túnel X.

Failed to launch OpenVPN for clientX tunnel

VPN no pudo iniciar el software OpenVPN para el túnel de cliente X. Probablemente algunas propiedades o los archivos clave no son válidos.

Certificate file client_auth.crt does not exist

VPN no pudo localizar el archivo de certificado. La ruta no es válida o el nombre de archivo se ha especificado en la propiedad auth para el modo de operación del cliente del certificado.

Key file client_auth.key does not exist

VPN no pudo localizar el archivo de clave. La ruta no es válida o el nombre de archivo se ha especificado en la propiedad auth para el modo de operación del cliente del certificado.

Certification Authority certificate ca_cert is missing

VPN no pudo localizar el certificado de la autoridad certificadora. Debería estar localizado en el archivo /CA/ca.crt del volumen de datos.

Tipos de túneles

Texto no encriptado

Este modo es compatible con un escenario de servidor único y varios clientes, por lo que se puede acceder al servidor VPN desde diversas ubicaciones. En este modo los túneles VPN no se establecen y no se necesita un almacén de datos (no hay ni un volumen de datos ni un dispositivo NAS conectado al terminal fs). Este modo opera en IPv4 e IPv6.

En el dispositivo VPN de servidor, se filtra el tráfico recibido en la interfaz externa mediante las propiedades tcp_ports, udp_ports y aux_protocols y se reenvía a la interfaz de srv.

En el dispositivo VPN de cliente, todo el tráfico recibido en la interfaz clt se reenvía al servidor VPN remoto, especificado en la propiedad remote_host.

Propiedades que se deberán configurar en el lado del servidor: ip_addr, netmask, gateway, mode, tunnel, allowed_hosts, tcp_ports, udp_ports, aux_protocols.

Propiedades que se deberán configurar en el lado del cliente: ip_addr, netmask, gateway, mode, tunnel, remote_host.

La propiedad del lado del servidor remote_host debe configurarse con la dirección de cliente si el modo IPv6 está en uso.

Certificado

Este modo es compatible con un escenario de servidor único y varios clientes, por lo que se puede acceder al servidor VPN desde diversas ubicaciones. Se requiere un almacén de datos (o un volumen de datos o un dispositivo NAS conectado al terminal fs). Este modo funciona tanto en IPv4 como en IPv6.

Al iniciarse, el dispositivo servidor genera los certificados necesarios y los archivos de clave, si estos archivos no están ya presentes. Estos archivos se pueden regenerar con el script security.sh, que se encuentra en el directorio /appliance/. Antes de configurar los clientes VPN, hay que generar certificados para ellos. Un usuario puede iniciar sesión en el dispositivo de servidor de VPN en ejecución y generar una pareja de claves de cliente de la siguiente manera:

grid> comp login VPN-1:main.VPN
CentOS release 5 (Final)

[VPN-1:main.VPN ~]# /appliance/security.sh generate_client
Generated client SSL certificate and key file.
==============================================
These files, with CA certificate file, should be copied to VPN server into
/client/ subdirectory of data volume or fs-mounted volume.
Path to client files (client.829de5afcac564b3) should be specified in auth_path property.
Location of files:
client certificate: /mnt/fs/server/client.829de5afcac564b3.crt
client key file: /mnt/fs/server/client.829de5afcac564b3.key
CA certificate file located at /mnt/fs/server/ca.crt

El certificado de cliente y el archivo de clave se deberán copiar en el dispositivo VPN de cliente, en el subdirectorio /client/ del almacén de datos, y auth_path se debe establecer en el valor apropiado, client.829de5afcac564b3 en este caso. El certificado de CA del servidor VPN (/mnt/fs/server/ca.crt) se deberá copiar al subdirectorio /client/ del dispositivo de cliente y deberá llamarse "ca.crt". Cada dispositivo VPN de cliente debería tener su propio certificado.

En el dispositivo VPN de servidor, se descifra el tráfico recibido en la interfaz externa, se filtra mediante las propiedades tcp_ports, udp_ports y aux_protocols y se reenvía a la interfaz de srv.

En el dispositivo VPN de cliente, todo el tráfico recibido en la interfaz clt se encripta y se reenvía al servidor VPN remoto, especificado en la propiedad remote_host.

Propiedades que se deberán configurar en el lado del servidor: ip_addr, netmask, gateway (o las propiedades que correspondan a IPv6), mode, tunnel, allowed_hosts, tcp_ports, udp_ports y aux_protocols.

Propiedades que se deberán configurar en el lado del cliente: ip_addr, netmask, gateway (o las propiedades que correspondan a IPv6), mode, tunnel, remote_host y auth_path.

Archivo de secreto compartido

Este modo es compatible solamente con un escenario de servidor único y de cliente único, por lo que se puede acceder al servidor VPN sólo desde un cliente a la vez. Se requiere un almacén de datos (o un volumen de datos o un dispositivo NAS conectado al terminal fs). Este modo funciona tanto en IPv4 como en IPv6.

En el momento de inicio, el dispositivo de servidor genera un archivo de secreto compartido /server/secret.key, si este archivo aún no está presente. Este archivo se puede regenerar con el script security.sh, que se encuentra en el directorio /appliance/. Antes de configurar cualquier cliente VPN, este archivo de secreto compartido se deberá copiar al almacén de datos en el subdirectorio /client/. Para generar un nuevo archivo de secreto compartido, un usuario puede iniciar sesión en el dispositivo VPN de servidor en ejecución y emitir el comando siguiente:

[VPN-1:main.VPN server]# /appliance/security.sh generate_secret
Generated OpenVPN shared secrets file.
======================================
This file should be copied to VPN server into /server/ subdirectory of data volume or fs-mounted volume,
and to the VPN client into /client/ subdirectory of data volume or fs-mounted volume.
Path to it should be specified in auth_path property of the VPN client.
Location of file: /mnt/fs/server/secret.key

Un archivo de secreto recién generado sustituye al anterior, si existía. Este archivo de secreto compartido /mnt/fs/server/secret.key se deberá copiar al dispositivo VPN de cliente en el subdirectorio /client/ del almacén de datos y la propiedad de auth_path se deberá definir al valor correcto, secret.key en este caso. Se pueden configurar varios dispositivos VPN de cliente, pero solamente se puede conectar uno en cualquier momento.

En el dispositivo VPN de servidor, se descifra el tráfico recibido en la interfaz externa, se filtra mediante las propiedades tcp_ports, udp_ports y aux_protocols y se reenvía a la interfaz de srv.

En el dispositivo VPN de cliente, todo el tráfico recibido en la interfaz clt se encripta y se reenvía al servidor VPN remoto, especificado en la propiedad remote_host.

Propiedades que se deberán configurar en el lado del servidor: ip_addr, netmask, gateway (o las propiedades que correspondan a IPv6), mode, tunnel, allowed_hosts, tcp_ports, udp_ports y aux_protocols.

Propiedades que se deberán configurar en el lado del cliente: ip_addr, netmask, gateway (o las propiedades que correspondan a IPv6), mode, tunnel, remote_host y auth_path.

Clave ssh

Este modo es compatible con un escenario de servidor único y varios clientes, por lo que se puede acceder al servidor VPN desde diversas ubicaciones. Se requiere un almacén de datos (o un volumen de datos o un dispositivo NAS conectado al terminal fs). Solamente se puede transmitir tráfico tcp por el túnel ssh, así que sólo se utiliza la propiedad tcp_ports en el lado del servidor. No se admiten los intervalos de puertos. Todos los puertos que deben reenviarse tienen que especificarse de forma explícita en la propiedad ssh_ports del lado del cliente. Este modo funciona tanto en IPv4 como en IPv6.

El servidor vpn genera la pareja de claves ssh al inicio. Se localizan las claves predeterminadas en: clave de servidor (clave pública): server/ssh-server.pub; clave de cliente (clave privada): server/ssh-client.key. Se pueden generar más claves manualmente utilizando el script security.sh:

[VPN-1:main.VPN ~]# /appliance/security.sh generate_ssh
Generated SSH keypair.
======================
Public key should be copied to VPN server into /server/ subdirectory of data volume or fs-mounted volume.
Private key should be copied to VPN client into /client/ subdirectory of data volume or fs-mounted volume.
Path to key files should be specified in auth_path property on both VPN client and server.
Location of files:
Public key: /mnt/fs/server/ssh.11179ebbfa3f6852.pub
Private key: /mnt/fs/server/ssh.11179ebbfa3f6852.key

La clave pública se deberá copiar al servidor VPN en el subdirectorio /server/; la clave privada se deberá copiar al cliente en el subdirectorio /client/. La propiedad auth_path se debería definirse tanto para el cliente como para el servidor. Si auth_path tiene el valor vacío en el servidor, se utiliza la clave SSH predeterminada.

En el dispositivo VPN de servidor, se descifra el tráfico recibido en la interfaz externa, se filtra mediante la propiedad ssh_ports y se reenvía a la interfaz de srv. Solamente se admite la transferencia del puerto tcp. La propiedad auth_path define la clave SSH pública que hay que utilizar. Cuando el dispositivo está funcionando en el modo de cliente y de servidor, las claves públicas y privadas deberán tener el mismo nombre y localizarse en los subdirectorios /server/ y /client/. La propiedad ssh_ports se debería configurar en el servidor y en el cliente de la misma manera.

En el dispositivo VPN de cliente, todo el tráfico recibido en la interfaz clt se encripta y se reenvía al servidor VPN remoto, especificado en la propiedad remote_host.

Propiedades que se deberán configurar en el lado del servidor: ip_addr, netmask, gateway (o las propiedades que correspondan a IPv6), mode, tunnel, allowed_hosts, auth_path, tcp_ports.

Propiedades que se deberán configurar en el lado del cliente: ip_addr, netmask, gateway (o las propiedades que correspondan a IPv6), mode, tunnel, remote_host, auth_path, ssh_ports.

Importante: Modo de servidor-servidor SSH. Dos dispositivos VPN pueden estar configurados en ambos modos y conectados entre ellos. Para utilizar este modo, habrá que configurar los dispositivos de una manera especial:

Si suponemos que tiene 2 dispositivos denominados VPN1 y VPN2: 1. cree 2 conjuntos de archivos de clave pública/privada (1.key/1.pub, 2.key/2.pub, utilizando el script "/appliance/security.sh generate_ssh") 2. configure la propiedad auth_path en ambos dispositivos como "ssh.key" 3. copie 2.pub a VPN1:/mnt/data/server/ssh.key (o al archivo ssh.key en el subdirectorio /server/ de la unidad NAS) (la clave pública va al subdirectorio /server/) 4. copie 2.key a VPN2:/mnt/data/client/ssh.key (la clave privada va al subdirectorio /client/) 5. copie 1.pub a VPN2:/mnt/data/server/ssh.key (la clave pública va al subdirectorio /server/) 6. copie 1.key a VPN1:/mnt/data/client/ssh.key (la clave privada va al subdirectorio /client/).

Certificado IPSec

Este modo es compatible con un escenario de servidor único y varios clientes, por lo que se puede acceder al servidor VPN desde diversas ubicaciones. Se requiere un almacén de datos (o un volumen de datos o un dispositivo NAS conectado al terminal fs). Este modo funciona solamente en IPv4.

Al iniciarse, el dispositivo servidor genera los certificados necesarios y los archivos de clave, si estos archivos no están ya presentes. Estos archivos se pueden regenerar con el script security.sh, que se encuentra en el directorio /appliance/. Antes de configurar los clientes VPN, hay que generar certificados para ellos. Un usuario puede iniciar sesión en el dispositivo de servidor de VPN en ejecución y generar una pareja de claves de cliente de la siguiente manera:

grid> comp login VPN-1:main.VPN
CentOS release 5 (Final)

[VPN-1:main.VPN ~]# /appliance/security.sh generate_client
Generated client SSL certificate and key file.
==============================================
These files, with CA certificate file, should be copied to VPN server into
/client/ subdirectory of data volume or fs-mounted volume.
Path to client files (client.829de5afcac564b3) should be specified in auth_path property.
Location of files:
client certificate: /mnt/fs/server/client.829de5afcac564b3.crt
client key file: /mnt/fs/server/client.829de5afcac564b3.key
CA certificate file located at /mnt/fs/server/ca.crt

El certificado de cliente y el archivo de clave se deberán copiar en el dispositivo VPN de cliente, en el subdirectorio /client/ del almacén de datos, y auth_path se debe establecer en el valor apropiado, client.829de5afcac564b3 en este caso. El certificado de CA del servidor VPN (/mnt/fs/server/ca.crt) se deberá copiar al subdirectorio /client/ del dispositivo de cliente y deberá llamarse "ca.crt". Cada dispositivo VPN de cliente debería tener su propio certificado.

Importante: Hay una excepción cuando se utiliza VPN en los ambos modos. En este caso todos los certificados, los del cliente y el servidor, se deben generar por la misma instancia de VPN y distribuirse junto con su certificado ca.crt a otras instancias.

En el dispositivo VPN de servidor, se descifra el tráfico recibido en la interfaz externa, se filtra mediante las propiedades tcp_ports, udp_ports y aux_protocols y se reenvía a la interfaz de srv.

En el dispositivo VPN de cliente, todo el tráfico recibido en la interfaz clt se encripta y se reenvía al servidor VPN remoto, especificado en la propiedad remote_host.

Propiedades que se deberán configurar en el lado del servidor: ip_addr, netmask, gateway (o las propiedades que correspondan a IPv6), mode, tunnel, allowed_hosts, tcp_ports, udp_ports y aux_protocols.

Propiedades que se deberán configurar en el lado del cliente: ip_addr, netmask, gateway (o las propiedades que correspondan a IPv6), mode, tunnel, remote_host y auth_path.