INTRODUÇÃO
Neste artigo
iremos abordar o processo de criação de uma VPN IPSec utilizando o libreswan para
integrar um ambiente Oracle Cloud Classic e Oracle Cloud OCI, ambos localizados
no datacenter de São Paulo.
Atualmente no
datacenter Oracle de São Paulo não é possível ativar uma VPNaaS (VPN as a
Service) diretamente entre os ambientes Oracle Cloud Classic e Oracle Cloud OCI.
Por isso temos a necessidade de utilizar uma ferramenta para implementação e
configuração de conexões VPN IPSec. Em nosso artigo utilizaremos o libreswan.
O libreswan é um
software open source para implementação de VPN baseado em (IPsec) e Internet
Key Exchange (IKE). A maioria das distribuições Linux incluem o libreswan ou
são compatíveis com a instalação do mesmo.
Vale destacar
que o libreswan também é recomendado para a conexões entre a Oracle Cloud e outras nuvens ou mesmo com ambientes
on premisses.
Diagrama da
conexão entre a Oracle Cloud Classic e Oracle Cloud OCI:
CONFIGURAÇÕES
A primeira
configuração a ser feita é a criação de uma compute instance Linux no ambiente
OCI para a instalação e configuração do libreswan. Para realizarmos esta
configuração podemos utilizar o novo shape VM.Standard.E2.1.Micro que é um
shape gratuito disponibilizado recentemente.
Desta forma, a máquina
utilizada não irá gerar custos adicionais. A compute instance criada precisa
ter um IP Público associado, para que seja possível fechar a conexão VPN.
Tendo em vista
que o objetivo deste artigo se restringe a implementação e configuração da VPN,
o processo de criação da compute instance não será detalhado.
Após a criação da máquina
libreswan, é necessário editar a VNIC anexada a mesma, marcando a opção skipe
Source/Destination Check.
Concluída a edição da VNIC, será
necessário criar as rotas para que a VPN possa se comunicar entre a rede do
Classic e do OCI.
Para isso, serão criadas duas rotas.
A rota Internet Gateway 0.0.0.0/0 para que o libreswan possa se comunicar com a
VPN e a rota CIDR para o endereço da rede Classic 192.168.1.0/24.
Rede Classic:
Adição das rotas na default route
table da VCN na qual a máquina libreswan foi criada.
Concluída a
criação das rotas, a próxima etapa é a criação das regras de segurança
permitindo o tráfego de entrada UDP na porta 500 para o Internet Key Exchange
(IKE), UDP na porta 4500 para o IKE Nat Transverssal, IPsec para o Encapsulated
Security Payload (ESP), TCP em todas as portas para o CIDR 192.168.1.0/24 (Rede
Classic) e saída para internet 0.0.0.0/0.
Regras de
entrada:
Regras de saída:
O próximo passo
a ser executado é a criação da VPNaaS no ambiente Classic. Pra isso, vamos em
network, VPNaaS, VPN Connections, clicar em Create VPN Connection.
Devem ser preenchidos os seguintes
itens e posteriormente clicar em create VPN Connection.
Name:VPNaaSOCI
IP Network:CIDR para a rede IP do
Classic
Customer Gateway: IP público da
instância OCI do libreswan
Customer Reachable Routes: OCI
VCN CIDR
Pre-shared key: pwdvpnociclassic
|
Name:VPNaaSOCI
IP Network:192.168.1.0/24
Customer Gateway: 152.67.35.47
Customer Reachable Routes:
172.0.0.0/24
Pre-shared key: pwdvpnociclassic
Após criar a
VPNaaS no Classic, a mesma não ficará com status Up/Ready pois ainda é preciso
instalar e configurar o libreswan. Porém precisamos do IP Público da VPNaaS
Classic, para podermos configurar no libreswan.
Agora vamos acessar a máquina
libreswan via ssh e realizar a instalação do aplicativo libreswan. Para isso basta utilizar o comando yum -y install libreswan.
Neste artigo a
versão instalada foi a 4.14.35-1902.5.2.2, porém o procedimento para versões
anteriores é o mesmo.
Feita a
instalação do libreswan, iremos realizar a configuração do mesmo. Inicialmente,
precisaremos adicionar as linhas abaixo no arquivo /etc/sysctl.conf.
net.ipv4.ip_forward
= 1
net.ipv4.conf.all.accept_redirects
= 0
net.ipv4.conf.all.send_redirects
= 0
net.ipv4.conf.default.send_redirects
= 0
net.ipv4.conf.ens3.send_redirects
= 0
net.ipv4.conf.default.accept_redirects
= 0
net.ipv4.conf.ens3.accept_redirects
= 0
net.ipv4.conf.all.rp_filter
= 0
net.ipv4.conf.default.rp_filter
= 0
net.ipv4.conf.ens3.rp_filter
= 0
net.ipv4.conf.ip_vti0.rp_filter
= 0
net.ipv4.conf.all.rp_filter
= 0
|
Após o ajuste, devemos executar o
comando o comando sysctl -p para que as alterações realizadas sejam aplicadas.
Também iremos realizar a liberação das regras no firewall para que o libreswan possa trafegar.
Agora devemos ajustar as configurações do /etc/ipsec.conf, adicionando os dados conforme abaixo. Vale ressaltar que a identação deve ser mantida para que não apresente erro na inicialização.
firewall-cmd
--zone=trusted --add-port=500/udp --permanent
firewall-cmd
--zone=trusted --add-port=4500/udp --permanent
firewall-cmd
--zone=trusted --add-protocol=50 --permanent
firewall-cmd
--zone=trusted --add-protocol=51 --permanent
|
Agora devemos ajustar as configurações do /etc/ipsec.conf, adicionando os dados conforme abaixo. Vale ressaltar que a identação deve ser mantida para que não apresente erro na inicialização.
config setup
plutoopts="--perpeerlog"
protostack=auto
nat_traversal=yes
include /etc/ipsec.d/*.conf
|
O próximo passo
é realizar as configurações da VPN com o Classic, para isso, criaremos o
arquivo /etc/ipsec.d/VPNaaS.conf
vi /etc/ipsec.d/VPNaaS.conf
conn
vpnaas1
authby=secret
auto=start
pfs=yes
leftid=144.22.68.211 #OCI-C
VPNaaS IPSec IP Pubico
left=144.22.68.211 #OCI-C
VPNaaS IPSec IP Publico
leftsubnets={192.168.1.0/24} #OCI-C IP-Network CIDR
right=172.0.0.2 #OCI
Libreswan local VPC endereço interno
rightid=152.67.35.47 #OCI
Libreswan IP Publico
rightsubnet=172.0.0.0/16 #OCI
VPC CIDR
|
Por último, é
preciso criar e configurar o arquivo /etc/ipsec.d/VPNaaS.secrets, que conterá a
Pre-shared Key utilizada pela VPN.
#OCI-C_VPNaaS-IP-Publico OCI_LibreSWAN-IP-Publico :
PSK "Secret Key(VPNaaS
Pre-shared key)"
144.22.68.211
152.67.35.47 : PSK
"pwdvpnociclassic"
|
Concluídas as
configurações, podemos realizar um restart do ipsec na máquina libreswan e
posteriormente um verify para validar as configurações.
Para configurar
a inicialização automática do libreswan, basta executar comando systemctl
enable ipsec.
É possível
verificar o status da conexão através do comando ipsec auto --status.
Podemos
atualizar a pagina da VPNaaS Classic e validar que agora a conexão está
UP/Ready. Também é possível validar que os endereços estão pingando normalmente
de uma rede para outra.
Ping
da rede 192.168.1.0/24 para 172.0.0.0/16.
Ping
da rede 172.0.0.0/16 para 192.168.1.0/24
Desta forma, concluímos a
configuração e implementação da VPN entre os ambientes Oracle Cloud Classic e
Oracle Cloud OCI.
Fonte:
https://docs.cloud.oracle.com/iaas/Content/Network/Concepts/libreswan.htm
Comentários
Postar um comentário