Azure,  Linux,  VPN

Como criar uma VPN Site-to-Site com Linux para que duas Vnets em Tenants diferentes se comuniquem.

A ideia desse artigo nasceu por causa de uma necessidade que eu tive para criar um laboratório de Intune, mas como assim por causa de um LAB sobre Intune? Eu tenho um cenário onde meus licenciamento de Microsoft 365 estão em um tenant diferente onde estão o meu ADDS e o meu SCCM, logo eu precisei de alguma solução que não fosse uma migração de subscription.

Logo eu pensei:

“Porque eu não crio uma VPN para que as VMs que estão em tenants diferentes se comuniquem”

Com esse pensamento eu resolvi montar uma VPN no Linux chamada Strongwan, nesse artigo eu irei explanar o passo a passo de como configurar com sucesso.


Preparação

Observação: Os IPs são fictícios, eles foram escolhidos para melhor entendimento do artigo.

1 – Criar uma VM Ubuntu 22.04 no Site A

IP Public: 192.168.0.1
Private Network: 10.0.10.0/24

2 – Criar uma VM Ubuntu 22.04 no Site B

IP Public: 192.168.0.2
Private Network: 172.16.0.0/24

3 – Instale as dependências nas VMs

apt update && sudo apt upgrade -y
apt install strongswan -y

4 – Configure o Kernel das VMs

cat >> /etc/sysctl.conf << EOF
net.ipv4.ip_forward = 1
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.send_redirects = 0
EOF

sysctl -p /etc/sysctl.conf

5- Crie o Preshared Key

Observação: Cole o resultado em um notepad

openssl rand -base64 64

"gZ4j1cLhd+DWGVJPG6p4fEizbipITmBGfo/wXvKoOpj7XHkLYri3ph73uEZ5/vbTYIvMfxhG+lyaTXOVMfTeNg=="

6 – Modifique o arquivo /etc/ipsec.secrets no Site A

Origem – Destino
192.168.0.1 192.168.0.2 : PSK "gZ4j1cLhd+DWGVJPG6p4fEizbipITmBGfo/wXvKoOpj7XHkLYri3ph73uEZ5/vbTYIvMfxhG+lyaTXOVMfTeNg=="

7 – Modifique o arquivo /etc/ipsec.secrets no Site B

192.168.0.2 192.168.0.1 : PSK "gZ4j1cLhd+DWGVJPG6p4fEizbipITmBGfo/wXvKoOpj7XHkLYri3ph73uEZ5/vbTYIvMfxhG+lyaTXOVMfTeNg=="

8 – Modifique o arquivo /etc/ipsec.conf no Site A

config setup
charondebug="all"
uniqueids=yes
strictcrlpolicy=no

conn SiteA
authby=secret
left=%defaultroute
leftid=192.168.0.1
leftsubnet=10.0.10.0/24
right=192.168.0.2
rightsubnet=172.16.0.0/24
ike=aes256-sha2_256-modp1024!
esp=aes256-sha2_256!
keyingtries=0
ikelifetime=1h
lifetime=8h
dpddelay=30
dpdtimeout=120
dpdaction=restart
auto=start

9 – Modifique o arquivo /etc/ipsec.conf no Site B

config setup
charondebug="all"
uniqueids=yes
strictcrlpolicy=no

conn SiteB
authby=secret
left=%defaultroute
leftid=192.168.0.2
leftsubnet=172.16.0.0/24
right=192.168.0.1
rightsubnet=10.0.10.0/24
ike=aes256-sha2_256-modp1024!
esp=aes256-sha2_256!
keyingtries=0
ikelifetime=1h
lifetime=8h
dpddelay=30
dpdtimeout=120
dpdaction=restart
auto=start

10 – Habilite a VPN nas VMs

sudo systemctl enable strongswan

11 – Inicie a VPN nas VMs

sudo systemctl start strongswan

12 – Incie o Strongswans nas VMs

sudo ipsec restart

sudo ipsec status

sudo ipsec statusall

13 – Após realizar todas essas configurações você precisar criar rotas no Azure para que as VMs das subnets possam sair pelas VPNs.

Faça essa configuração no Route Tables do Azure com as informações de cada Site

14 – Habilite o IP Forwarding de cada placa de rede das VMs que você configurou as VPNs

Bom laboratório pessoal!

Um comentário

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *