Mediante SSL-VPN es posible conectar clientes (Windows, Linux, Android y macOS) a una VPC en la nube a través de la red interna. Esto permite un acceso seguro en entornos de internet.
Para clientes iOS/iPadOS, consulte Connect an iPhone or iPad to a VPC using SSL-VPN .
Escenarios
Utilice SSL-VPN cuando tenga los siguientes requerimientos:
Sin dirección IP pública estática en las instalaciones: SSL-VPN establece las conexiones cuando el cliente inicia el marcado, por lo que no se requiere una dirección IP pública estática en la red local. Este método funciona en entornos con dirección IP dinámica, como banda ancha doméstica, oficinas móviles y sedes con direcciones IP dinámicas. La conexión se inicia siempre que el dispositivo cliente tenga acceso a internet. Si ya cuenta con un dispositivo de puerta de enlace con dirección IP pública estática en sus instalaciones, también puede elegir IPsec-VPN para establecer una conexión de sitio a sitio.
Acceso a instancias ECS solo por la red interna: Las instancias ECS dentro de una VPC no necesitan estar asociadas a una dirección IP pública. Una vez que el cliente se conecta correctamente mediante SSL-VPN, puede usar directamente la dirección IP privada de una instancia ECS para acceder a los recursos de la misma VPC.
Control de acceso seguro: Configure el security group asociado a la instancia ECS para permitir únicamente el tráfico proveniente del bloque Client CIDR Block de SSL-VPN. De esta manera, evita el acceso directo por internet y permite la entrada solo después de iniciar sesión mediante SSL-VPN, lo que reduce el riesgo de exponer puertos críticos (como SSH 22 y RDP 3389) a internet.
Ejemplo de escenario
Objetivo: crear una puerta de enlace SSL-VPN para que los clientes locales accedan de forma segura a las instancias ECS de una VPC mediante direcciones IP internas.
A continuación se muestra el plan de recursos:
-
VPC
Nombre:
vpc-demoRegión: China (Hangzhou)
Bloque CIDR: 10.0.0.0/16
-
vSwitches: cree dos, con los nombres
vsw1yvsw2, respectivamente.vsw1se ubica en la zona J, bloque CIDR: 10.0.0.0/24vsw2se ubica en la zona K, bloque CIDR: 10.0.1.0/24
ECS: dirección 10.0.0.1, sistema operativo
Alibaba Cloud Linux 3.2104 LTS 64-bit
Bloque CIDR local donde se encuentra el cliente: 172.16.0.0/16
Paso 1: Configurar los recursos de VPN en la nube
Antes de conectar el cliente a la VPC, debe crear y configurar una puerta de enlace VPN, un servidor SSL y un cliente SSL en la consola de Alibaba Cloud.
1. Crear una puerta de enlace VPN
La puerta de enlace VPN actúa como punto de entrada y salida de la conexión SSL-VPN en la nube.
Vaya a la página VPN gateway de la consola y haga clic en Create VPN Gateway.
-
Configure los parámetros en la página VPN gateway:
Instance Name:
vpn-demoRegion: China (Hangzhou).
Virtual Private Cloud (VPC): seleccione la VPC a la que necesita acceder el cliente.
-
vSwitch 1/vSwitch 2: seleccione
vsw1yvsw2, respectivamente.La puerta de enlace VPN utiliza una arquitectura de respaldo activo en la capa subyacente. En las regiones donde la VPC admite varias zonas, asegúrese de que la VPC contenga como mínimo dos vSwitches ubicados en zonas distintas para garantizar la alta disponibilidad entre zonas. Si no se cumple esta condición, Create a vSwitch primero.
Maximum Bandwidth: 10M
IPsec-VPN: Disabled (la opción para deshabilitarlo está disponible solo después de habilitar SSL-VPN más adelante).
SSL-VPN: Enable.
SSL-VPN Connections: 5.
Service-linked Role: si aún no ha creado uno, haga clic en Create Service-linked Role.
Para obtener una descripción detallada de los parámetros necesarios al crear una puerta de enlace VPN, consulte Create and manage a VPN gateway instance .
-
Una vez completada la compra y el pago, verá la puerta de enlace VPN creada en la página VPN gateway.
El estado de la puerta de enlace VPN recién creada es Preparing . Después de 1 a 5 minutos aproximadamente, el estado cambia a Normal , momento en el cual puede comenzar a utilizarla.
2. Crear un servidor SSL
El servidor SSL define el rango de la red en la nube al que pueden acceder los clientes y configura el pool de direcciones IP para estos.
Vaya a la página SSL Servers, cambie a la región China (Hangzhou) en la barra de menú superior y haga clic en Create SSL Server.
-
En el panel Create SSL Server, configure el servidor SSL con la siguiente información:
Name: introduzca
server-demoVPN Gateway: seleccione la puerta de enlace VPN que acaba de crear.
-
Local Network: introduzca el bloque CIDR de la VPC
10.0.0.0/16.Este bloque CIDR representa el rango de la red en la nube al que desea que accedan los clientes; por lo general, corresponde al bloque CIDR de su VPC.
Client CIDR Block: es el pool de direcciones que la puerta de enlace VPN utiliza para asignar direcciones IP a los adaptadores de red virtuales de los clientes. No debe superponerse con Local Network ni con los bloques CIDR que ya utilizan los clientes (por ejemplo, el bloque CIDR local donde se encuentra el cliente), ya que esto generaría un conflicto de enrutamiento. Se recomienda seleccionar una subred que no entre en conflicto con la red existente (por ejemplo,
10.200.200.0/24) dentro de los rangos de direcciones privadas definidos en RFC 1918 (10.0.0.0/8,172.16.0.0/12,192.168.0.0/16) y asignarla a los clientes.
Mantenga el resto de las opciones con sus valores predeterminados. Para consultar la descripción detallada de los parámetros al crear un servidor SSL, revise Create and manage an SSL server .
3. Crear un cliente SSL y descargar el certificado
El cliente SSL se encarga de gestionar los certificados. Cada cliente que necesite conectarse debe importar un certificado para la autenticación de identidad y el cifrado.
En el panel de navegación izquierdo, elija Interconnections - VPN-SSL Clients. En la barra de menú superior, compruebe que la región sea China (Hangzhou). En la página SSL Client, haga clic en Create SSL Client.
En el panel Create SSL Client, introduzca
client-democomo nombre, seleccioneserver-demoen SSL server y luego haga clic en OK.En la página SSL Client, busque el cliente SSL creado y haga clic en Download certificate dentro de su columna Actions.
Paso 2: Configurar el cliente
Consulte el método de configuración correspondiente según el sistema operativo del cliente.
Cliente Windows
-
Descargue el cliente OpenVPN compatible con su versión de Windows y complete la instalación siguiendo las indicaciones de la interfaz:
Sistema Windows de 64 bits (Intel/AMD): OpenVPN client (Windows 64-bit).
Sistema Windows ARM64: OpenVPN client (Windows ARM64).
-
Descomprima el certificado del cliente SSL descargado y copie todos los archivos extraídos al directorio de configuración de OpenVPN.
Ruta predeterminada:
C:\Program Files\OpenVPN\configNota: si modificó la ruta de instalación, copie los archivos en la carpeta config de su directorio de instalación real.

-
Abra el archivo
config.ovpncon el Bloc de notas y agregue la siguiente línea al final:disable-dco.La función Data Channel Offload (DCO), introducida en OpenVPN 2.6, presenta problemas de compatibilidad en algunos sistemas Windows (como ciertas versiones de Windows 10/11). Esta configuración deshabilita DCO para resolver el problema de conexión en algunos dispositivos.

-
Haga clic derecho en el ícono de OpenVPN ubicado en la bandeja del sistema, en la esquina inferior derecha del escritorio, y luego haga clic en Connect para establecer la conexión VPN.

-
Si el estado se muestra como Connected y se asigna una dirección IP, la conexión se estableció correctamente.

Cliente Linux
-
Ejecute los siguientes comandos para instalar el cliente OpenVPN y crear el directorio
conf.CentOS
yum install -y openvpn mkdir -p /etc/openvpn/confUbuntu
apt-get update apt-get install -y openvpn mkdir -p /etc/openvpn/conf -
Descomprima el certificado del cliente SSL descargado y cópielo al directorio /etc/openvpn/conf/.
[root@iZt4n******* conf]# ls -lh /etc/openvpn/conf/ total 16K -rw-r--r-- 1 root root 1.3K Nov 26 01:07 ca.crt -rw-r--r-- 1 root root 218 Nov 26 01:21 config.ovpn -rw-r--r-- 1 root root 1.2K Nov 26 01:07 vsc-rj9s*******.crt -rw-r--r-- 1 root root 1.7K Nov 26 01:07 vsc-rj9s*******.key -
Vaya al directorio /etc/openvpn/conf/ y ejecute el siguiente comando para establecer la conexión VPN.
openvpn --config /etc/openvpn/conf/config.ovpn --daemon -
(Opcional) Configure el proceso de OpenVPN para que se inicie automáticamente durante el arranque.
-
Edite el archivo /etc/rc.local y agregue los comandos correspondientes.
#Open the /etc/rc.local file in edit mode vi /etc/rc.local #Press the i key to enter file editing mode, and then add the following commands to the /etc/rc.local file cd /etc/openvpn/conf/ openvpn --config /etc/openvpn/conf/config.ovpn --daemon #Press the Esc key to exit file editing mode, and then enter the following command to save and exit the file :wq -
Otorgue permisos de ejecución al archivo /etc/rc.local.
chmod +x /etc/rc.local
-
Cliente Android
-
Descargue e instale el OpenVPN client (Android version).
Este tema utiliza un cliente con Android 9.0 y la versión 3.0.5 del cliente OpenVPN instalada.
-
Transfiera el certificado del cliente SSL descargado al dispositivo Android y descomprímalo.
NotaSi su dispositivo Android no cuenta con software de descompresión, descomprima el certificado en una computadora y luego transfiera los archivos extraídos al cliente Android.
Asegúrese de que los archivos extraídos se encuentren en la misma carpeta, como se muestra en la siguiente figura.

-
Abra el cliente OpenVPN, importe el archivo
config.ovpny agregue una conexión VPN.
Núm.
Descripción
①
Seleccione el método de conexión OVPN Profile.
②
Busque el archivo
config.ovpnen el directorio de almacenamiento.③
Haga clic en IMPORT para importar el archivo
config.ovpn.④
El sistema lee automáticamente la información del archivo
config.ovpny muestra la dirección IP pública de la puerta de enlace VPN a la que se conectará. Haga clic en ADD para agregar la conexión VPN. -
Haga clic en el control deslizante para habilitar la conexión VPN.

Cliente Mac (interfaz gráfica, recomendado para chips de la serie M)
-
Abra la página Tunnelblick Releases y busque la última versión estable para descargar el archivo dmg. Este tema toma como ejemplo la versión
Tunnelblick 4.0.1 (build 5971). En el panel Assets, descargue el archivo con formato.dmg.
-
Instale el software Tunnelblick.

Núm.
Descripción
①
Haga doble clic en el paquete de instalación de Tunnelblick descargado.
②
Haga doble clic en el ícono de Tunnelblick.
③
Seleccione I have configuration files.
④
Haga clic en OK.
-
Primero descomprima el certificado del cliente SSL descargado y luego arrastre los archivos
config.ovpnextraídos al panel de configuración para establecer la conexión VPN.
Núm.
Descripción
①
Haga clic en el ícono de Tunnelblick en Launchpad para abrir el software.
②
Arrastre los archivos extraídos
config.ovpnal panel Configurations.③
Seleccione Only Me.
④
Haga clic en Connect.
Cliente Mac (línea de comandos)
-
Abra una ventana de Terminal. Si aún no tiene Homebrew instalado en su cliente, ejecute el siguiente comando para instalarlo.
NotaDado que el script de instalación de Homebrew contiene el comando sudo, el sistema le solicitará introducir la contraseña de administrador durante el proceso. Cuando aparezca "Press RETURN/ENTER to continue...", presione la tecla Enter para continuar.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" -
Ejecute el siguiente comando para instalar el cliente OpenVPN.
brew install openvpn -
Descomprima el certificado del cliente SSL descargado y cópielo al directorio de configuración.
-
Realice una copia de seguridad del directorio /opt/homebrew/etc/openvpn.
cp -r /opt/homebrew/etc/openvpn /opt/homebrew/etc/openvpn_bak -
Ejecute el siguiente comando para eliminar el archivo de configuración actual de OpenVPN.
rm /opt/homebrew/etc/openvpn/* -
Ejecute el siguiente comando para copiar el certificado del cliente SSL descargado al directorio de configuración.
cp /path/to/certs.zip /opt/homebrew/etc/openvpn/Nota/path/to/certs.zipes la ruta del certificado del cliente SSL descargado en el paso de creación del cliente SSL. Por lo general, se encuentra en el directorio Downloads del usuario actual, por ejemplo,/Users/example/Downloads/certs.zip.
-
-
Ejecute el siguiente comando para descomprimir el certificado.
cd /opt/homebrew/etc/openvpn/ unzip /opt/homebrew/etc/openvpn/certs.zip -
Seleccione un método de ejecución.
Ejecución en primer plano
Ejecute el siguiente comando para iniciar el proceso del cliente y establecer la conexión VPN:
sudo /opt/homebrew/opt/openvpn/sbin/openvpn --config /opt/homebrew/etc/openvpn/config.ovpnDespués de ejecutar este comando, el proceso se mantiene en primer plano. Cuando necesite desconectarse, presione Ctrl+C para finalizar el comando.
Ejecución en segundo plano
Ejecute el siguiente comando para que el proceso del cliente VPN se ejecute en segundo plano como un servicio y se inicie automáticamente durante el arranque:
cp config.ovpn openvpn.conf sudo brew services start openvpnCuando necesite detenerlo, ejecute el siguiente comando:
sudo brew services stop openvpn
Paso 3: Probar la conectividad
-
Configurar reglas del security group
Para garantizar que los clientes puedan acceder a los recursos de la VPC, add an inbound rule en el security group asociado a la instancia ECS y permita el tráfico proveniente de Client CIDR Block (
10.200.200.0/24).Para pruebas de conectividad: permita el protocolo ICMP de modo que el comando
pingfuncione correctamente.Para acceso de negocio: permita los puertos específicos que requiera su aplicación, como TCP 22 (SSH), TCP 3389 (RDP) y TCP 80/443 (servicios web).
-
Prueba de ping
Desde el dispositivo cliente, utilice el comando ping para acceder a la instancia ECS:
ping 10.0.0.1Si el ping se ejecuta correctamente, el cliente se conectó a la instancia ECS a través de la red interna:
C:\Users\Administrator>ping 10.0.0.1 Pinging 10.0.0.1 with 32 bytes of data: Reply from 10.0.0.1: bytes=32 time=8ms TTL=63 Reply from 10.0.0.1: bytes=32 time=8ms TTL=63 Reply from 10.0.0.1: bytes=32 time=8ms TTL=63 Reply from 10.0.0.1: bytes=32 time=8ms TTL=63 Ping statistics for 10.0.0.1: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 8ms, Maximum = 8ms, Average = 8ms -
Prueba del puerto de servicio
Para comprobar el acceso de negocio, intente conectarse a un servicio que se ejecute en la instancia ECS. Por ejemplo, instale e inicie un servicio web (como Nginx) en la instancia ECS:
# Run on the ECS instance (using Alibaba Cloud Linux 3 as an example:) yum install -y nginx systemctl start nginx.serviceDespués de confirmar que el security group asociado a la instancia ECS permite el tráfico en el puerto TCP 80 desde el bloque CIDR del cliente, acceda a
http://10.0.0.1desde el navegador del cliente.Si logra ver la página de bienvenida de Nginx, el acceso de negocio funciona correctamente.

Preguntas frecuentes
¿Cómo utilizo el método de autenticación con nombre de usuario y contraseña?
Puede habilitar two-factor authentication para que un cliente establezca una conexión SSL-VPN únicamente después de superar tanto la autenticación por certificado como la autenticación con nombre de usuario y contraseña.
¿El cliente necesita introducir la dirección de la puerta de enlace VPN al conectarse?
No es necesario introducir manualmente la dirección de la puerta de enlace VPN al conectarse. El archivo de configuración config.ovpn descargado desde la consola ya contiene la dirección IP pública de la puerta de enlace VPN. Al importarlo en el cliente OpenVPN, el sistema la reconoce automáticamente sin requerir datos adicionales.
Ya tengo otro cliente OpenVPN instalado en mis instalaciones. ¿Puedo usarlos al mismo tiempo?
Sí, puede usarlos al mismo tiempo, pero debe evitar conflictos en los archivos de configuración. Si varios clientes OpenVPN comparten el mismo directorio config, los certificados importados y el archivo config.ovpn podrían sobrescribirse o cargarse de forma incorrecta, lo que genera conflictos en OpenVPN y anomalías en la conexión.
Se recomienda aislarlos de la siguiente manera:
Instale el cliente OpenVPN utilizado por SSL-VPN de Alibaba Cloud en una ruta diferente a la del cliente existente (por ejemplo, si el cliente actual se encuentra en
C:\Program Files\OpenVPN, instale el nuevo cliente en otro directorio).Asegúrese de que las carpetas config de ambos clientes sean independientes. Los archivos de certificado de SSL-VPN de Alibaba Cloud deben descomprimirse y copiarse únicamente en la carpeta config del directorio de instalación actual.
Al conectarse, inicie la conexión desde el cliente ubicado en el directorio de instalación correspondiente y evite mezclar varios conjuntos de archivos de configuración en un mismo cliente.
¿Cómo desconecto la conexión VPN en un cliente Linux o Mac?
-
Abra la línea de comandos y ejecute el siguiente comando para buscar el proceso de OpenVPN y registrar su identificador.
ps aux | grep openvpn -
Ejecute el siguiente comando para finalizar el proceso de OpenVPN.
kill -9 <process ID>
Después de conectarme mediante SSL-VPN, ¿todavía necesito adquirir un bastion host para iniciar sesión en la instancia ECS por SSH?
No. Siempre que la conexión SSL-VPN funcione correctamente y el security group asociado a la instancia ECS haya permitido el tráfico del puerto TCP 22 desde Client CIDR Block, puede usar directamente una herramienta SSH para completar el inicio de sesión SSH a través de la dirección IP privada de la instancia ECS, sin necesidad de adquirir un bastion host adicional.
Si su empresa requiere auditoría de sesiones, control de permisos detallado o inicio de sesión colaborativo multiusuario para operaciones de operación y mantenimiento, puede combinar un bastion host con SSL-VPN. Sin embargo, un bastion host no es un requisito previo para establecer una conexión SSL-VPN ni para iniciar sesión en una instancia ECS a través de la red interna.
¿No logra conectarse correctamente?
Cuando un cliente SSL-VPN se conecta correctamente, establece de forma automática la interconexión de red interna con las instancias ECS de la misma VPC. No es necesario agregar entradas de ruta ni conectar la red por separado. Por lo tanto, si la conexión se establece pero el acceso falla, el problema no suele estar en el enlace VPN, sino en el control de acceso de la instancia ECS de destino.
Síntoma | Posibles causas y pasos de solución de problemas |
No se puede establecer la conexión; por ejemplo, los registros del cliente muestran el mensaje | 1. Problemas de red: Compruebe que el dispositivo cliente tenga acceso a internet y que el firewall de la red local o el software de seguridad no bloquee al cliente OpenVPN para acceder a la dirección IP pública y al puerto de la puerta de enlace VPN (TCP/1194 de manera predeterminada). 2. Problemas de certificado: Compruebe que el archivo |
La conexión se establece correctamente, pero el comando | 1. Reglas del security group (primer elemento por revisar): Cuando el ping falla, inicie sesión en la consola de ECS y compruebe si el security group de la instancia tiene una regla de entrada que permita el tráfico del protocolo 2. Firewall interno de ECS: Compruebe si el firewall del sistema operativo de ECS (como firewalld o iptables) bloquea las solicitudes ICMP. |
La conexión se establece correctamente y el comando | 1. Reglas del security group: Revise el security group de ECS para asegurarse de que los puertos de servicio correspondientes (como TCP 80 y TCP 22) estén permitidos para su bloque CIDR del cliente. 2. Estado de escucha del servicio: Inicie sesión en la instancia ECS y compruebe que el puerto esté escuchando correctamente (por ejemplo, use 3. El firewall propio de ECS permite el puerto: Inicie sesión en la instancia ECS y confirme que el firewall del sistema operativo permita el tráfico en ese puerto. |
Después de conectarse a la VPN, no se puede acceder a la red local (por ejemplo, a una impresora) ni a internet | Conflicto de enrutamiento: El bloque Client CIDR Block que configuró en el servidor SSL podría entrar en conflicto con el bloque CIDR de su red local actual. Regrese al paso 1, cambie el bloque CIDR del cliente del servidor SSL por uno menos común (como |
La instancia ECS no puede ejecutar activamente el comando | Comportamiento normal. Por motivos de seguridad, el firewall del sistema operativo del cliente bloquea de manera predeterminada las solicitudes de conexión entrantes de fuentes externas, incluido el par VPN. Este comportamiento es esperado y no afecta el acceso del cliente a los recursos de la nube. Si necesita que los recursos de la nube accedan al cliente, permita el protocolo ICMP en el firewall del cliente. |
Si tiene más dudas, consulte SSL-VPN connection FAQ.