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