Você pode usar o SSL-VPN para conectar clientes (Windows, Linux, Android e macOS) a uma vpc na cloud pela rede interna, o que possibilita o acesso seguro em um ambiente de internet.
Para clientes iOS/iPadOS, consulte Connect an iPhone or iPad to a VPC using SSL-VPN .
Cenários
Use o SSL-VPN se você tiver os seguintes requisitos:
Sem endereço IP público estático no local (on-premises): O SSL-VPN estabelece conexões fazendo com que o cliente inicie a discagem, o que não exige que a rede local tenha um endereço IP público estático. É ideal para ambientes com endereço IP dinâmico, como banda larga residencial, escritório móvel e escritórios com ip dinâmico. A conexão pode ser iniciada desde que o dispositivo cliente tenha acesso à internet. Se você já possui um dispositivo de gateway com um endereço IP público estático no local, também pode escolher o IPsec-VPN para estabelecer uma conexão site a site.
Acessar instâncias ECS apenas pela rede interna: As instâncias ECS em uma VPC não precisam estar associadas a um endereço IP público. Depois que um cliente se conecta com sucesso via SSL-VPN, ele pode usar diretamente o endereço IP privado de uma instância ECS para acessar recursos na mesma VPC.
Controle de acesso seguro: Você pode configurar o grupo de segurança associado à instância ECS para permitir apenas o tráfego originado do Client CIDR Block do SSL-VPN. Dessa forma, você impede o acesso direto pela internet e permite o acesso somente após o login via SSL-VPN, reduzindo o risco de expor portas de alto risco (como ssh 22 e RDP 3389) à internet.
Exemplo de cenário
Objetivo: Criar um gateway SSL-VPN para que os clientes locais (on-premises) possam acessar com segurança as instâncias ECS em uma VPC por meio de endereços IP internos.
O plano de recursos é o seguinte:
-
VPC
Nome:
vpc-demoRegião: China (Hangzhou)
Bloco CIDR: 10.0.0.0/16
-
vSwitches: crie dois, chamados
vsw1evsw2, respectivamenteO
vsw1está localizado na zona J, bloco CIDR: 10.0.0.0/24O
vsw2está localizado na zona K, bloco CIDR: 10.0.1.0/24
ECS: endereço 10.0.0.1, sistema operacional
Alibaba Cloud Linux 3.2104 LTS 64-bit
Bloco CIDR local onde o cliente está localizado: 172.16.0.0/16
Etapa 1: Configure os recursos de VPN na cloud
Antes de conectar o cliente à VPC, você precisa primeiro criar e configurar um gateway de VPN, um servidor SSL e um cliente SSL no console da Alibaba Cloud.
1. Crie um gateway de VPN
O gateway de VPN é o ponto de entrada e saída da conexão SSL-VPN na cloud.
Para começar, acesse a página VPN gateway no console e clique em Create VPN Gateway.
-
Configure na página VPN gateway:
Instance Name:
vpn-demoRegion: China (Hangzhou).
Virtual Private Cloud (VPC): Por favor, selecione a VPC que o cliente precisa acessar.
-
vSwitch 1/vSwitch 2: Selecione
vsw1evsw2, respectivamente.O gateway de VPN usa uma arquitetura hot-standby na camada subjacente. Nas regiões em que a VPC suporta múltiplas zonas, para garantir a alta disponibilidade entre zonas, a VPC deve conter pelo menos dois vSwitches localizados em zonas diferentes. Se essa condição não for atendida, Create a vSwitch primeiro.
Maximum Bandwidth: 10M
IPsec-VPN: Disabled (a opção de desativar fica disponível somente após você ativar o SSL-VPN abaixo).
SSL-VPN: Enable.
SSL-VPN Connections: 5.
Service-linked Role: Se você ainda não criou uma, clique em Create Service-linked Role.
Para uma descrição detalhada dos parâmetros de criação de um gateway de VPN, consulte Create and manage a VPN gateway instance .
-
Após a conclusão da compra e do pagamento, você poderá ver o gateway de VPN criado na página VPN gateway.
O status do gateway de VPN recém-criado é Preparing . Após cerca de 1 a 5 minutos, o status muda para Normal , momento em que você pode começar a usá-lo.
2. Crie um servidor SSL
O servidor ssl é usado para definir o intervalo da rede na cloud que os clientes podem acessar e para configurar o pool de endereços IP dos clientes.
Acesse a página SSL Servers, mude para a região China (Hangzhou) na barra de menu superior e clique em Create SSL Server.
-
No painel Create SSL Server, configure o servidor SSL com base nas seguintes informações:
Name: Para o nome, insira
server-demoVPN Gateway: Selecione o gateway de VPN que você acabou de criar.
-
Local Network: Insira o bloco CIDR da VPC
10.0.0.0/16.Este bloco CIDR é o intervalo da rede na cloud que você deseja que os clientes acessem, que geralmente é o bloco CIDR da sua VPC.
Client CIDR Block: O pool de endereços que o gateway de VPN usa para alocar endereços IP aos adaptadores de rede virtuais do cliente. Ele não deve se sobrepor à Local Network nem aos blocos CIDR já utilizados pelos clientes (por exemplo, o Bloco CIDR local onde o cliente está localizado), caso contrário, ocorrerá um conflito de roteamento. Recomendamos que você selecione uma sub-rede que não entre em conflito com a rede existente (por exemplo,
10.200.200.0/24) a partir dos intervalos de endereços privados definidos na RFC 1918 (10.0.0.0/8,172.16.0.0/12,192.168.0.0/16) e a aloque para os clientes.
Mantenha as outras opções com seus valores padrão. Para uma descrição detalhada dos parâmetros de criação de um servidor SSL, consulte Create and manage an SSL server .
3. Crie um cliente SSL e baixe o certificado
O cliente SSL permite que você gerencie os certificados de cliente. Cada cliente que precisa se conectar deve importar um certificado para autenticação de identidade e criptografia.
No painel de navegação à esquerda, escolha Interconnections - VPN-SSL Clients. Na barra de menu superior, confirme se a região é China (Hangzhou). Na página SSL Client, clique em Create SSL Client.
No painel Create SSL Client, insira
client-demopara o nome, selecioneserver-demopara SSL server e, em seguida, clique em OK.Na página SSL Client, localize o cliente SSL criado e clique em Download certificate na coluna Actions.
Etapa 2: Configure o cliente
Visualize o método de configuração correspondente com base no sistema operacional do cliente.
Cliente Windows
-
Baixe o cliente OpenVPN compatível com a versão do seu sistema Windows e conclua a instalação conforme as instruções da interface:
Sistema Windows 64 bits (Intel/AMD): Cliente OpenVPN (Windows 64 bits).
Sistema Windows ARM64: Cliente OpenVPN (Windows ARM64).
-
Descompacte o certificado de cliente SSL baixado e copie todos os arquivos extraídos para o diretório de configuração do OpenVPN.
Caminho padrão:
C:\Program Files\OpenVPN\configNota: Se você modificou o caminho de instalação, copie-os para a pasta config no seu diretório de instalação real.

-
Abra o arquivo
config.ovpncom o Bloco de Notas e adicione uma linha no final:disable-dco.O recurso Data Channel Offload (DCO) introduzido no OpenVPN 2.6 tem problemas de compatibilidade em alguns sistemas Windows (como versões específicas do Windows 10/11). Esta configuração serve para desativar o DCO e resolver o problema de alguns dispositivos não conseguirem se conectar.

-
Clique com o botão direito no ícone do OpenVPN na bandeja no canto inferior direito da área de trabalho e, em seguida, clique em Connect para estabelecer a conexão VPN.

-
Se o State for exibido como Connected e um endereço IP for atribuído, a conexão foi estabelecida com sucesso.

Cliente Linux
-
Por favor, execute os seguintes comandos para instalar o cliente OpenVPN e criar o diretório
conf.CentOS
yum install -y openvpn mkdir -p /etc/openvpn/confUbuntu
apt-get update apt-get install -y openvpn mkdir -p /etc/openvpn/conf -
Descompacte e copie o certificado de cliente SSL baixado para o diretório /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 -
Acesse o diretório /etc/openvpn/conf/ e execute o seguinte comando para estabelecer a conexão VPN.
openvpn --config /etc/openvpn/conf/config.ovpn --daemon -
(Opcional) Ative o processo do OpenVPN para iniciar automaticamente na inicialização
-
Em seguida, edite o arquivo /etc/rc.local e adicione os comandos ao arquivo.
#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 -
Adicione permissão de execução ao arquivo /etc/rc.local e salve as alterações.
chmod +x /etc/rc.local
-
Cliente Android
-
Baixe e instale o Cliente OpenVPN (versão Android).
Este tópico usa um cliente executando o Android 9.0 com o cliente OpenVPN 3.0.5 instalado.
-
Transfira o certificado de cliente SSL baixado para o dispositivo Android e descompacte o certificado.
NotaSe o seu dispositivo Android não tiver um software de descompactação, você pode descompactar o certificado em um computador e, em seguida, transferir os arquivos extraídos para o cliente Android.
Certifique-se de que os arquivos extraídos estejam na mesma pasta, conforme mostrado na figura a seguir.

-
Abra o cliente OpenVPN, importe o arquivo
config.ovpne adicione uma conexão VPN.
Nº
Descrição
①
Selecione o método de conexão OVPN Profile.
②
Localize o arquivo
config.ovpnno diretório de armazenamento.③
Clique em IMPORT para importar o arquivo
config.ovpn.④
O sistema lê automaticamente as informações no arquivo
config.ovpne exibe o endereço IP público do gateway de VPN a ser conectado. Clique em ADD para adicionar a conexão VPN. -
Clique no botão deslizante para ativar a conexão VPN.

Cliente Mac (GUI, recomendado para chips da série M)
-
Abra a página Tunnelblick Releases e encontre a versão estável mais recente para baixar o arquivo dmg. Este tópico usa a versão
Tunnelblick 4.0.1 (build 5971)como exemplo. No painel Assets, baixe o arquivo no formato.dmg.
-
Instale o software Tunnelblick.

Nº
Descrição
①
Clique duas vezes no pacote de instalação do Tunnelblick baixado.
②
Clique duas vezes no ícone do Tunnelblick.
③
Selecione I have configuration files.
④
Clique em OK.
-
Primeiro descompacte o certificado de cliente SSL baixado e, em seguida, arraste os arquivos config.ovpn extraídos para o painel de configuração para estabelecer a conexão VPN.

Nº
Descrição
①
Clique no ícone do Tunnelblick no Launchpad para abrir o software Tunnelblick.
②
Arraste os arquivos extraídos
config.ovpnpara o painel Configurations.③
Selecione Only Me.
④
Clique em Connect.
Cliente Mac (linha de comando)
-
Abra uma janela de linha de comando do Terminal. Caso já esteja instalado, atualize o Homebrew antes de prosseguir. Se o Homebrew ainda não estiver instalado no seu cliente, execute o seguinte comando para instalar o Homebrew.
NotaComo o script de instalação do Homebrew contém o comando sudo, você será solicitado a inserir a senha de administrador durante o processo. Quando "Press RETURN/ENTER to continue..." aparecer, pressione a tecla Enter para continuar.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" -
Execute o seguinte comando para instalar o cliente OpenVPN.
brew install openvpn -
Descompacte e copie o certificado de cliente SSL baixado para o diretório de configuração.
-
Faça backup do diretório /opt/homebrew/etc/openvpn.
cp -r /opt/homebrew/etc/openvpn /opt/homebrew/etc/openvpn_bak -
Execute o seguinte comando para que você exclua o arquivo de configuração atual do OpenVPN.
rm /opt/homebrew/etc/openvpn/* -
Execute o seguinte comando para copiar o certificado de cliente SSL baixado para o diretório de configuração.
cp /path/to/certs.zip /opt/homebrew/etc/openvpn/Nota/path/to/certs.zipé o caminho do certificado de cliente SSL baixado na etapa de criação do cliente SSL, que geralmente está no diretório home do usuário atual, por exemplo,/Users/example/Downloads/certs.zip.
-
-
Execute o seguinte comando para descompactar o certificado.
cd /opt/homebrew/etc/openvpn/ unzip /opt/homebrew/etc/openvpn/certs.zip -
Escolha um método de execução.
Executar em primeiro plano
Você pode executar o seguinte comando para iniciar o processo do cliente e estabelecer a conexão VPN:
sudo /opt/homebrew/opt/openvpn/sbin/openvpn --config /opt/homebrew/etc/openvpn/config.ovpnDepois de executar este comando, ele continua rodando em primeiro plano. Quando precisar desconectar, insira Ctrl+C para encerrar o comando.
Executar em segundo plano
Execute o seguinte comando para fazer com que o processo do cliente VPN seja executado em segundo plano como um service e inicie automaticamente na inicialização:
cp config.ovpn openvpn.conf sudo brew services start openvpnQuando precisar pará-lo, execute o seguinte comando:
sudo brew services stop openvpn
Etapa 3: Teste a conectividade
-
Configure as regras do grupo de segurança
Para garantir que os clientes possam acessar os recursos na VPC, add an inbound rule no grupo de segurança associado à instância ECS para permitir o tráfego do Client CIDR Block (
10.200.200.0/24).Para teste de conectividade: Permita o protocolo ICMP para que o comando
pingfuncione corretamente.Para acesso de negócios: Permita as portas específicas exigidas pelo seu negócio, como TCP 22 (SSH), TCP 3389 (RDP) e TCP 80/443 (services web).
-
Teste de ping
No dispositivo cliente, use o comando ping para acessar a instância ECS:
ping 10.0.0.1Se o ping for bem-sucedido, o cliente estará conectado à instância ECS pela rede 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 -
Teste de porta de service
Para verificar ainda mais o acesso de negócios, você pode tentar acessar um service em execução na instância ECS. Por exemplo, instale e inicie um service web (como o Nginx) na instância ECS:
# Run on the ECS instance (using Alibaba Cloud Linux 3 as an example:) yum install -y nginx systemctl start nginx.serviceApós confirmar que o grupo de segurança associado à instância ECS permite o tráfego na porta TCP 80 a partir do bloco CIDR do cliente, acesse
http://10.0.0.1no navegador do cliente.Se você conseguir ver a página de boas-vindas do Nginx, o acesso de negócios está funcionando corretamente.

FAQ
Como uso o método de autenticação por nome de usuário e senha?
Você pode ativar o two-factor authentication, para que um cliente possa estabelecer uma conexão SSL-VPN somente após passar pela autenticação de certificado e pela autenticação de nome de usuário e senha.
O cliente precisa inserir o endereço do gateway de VPN ao se conectar?
Você não precisa inserir manualmente o endereço do gateway de VPN ao se conectar. O arquivo de configuração config.ovpn baixado do console já contém o endereço IP público do gateway de VPN. Depois de importado para o cliente OpenVPN, ele pode ser reconhecido automaticamente sem necessidade de entrada adicional.
Já tenho outro cliente OpenVPN instalado no local. Posso usá-los ao mesmo tempo?
Sim, você pode usá-los ao mesmo tempo, mas precisa evitar conflitos de arquivos de configuração. Se vários clientes OpenVPN compartilharem o mesmo diretório config, os certificados importados e o config.ovpn podem se sobrescrever ou ser carregados incorretamente, resultando em conflitos do OpenVPN e anomalias de conexão.
Recomendamos que você os isole da seguinte forma:
Instale o cliente OpenVPN usado pelo SSL-VPN da Alibaba Cloud em um caminho diferente do cliente existente (por exemplo, se o cliente existente estiver localizado em
C:\Program Files\OpenVPN, instale o novo cliente em outro diretório).Certifique-se de que as pastas config dos dois clientes sejam independentes uma da outra. Os arquivos de certificado do SSL-VPN da Alibaba Cloud são descompactados e copiados apenas para a pasta config no diretório de instalação atual.
Ao se conectar, inicie a conexão a partir do cliente no diretório de instalação correspondente e evite misturar vários conjuntos de arquivos de configuração no mesmo cliente.
Como desconecto a conexão VPN em um cliente Linux ou Mac?
-
Abra a linha de comando e execute o seguinte comando para pesquisar o processo do OpenVPN e anotar o ID do processo.
ps aux | grep openvpn -
Execute o seguinte comando para encerrar o processo do OpenVPN.
kill -9 <process ID>
Após me conectar via SSL-VPN, ainda preciso comprar um bastion host para fazer login na instância ECS via SSH?
Não. Desde que a conexão SSL-VPN funcione conforme o esperado e o grupo de segurança associado à instância ECS tenha permitido o tráfego da porta TCP 22 a partir do Client CIDR Block, você pode usar diretamente uma ferramenta SSH para concluir o login SSH por meio do endereço IP privado da instância ECS, sem precisar comprar um bastion host adicional.
Se a sua empresa tiver requisitos para auditoria de sessão, controle de permissão granular ou login colaborativo de múltiplos usuários para operações de O&M, você pode usar um bastion host em conjunto com o SSL-VPN. No entanto, um bastion host não é um pré-requisito para estabelecer uma conexão SSL-VPN ou fazer login em uma instância ECS pela rede interna.
Não conseguiu conectar com sucesso?
Depois que um cliente SSL-VPN se conecta com sucesso, ele estabelece automaticamente a interconexão de rede interna com as instâncias ECS na mesma VPC, sem precisar adicionar entradas de rota ou conectar adicionalmente a rede. Portanto, se a conexão for estabelecida, mas o acesso falhar, o problema geralmente não está no link da VPN em si, mas no controle de acesso no lado da ECS de destino.
Sintoma | Possíveis causas e etapas de solução de problemas |
Incapaz de conectar, por exemplo, os logs do cliente mostram a mensagem | 1. Problemas de rede: Confirme se o seu dispositivo cliente pode acessar a internet normalmente e se o firewall da rede local ou o software de segurança não está bloqueando o cliente OpenVPN de acessar o endereço IP público e a porta do gateway de VPN (TCP/1194 por padrão). 2. Problemas de certificado: Confirme se o |
Conectado com sucesso, mas o | 1. Regras do grupo de segurança (o primeiro item a verificar): Quando o Ping falha, faça login no console ECS primeiro e verifique se o grupo de segurança da instância adicionou uma regra de entrada para permitir o protocolo 2. Firewall interno da ECS: Verifique se o firewall dentro do sistema operacional da ECS (como firewalld ou iptables) está bloqueando solicitações ICMP. |
Conectado com sucesso, e o | 1. Regras do grupo de segurança: Verifique o grupo de segurança da ECS para garantir que as portas de service correspondentes (como TCP 80 e TCP 22) foram permitidas para o seu bloco CIDR do cliente. 2. Status de escuta do service: Faça login na instância ECS e confirme se a porta está escutando corretamente (por exemplo, use 3. O próprio firewall da ECS permite a porta: Faça login na instância ECS e confirme se o firewall do próprio sistema operacional da ECS permite a porta |
Após conectar à VPN, incapaz de acessar a rede local (como uma impressora) ou incapaz de acessar a internet | Conflito de roteamento: O Client CIDR Block que você configurou no servidor SSL pode estar em conflito com o bloco CIDR da sua rede local atual. Volte para a Etapa 1, altere o bloco CIDR do cliente do servidor SSL para um bloco CIDR menos comum (como |
A instância ECS não consegue dar | Comportamento normal. Por motivos de segurança, o firewall do sistema operacional do cliente bloqueia solicitações de conexão ativas de fontes externas (incluindo o par da VPN) por padrão. Este é o comportamento esperado e não afeta o acesso do cliente aos recursos da cloud. Se houver solicitações de recursos da cloud para acessar o cliente, permita o protocolo ICMP no firewall do cliente. |
Para mais dúvidas, consulte SSL-VPN connection FAQ.