Hoje vamos dar uma olhada nas opções de configuração de VPN que o NSX Edge nos oferece.
Em geral, podemos dividir as tecnologias VPN em dois tipos principais:
VPN site a site. O uso mais comum do IPSec é criar um túnel seguro, por exemplo, entre a rede de um escritório principal e uma rede em um local remoto ou na nuvem.
VPN de acesso remoto. Usado para conectar usuários individuais a redes privadas corporativas usando o software cliente VPN.
O NSX Edge nos permite usar as duas opções.
Vamos configurar usando um banco de testes com dois NSX Edge, um servidor Linux com um daemon instalado guaxinim e um laptop Windows para testar a VPN de acesso remoto.
IPsec
Na interface do vCloud Director, vá para a seção Administração e selecione o vDC. Na guia Edge Gateways, selecione o Edge necessário, clique com o botão direito do mouse e selecione Serviços de Edge Gateway.
Na interface do NSX Edge, vá para a guia VPN-IPsec VPN, depois para a seção IPsec VPN Sites e clique em + para adicionar um novo site.
Preencha os campos obrigatórios:
ativado – ativa o site remoto.
PFS – garante que cada nova chave criptográfica não esteja associada a nenhuma chave anterior.
ID local e endpoint localt é o endereço externo do NSX Edge.
Sub-rede locals - redes locais que usarão VPN IPsec.
ID de par e endpoint de par – endereço do site remoto.
Sub-redes de mesmo nível – redes que usarão VPN IPsec no lado remoto.
Algoritmo de encriptação – algoritmo de criptografia de túnel.
Autenticação - como vamos autenticar o par. Você pode usar uma chave pré-compartilhada ou um certificado.
Chave Pré-Compartilhada - especifique a chave que será usada para autenticação e deve corresponder em ambos os lados.
Grupo Diffie Hellman – algoritmo de troca de chaves.
Após preencher os campos obrigatórios, clique em Manter.
Concluído.
Depois de adicionar o site, vá para a guia Status de ativação e ative o serviço IPsec.
Depois que as configurações forem aplicadas, vá para a guia Estatísticas -> VPN IPsec e verifique o status do túnel. Vemos que o túnel subiu.
Verifique o status do túnel no console do Edge Gateway:
show service ipsec - verifique o status do serviço.
show service ipsec site - Informações sobre o estado do site e parâmetros negociados.
show service ipsec sa - verifique o status da Associação de Segurança (SA).
Verificando a conectividade com um site remoto:
root@racoon:~# ifconfig eth0:1 | grep inet
inet 10.255.255.1 netmask 255.255.255.0 broadcast 0.0.0.0
root@racoon:~# ping -c1 -I 10.255.255.1 192.168.0.10
PING 192.168.0.10 (192.168.0.10) from 10.255.255.1 : 56(84) bytes of data.
64 bytes from 192.168.0.10: icmp_seq=1 ttl=63 time=59.9 ms
--- 192.168.0.10 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 59.941/59.941/59.941/0.000 ms
Arquivos de configuração e comandos adicionais para diagnóstico de um servidor Linux remoto:
Tudo está pronto, a VPN IPsec site-to-site está funcionando.
Neste exemplo, usamos PSK para autenticação de mesmo nível, mas a autenticação de certificado também é possível. Para fazer isso, vá para a guia Configuração Global, habilite a autenticação do certificado e selecione o próprio certificado.
Além disso, nas configurações do site, você precisará alterar o método de autenticação.
Observo que o número de túneis IPsec depende do tamanho do Edge Gateway implantado (leia sobre isso em nosso primeiro artigo).
SSL VPN
SSL VPN-Plus é uma das opções de VPN de acesso remoto. Ele permite que usuários remotos individuais se conectem com segurança a redes privadas por trás do NSX Edge Gateway. Um túnel criptografado no caso de SSL VPN-plus é estabelecido entre o cliente (Windows, Linux, Mac) e o NSX Edge.
Vamos começar a configurar. No painel de controle do serviço Edge Gateway, vá para a guia SSL VPN-Plus e, em seguida, para Configurações do servidor. Selecionamos o endereço e a porta na qual o servidor escutará as conexões de entrada, ativamos o registro e selecionamos os algoritmos de criptografia necessários.
Aqui você também pode alterar o certificado que o servidor usará.
Depois que tudo estiver pronto, ligue o servidor e não esqueça de salvar as configurações.
Em seguida, precisamos configurar um pool de endereços que enviaremos aos clientes na conexão. Essa rede é separada de qualquer sub-rede existente em seu ambiente NSX e não precisa ser configurada em outros dispositivos nas redes físicas, exceto pelas rotas que apontam para ela.
Vá para a guia IP Pools e clique em +.
Selecione endereços, máscara de sub-rede e gateway. Aqui você também pode alterar as configurações dos servidores DNS e WINS.
O pool resultante.
Agora vamos adicionar as redes às quais os usuários conectados à VPN terão acesso. Vá para a guia Redes privadas e clique em +.
Nós preenchemos:
Rede - uma rede local à qual os usuários remotos terão acesso.
Enviar tráfego, tem duas opções:
- over tunnel - envia tráfego para a rede através do túnel,
— desvio do túnel — envie o tráfego para a rede desviando diretamente do túnel.
Ativar otimização de TCP - verifique se você escolheu a opção sobre túnel. Quando a otimização está habilitada, você pode especificar os números de porta para os quais deseja otimizar o tráfego. O tráfego para as portas restantes nessa rede específica não será otimizado. Se nenhum número de porta for especificado, o tráfego para todas as portas será otimizado. Leia mais sobre este recurso aqui.
Em seguida, vá para a guia Autenticação e clique em +. Para autenticação, usaremos um servidor local no próprio NSX Edge.
Aqui podemos selecionar políticas para gerar novas senhas e configurar opções para bloquear contas de usuário (por exemplo, o número de tentativas se a senha for digitada incorretamente).
Como estamos usando autenticação local, precisamos criar usuários.
Além de coisas básicas como nome e senha, aqui você pode, por exemplo, proibir o usuário de alterar a senha ou, ao contrário, forçá-lo a alterar a senha na próxima vez que fizer login.
Depois de adicionados todos os usuários necessários, vá até a aba Pacotes de Instalação, clique em + e crie o próprio instalador, que será baixado por um funcionário remoto para instalação.
Pressione +. Selecione o endereço e a porta do servidor ao qual o cliente se conectará e as plataformas para as quais deseja gerar o pacote de instalação.
Abaixo nesta janela, você pode especificar as configurações do cliente para Windows. Escolher:
iniciar o cliente no logon – o cliente VPN será adicionado à inicialização na máquina remota;
criar ícone na área de trabalho - criará um ícone de cliente VPN na área de trabalho;
validação do certificado de segurança do servidor - validará o certificado do servidor na conexão.
A configuração do servidor está concluída.
Agora vamos baixar o pacote de instalação que criamos na última etapa para um PC remoto. Ao configurar o servidor, especificamos seu endereço externo (185.148.83.16) e porta (445). É neste endereço que precisamos entrar em um navegador da web. No meu caso é 185.148.83.16: 445.
Na janela de autorização, você deve inserir as credenciais do usuário que criamos anteriormente.
Após a autorização, vemos uma lista de pacotes de instalação criados disponíveis para download. Criamos apenas um - vamos baixá-lo.
Clicamos no link, começa o download do cliente.
Descompacte o arquivo baixado e execute o instalador.
Após a instalação, inicie o cliente, na janela de autorização, clique em Login.
Na janela de verificação do certificado, selecione Sim.
Inserimos as credenciais do usuário criado anteriormente e vemos que a conexão foi concluída com sucesso.
Verificamos as estatísticas do cliente VPN no computador local.
Na linha de comando do Windows (ipconfig / all), vemos que um adaptador virtual adicional apareceu e há conectividade com a rede remota, tudo funciona:
E, finalmente, verifique no console do Edge Gateway.
VPN L2
L2VPN será necessário quando você precisar combinar vários geograficamente
redes distribuídas em um domínio de broadcast.
Isso pode ser útil, por exemplo, ao migrar uma máquina virtual: quando uma VM se move para outra área geográfica, a máquina manterá suas configurações de endereçamento IP e não perderá a conectividade com outras máquinas localizadas no mesmo domínio L2 com ela.
Em nosso ambiente de teste, vamos conectar dois sites entre si, vamos chamá-los de A e B. Temos dois NSXs e duas redes roteadas criadas de forma idêntica conectadas a diferentes Edges. A máquina A tem o endereço 10.10.10.250/24, a máquina B tem o endereço 10.10.10.2/24.
No vCloud Director, vá para a guia Administration, vá para o VDC de que precisamos, vá para a guia Org VDC Networks e adicione duas novas redes.
Selecione o tipo de rede roteada e vincule essa rede ao nosso NSX. Colocamos a caixa de seleção Criar como subinterface.
Como resultado, devemos obter duas redes. Em nosso exemplo, eles são chamados de rede-a e rede-b com as mesmas configurações de gateway e a mesma máscara.
Agora vamos para as configurações do primeiro NSX. Este será o NSX ao qual a Rede A está conectada. Ele atuará como um servidor.
Voltamos à interface do NSx Edge / Vá para a guia VPN -> L2VPN. Ligamos o L2VPN, selecionamos o modo de operação do servidor, nas configurações globais do servidor especificamos o endereço IP NSX externo no qual a porta do túnel irá escutar. Por padrão, o soquete será aberto na porta 443, mas isso pode ser alterado. Não se esqueça de selecionar as configurações de criptografia para o futuro túnel.
Vá para a guia Sites do servidor e adicione um ponto.
Ligamos o par, definimos o nome, a descrição, se necessário, definimos o nome de usuário e a senha. Vamos precisar desses dados mais tarde ao configurar o site do cliente.
Em Egress Optimization Gateway Address, definimos o endereço do gateway. Isso é necessário para que não haja conflito de endereços IP, pois o gateway de nossas redes possui o mesmo endereço. Em seguida, clique no botão SELECIONAR SUB-INTERFACES.
Aqui selecionamos a subinterface desejada. Nós salvamos as configurações.
Vemos que o site do cliente recém-criado apareceu nas configurações.
Agora vamos configurar o NSX do lado do cliente.
Vamos para o lado B do NSX, vá para VPN -> L2VPN, ative o L2VPN, defina o modo L2VPN para o modo cliente. Na guia Client Global, defina o endereço e a porta do NSX A, que especificamos anteriormente como IP de escuta e porta no lado do servidor. Também é necessário definir as mesmas configurações de criptografia para que sejam consistentes quando o túnel for levantado.
Rolamos abaixo, selecionamos a subinterface através da qual o túnel para L2VPN será construído.
Em Egress Optimization Gateway Address, definimos o endereço do gateway. Definir ID de usuário e senha. Selecionamos a subinterface e não esquecemos de salvar as configurações.
Na verdade, isso é tudo. As configurações do lado do cliente e do servidor são quase idênticas, com exceção de algumas nuances.
Agora podemos ver que nosso túnel funcionou acessando Estatísticas -> L2VPN em qualquer NSX.
Se agora formos ao console de qualquer Edge Gateway, veremos em cada um deles na tabela arp os endereços de ambas as VMs.
Isso é tudo sobre VPN no NSX Edge. Pergunte se algo não está claro. É também a última parte de uma série de artigos sobre como trabalhar com o NSX Edge. Esperamos que tenham sido úteis 🙂