Última versión: 2.0.1-1

|
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 |
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 3Tera 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 3Tera 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 3Tera 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 |
Entrante |
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 primaria de la interfaz externa del dispositivo. 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 primaria de la interfaz externa del dispositivo. 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: |
|
tunnel |
Cadena |
Tipo de túnel que hay que establecer. Los valores posibles son: |
|
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). |
|
log_level |
Cadena |
Nivel de registro de VPN. Los valores posibles son: |
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. |
|
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. |
|
udp_ports |
Cadena |
Es igual que tcp_ports, excepto por protocolo UDP. |
|
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. |
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. |
|
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. |
|
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. |
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 3Tera 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 subdirectorio /client/ del volumen de datos o del volumen fs-mounted. Path to client files (client.829de5afcac564b3) should be specified in auth_path property. Ubicación de los archivos: 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 Archivo de clave y certificado SSL de cliente generados. ============================================== These files, with CA certificate file, should be copied to VPN server into subdirectorio /client/ del volumen de datos o del volumen fs-mounted. Path to client files (client.829de5afcac564b3) should be specified in auth_path property. Ubicación de los archivos: 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.
Secreto compartido de 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.
Durante el inicio, el dispositivo de servidor extrae la primera línea del archivo especificada por la propiedad auth_path y la utiliza como una clave compartida. Este archivo debe estar presente en las dos partes. Antes de configurar cualquier cliente VPN, este archivo de secreto compartido se deberá copiar al almacén de datos en el subdirectorio /client/.
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.
Acceso remoto a un servicio exterior
El diagrama siguiente ilustra un ejemplo de cómo configurar el acceso remoto a un servicio exterior:

En este ejemplo un dispositivo Web, que se ejecuta en el grid A, accede a una base de datos MySQL remota que se ejecuta en el grid B a través de un túnel VPN seguro.
vpn1 en el grid A se configura para conectarse a la dirección IP asignada a vpn2 en el grid B. El terminal srv de vpn1 y el terminal clt de vpn2 se dejan sin conectar. Las interfaces externas de vpn1 y vpn2 se configuran con las direcciones IP enrutables correspondientes.
Ejemplo de configuración de las propiedades:
vpn1:
|
Nombre de la propiedad |
Valor |
Notas |
|
ip_addr |
25.74.63.87 |
IP externa utilizada para vpn1. |
|
netmask |
255.255.255.0 |
Máscara de red. |
|
gateway |
25.74.63.1 |
Puerta de enlace. |
|
mode |
client |
Modo de operación del cliente. |
|
tunnel |
ipsec certificate |
El tráfico se encripta mediante IPSec. |
|
auth_path |
client-7575 |
Nombre de la pareja de archivos certificado/clave. |
|
remote_host |
12.12.12.12 |
IP externa asignada a la interfaz externa de vpn2. |
vpn2:
|
Nombre de la propiedad |
Valor |
Notas |
|
ip_addr |
12.12.12.12 |
IP externa utilizado para vpn2. |
|
netmask |
255.255.255.0 |
netmask |
|
gateway |
12.12.12.1 |
gateway |
|
mode |
server |
Modo de operación del servidor. |
|
tunnel |
ipsec certificate |
El tráfico se encripta mediante IPSec. |
|
allowed_hosts |
25.74.63.87 |
Solamente permite conexiones de vpn1. |
|
tcp_ports |
3306 |
Puerto predeterminado para servidor MySQL. |
Acceso remoto a dispositivos de CA 3Tera AppLogic internos
El diagrama siguiente ilustra un ejemplo de cómo configurar el acceso remoto a los dispositivos internos de CA 3Tera AppLogic:

En este ejemplo un usuario necesita acceder a varios dispositivos desde su equipo a través de una conexión VPN segura mediante el cliente OpenVPN. Se utiliza OpenVPN para conectarse a la dirección IP asignada a vpn. Vpn establece un túnel VPN con el equipo del usuario y reenvía todo el tráfico entrante al conmutador de puerto sw, que está configurado para distribuir el tráfico a cuatro dispositivos diferentes dentro de la aplicación.
Se debe instalar OpenVPN en el equipo del usuario antes de acceder a una aplicación de CA 3Tera AppLogic que usa el dispositivo de VPN tal y como se describe en este ejemplo. Los siguientes pasos describen cómo está configurada la aplicación y qué debe hacer el usuario para acceder a la aplicación a través de un túnel VPN seguro:
vpn:
|
Nombre de la propiedad |
Valor |
Notas |
|
ip_addr |
28.36.85.21 |
Dirección IP asignada al dispositivo VPN. |
|
mode |
Servidor |
Modo de operación del servidor. |
|
túnel |
shared secret |
Mediante archivo de secreto compartido. |
|
allowed_hosts |
26.42.56.72 |
Dirección IP del equipo de cliente. |
|
tcp_ports |
0 |
Se permite el uso de todos los puertos. |
|
udp_ports |
0 |
Se permite el uso de todos los puertos. |
3. Asigne los protocolos y puertos que necesiten reenviarse a través del dispositivo sw. En este caso los 4 puertos (122,422,522,822) se reenvían a los puertos ssh de los dispositivos conectados a sw:
|
Nombre de la propiedad |
Valor |
Notas |
|
out1_protocol |
tcp |
Protocolo TCP |
|
out1_in_port |
122 |
Puerto entrante 122 |
|
out1_out_port |
22 |
Puerto saliente 22 |
|
out4_protocol |
tcp |
Protocolo TCP |
|
out4_in_port |
422 |
Puerto entrante 422 |
|
out4_out_port |
22 |
Puerto saliente 22 |
|
out5_protocol |
tcp |
Protocolo TCP |
|
out5_in_port |
522 |
Puerto entrante 522 |
|
out5_out_port |
22 |
Puerto saliente 22 |
|
out8_protocol |
tcp |
Protocolo TCP |
|
out8_in_port |
822 |
Puerto entrante 822 |
|
out8_out_port |
22 |
Puerto saliente 22 |
4. Inicie la aplicación. Después de que la aplicación se ha iniciado, extraiga el archivo de secreto compartido del dispositivo vpn:
grid> comp ssh APPLICATION:main.VPN vpn> cat /mnt/data/server/secret.key # # 2048 bit OpenVPN static key # -----BEGIN OpenVPN Static key V1----- 431e845f2ca67f2a31649b20e3ba3291 ... fe991cdbfe82525a9367b9afbfd0f922 -----END OpenVPN Static key V1-----
5. Pegue el anterior contenido de secret.key en un nuevo archivo del equipo del usuario y guarde el archivo. Esto es un archivo de secreto compartido que se utiliza para la autenticación.
6. Prepare un archivo de configuración de OpenVPN de cliente. Copie las líneas siguientes en un nuevo archivo en el equipo del usuario (un archivo diferente del paso 5):
dev tun proto udp resolv-retry infinite persist-key persist-tun cipher AES-128-CBC comp-lzo keepalive 10 120 remote 11.22.33.44 1194 secret "C:\\Program Files\\OpenVPN\\sample-config\\secret.key" nobind ifconfig 169.254.215.101 169.254.215.102
Las direcciones IP de la línea ifconfig pueden ser cualquieras, siempre que sean: a) del bloque de red 169.254.0.0/16; b) de la misma subred /30; c) ni las primeras ni las últimas direcciones de la subred /30. B y C son las limitaciones del cliente de OpenVPN que se ejecuta en una plataforma de Windows.
7. Sustituya la dirección IP remota por la dirección IP que se asigna al dispositivo vpn. Sustituya la ruta al archivo de secreto compartido de la línea secret por la ruta al archivo de clave creado en el paso 5. Si está utilizando un sistema operativo de Microsoft Windows en el equipo de usuario donde se instaló OpenVPN, entrecomille todas las líneas y sustituya todas las barras diagonales por una barra diagonal doble.
8. Inicie el cliente de OpenVPN:
c:\program files\OpenVPN\bin\openvpn.exe --config "c:\client.ovpn"
Nota: Sustituya "c:\client.ovpn" por la ruta al archivo de configuración creado en el paso 6.
9. Después de unos pocos segundos, verá el mensaje siguiente de OpenVPN:
Wed Jul 01 09:41:12 2009 Peer Connection Initiated with XX.XX.XX.XX:1194 Wed Jul 01 09:41:12 2009 Initialization Sequence Completed
Ahora puede acceder a los dispositivos de la aplicación de CA 3Tera AppLogic mediante la dirección IP definida en el archivo de configuración (169.254.215.102 en este caso). El puerto 169.254.215.102:122 se reenvía por sw al puerto 22 del dispositivo srv1; asimismo el puerto 169.254.215.102:422 se reenvía al dispositivo srv4 y así sucesivamente. Por ejemplo, ejecute
ssh -p 122 root@169.254.215.102 para acceder al primer dispositivo.
Provisión de túneles VPN seguros para la replicación MySQL
El diagrama siguiente ilustra un ejemplo de cómo ofrecer túneles VPN seguros para la replicación MySQL:

En este ejemplo se ejecutan dos aplicaciones en grids diferentes, grid A y grid B, donde las dos aplicaciones utilizan la misma base de datos MySQL que se replica a través de un túnel VPN seguro.
vpn1 y vpn2 se configuran con una dirección IP enrutable en las interfaces externas. vpn1 se configura para establecer un túnel a vpn2, y viceversa.
db1 del grid A envía tráfico a vpn1 para propósitos de replicación, donde se encripta y se transmite a vpn2, que es donde se desencripta el tráfico y se envía al terminal rin de db2 en el grid B. Asimismo, la replicación desde db2 en el grid B hasta db1 en el grid A se comporta de la misma manera.
vpn1:
|
Nombre de la propiedad |
Valor |
Notas |
|
ip_addr |
82.56.42.25 |
Dirección asignada a la interfaz externa. |
|
mode |
both |
Modo de operación del servidor. |
|
tunnel |
ssh key |
Mediante archivos de clave de SSH. |
|
auth_path |
"/keys/vpn21.ssh.key" |
Ruta al archivo de clave de SSH. |
|
remote_host |
92.72.57.95 |
Dirección asignada a la interfaz externa de vpn2. |
|
tcp_ports |
3306,22 |
Puerto predeterminado para el servidor MySQL y SSH. |
|
ssh_ports |
3306,22 |
Puerto predeterminado para el servidor MySQL y SSH. |
vpn2:
|
Nombre de la propiedad |
Valor |
Notas |
|
ip_addr |
92.72.57.95 |
Dirección asignada a la interfaz externa. |
|
mode |
both |
Modo de operación del servidor. |
|
tunnel |
ssh key |
Mediante archivos de clave de SSH. |
|
auth_path |
"/keys/vpn21.ssh.key" |
Ruta al archivo de clave de SSH. |
|
remote_host |
82.56.42.25 |
Dirección asignada a la interfaz externa de vpn1. |
|
tcp_ports |
3306,22 |
Puerto predeterminado para el servidor MySQL y SSH. |
|
ssh_ports |
3306,22 |
Puerto predeterminado para el servidor MySQL y SSH. |
También se puede usar el modo de secreto compartido de IPSec:
vpn1:
|
Nombre de la propiedad |
Valor |
Notas |
|
ip_addr |
82.56.42.25 |
Dirección asignada a la interfaz externa. |
|
mode |
both |
Actúa como servidor y cliente; permite la replicación en dos direcciones. |
|
tunnel |
ipsec shared secret |
Tráfico encriptado con IPSec. |
|
auth_path |
"/keys/ipsec.key" |
Ruta al archivo de secreto compartido de ipsec. |
|
remote_host |
92.72.57.95 |
Dirección asignada a la interfaz externa de vpn2. |
|
tcp_ports |
3306,22 |
Puerto predeterminado para el servidor MySQL y SSH. |
vpn2:
|
Nombre de la propiedad |
Valor |
Notas |
|
ip_addr |
92.72.57.95 |
Dirección asignada a la interfaz externa. |
|
mode |
both |
Actúa como servidor y cliente; permite la replicación en dos direcciones. |
|
tunnel |
ipsec shared secret |
Tráfico encriptado con IPSec. |
|
auth_path |
"/keys/server/ipsec.key" |
Ruta al archivo de secreto compartido de ipsec. |
|
remote_host |
82.56.42.25 |
Dirección asignada a la interfaz externa de vpn1. |
|
tcp_ports |
3306,22 |
Puerto predeterminado para el servidor MySQL y SSH. |
Provisión de túneles VPN IPv6 seguros para la replicación MySQL
El diagrama siguiente ilustra un ejemplo de cómo ofrecer túneles VPN IPv6 seguros para la replicación MySQL:

Aquí utilizamos las mismas dos aplicaciones del ejemplo anterior, pero se ejecutan en la red IPv6.
vpn1 y vpn2 se configuran con una dirección IP enrutable en las interfaces externas. vpn1 se configura para establecer un túnel a vpn2, y viceversa.
db1 del grid A envía tráfico a vpn1 para propósitos de replicación, donde se encripta y se transmite a vpn2, que es donde se desencripta el tráfico y se envía al terminal rin de db2 en el grid B. Asimismo, la replicación desde db2 en el grid B hasta db1 en el grid A se comporta de la misma manera.
vpn1:
|
Nombre de la propiedad |
Valor |
Notas |
|
ipv6_addr |
fc00:1111:1111::10/64 |
Dirección asignada a la interfaz externa. |
|
ipv6_gateway |
fc00:1111:1111::99 |
Dirección de puerta de enlace. |
|
mode |
both |
Actúa como servidor y cliente; permite la replicación en dos direcciones. |
|
tunnel |
ssh key |
Mediante archivos de clave de SSH. |
|
auth_path |
"/keys/vpn21.ssh.key" |
Ruta al archivo de clave de SSH. |
|
remote_host |
fc00:1111:2222::10 |
Dirección asignada a la interfaz externa de vpn2. |
|
tcp_ports |
3306,22 |
Puerto predeterminado para el servidor MySQL y SSH. |
|
ssh_ports |
3306,22 |
Puerto predeterminado para el servidor MySQL y SSH. |
vpn2:
|
Nombre de la propiedad |
Valor |
Notas |
|
ipv6_addr |
fc00:1111:2222::10/64 |
Dirección asignada a la interfaz externa. |
|
ipv6_gateway |
fc00:1111:2222::99 |
Dirección de puerta de enlace. |
|
mode |
both |
Actúa como servidor y cliente; permite la replicación en dos direcciones. |
|
tunnel |
ssh key |
Mediante archivos de clave de SSH. |
|
auth_path |
"/keys/vpn21.ssh.key" |
Ruta al archivo de clave de SSH. |
|
remote_host |
fc00:1111:1111::10 |
Dirección asignada a la interfaz externa de vpn1. |
|
tcp_ports |
3306,22 |
Puerto predeterminado para el servidor MySQL y SSH. |
|
ssh_ports |
3306,22 |
Puerto predeterminado para el servidor MySQL y SSH. |
Se deberá utilizar OpenVPN en el equipo del cliente para acceder a un túnel VPN seguro expuesto por el dispositivo VPN.
Software de fuente abierta y de terceros utilizado dentro del dispositivo
VPN utiliza los siguientes paquetes de fuente abierta de terceros, además de los paquetes de fuente abierta de terceros que utiliza su clase base LUX5.
|
Software |
Versión |
Modificado |
Licencia |
Notas |
|
IPsec-Tools |
0.6.5-13.el5_3.1 |
No |
BSD |
Página principal |
|
iptables |
1.3.5-5.3.el5_4.1 |
No |
GPLv2 |
N/D |
|
iptables-ipv6 |
1.3.5-5.3.el5_4.1 |
No |
GPLv2 |
N/D |
|
LZO |
0,2.03 |
No |
GPLv2 |
Página principal |
|
OpenVPN |
2.1.4 |
No |
GPLv2 |
Página principal |
|
samba-client |
3.0.33-3.15.el5_4 |
No |
GPLv2 |
N/D |
|
samba-common |
3.0.33-3.15.el5_4 |
No |
GPLv2 |
N/D |
|
iproute2 |
2.6.29-1 |
No |
GPLv2 |
Página principal |
|
autossh |
1.4b |
No |
BSD |
Página principal |
| Copyright © 2011 CA. Todos los derechos reservados. | Enviar correo electrónico a CA Technologies acerca de este tema |