VPN IPSEC AWS e FORTIGATE BGP

Neste artigo irei configurar um VPN IPSec entre AWS e Fortigate com Roteamente BGP.

Vamos ao nosso cenário:

AWS – Sao Paulo

VPC
My-VPC-01 10.128.0.0/24

Subnet
my-subnet-01 10.128.0.0/26

Route table
my-routetable-01 (Subnet-01)

Security Group
my-sg-01

My EC2
my-ec2-01 (my-subnet-01)

Temos nosso “Costumer Gateway”

Abaixo as configurações com as nossas configurações (IP/ASN do Fortigate), um ponto bem importante aqui vamos utilizar o “ASN” “65010”, ele tem que ser único na sua rede.

Para maiores informações clique aqui

Após criado, ficará desta forma

Agora vamos para os nossos Virtual Private Gateway (VPG) – “my-vpg”

Agora aqui iremos utilizar o “ASN” “64530”este ASN será o ASN da AWS, criei tres VPG (my-vpg-01/02/03) todos com os mesmos ASN

Após a criação ficará desta forma

Agora teremos que anexar nosso VPV (iremos anexar “my-vpc-01”, “Action” “Attach to VPC”

Agora temos nosso vpg com vpc attach

Agora vamos voltar para nossos arquivos de “Route Table”

Vamos selecionar “my-route-table-01”, depois em “Propagação de Rotas”, editar propagação de Rotas e Habilitar a propagação, repita esses passos para os outros dois aquivos de Route Table.

Agora vamos criar nossa conexão com nosso Fortigate

Se tudo correu bem, teremos essa tela

Agora vamos para nosso fortigate, mas antes disso precisamos pegar as configurações, clique em “fazer download da configuração”

Fornecedor “Fortinet”
Plataforma “Fortigate 40+ Series”
Software “FortiOS 6.4.4 + (GUI)
Ike Version “IKEv2”

Pronto, agora sim, vamos para nosso Fortigate

EM VPN, IPSec Wizard, Create New

Vamos utilzar este nome “TunnelAWS01” nos iremos criar dois tunneis para este exemplo.

Essas são as informações fornecidas para o Tunnel 01

New VPN Tunnel Window Appears (Here we configure the VPN settings):

Under “Network” Section:
a. IP Version:     IPv4
b. Remote Gateway: Static IP Address
c. IP address: 54.207.145.204
d. Local Interface: wan1
e. Local Gateway: Select Specify and enter WAN port IP (Public IP)
f. Dead Peer Detection: Enable by selecting On Idle/ On Demand
g. Authentication Method: Pre-shared Key
h. Pre-Shared Key: KUGQkdF1Y3_hKD1mI5azR2JwEQRE463n
i. IKE Version: 2
Phase 1 Proposal:
j.  Encryption: aes128
k. Authentication: sha1
l. DH group: 2     ! and deselect 5
m. Keylife: 28800 seconds

! NAT Traversal is enabled by default but if your FortiGate device is not behind a NAT/PAT device, please deselect NAT Traversal.

! --------------------------------------------------------------------------------
! #2: IPSec Configuration

Under Phase 2 Selectors --> New Phase 2
a.	Name:  vpn-04ec6648c35364924-0
b.	Local Address: LAN subnet behind Fortigate/0.0.0.0/0
c.	Remote Address: AWS Private Subnet/0.0.0.0/0

Under Advanced
d.	Encryption: aes128
e.	Authentication: sha1
f.	Select Enable Replay Detection
g.	Select Perfect Forward Secrecy
h.	DH Group: 2 ! and deselect 5
i.	Keylife: 3600 seconds
j.	Enable Auto-negotiate   ! Autokey Keep Alive is enabled automatically when Auto-negotiate is enabled
k.	Click Ok

Se tudo correu bem temos esta tela

Agora vamos criar mais um Tunnel, mas as informações do .txt, para o Tunnel 02

Temos as seguintes configurações para o Tunnel02

New VPN Tunnel Window Appears (Here we configure the VPN settings):

New VPN Tunnel Window Appears (Here we configure the VPN settings):

Under “Network” Section:
a. IP Version:     IPv4
b. Remote Gateway: Static IP Address
c. IP address: 54.232.159.40
d. Local Interface: wan1
e. Local Gateway: Select Specify and enter WAN port IP (Public IP)
f. Dead Peer Detection: Enable by selecting On Idle/ On Demand
g. Authentication Method: Pre-shared Key
h. Pre-Shared Key: AVxMUvS1A1GuxDVcJxm_K28O67CthcZU
i. IKE Version: 2
Phase 1 Proposal:
j.  Encryption: aes128
k. Authentication: sha1
l. DH group: 2     ! and deselect 5
m. Keylife: 28800 seconds

! NAT Traversal is enabled by default but if your FortiGate device is not behind a NAT/PAT device, please deselect NAT Traversal.

! --------------------------------------------------------------------------------
! #2: IPSec Configuration

Under Phase 2 Selectors --> New Phase 2
a.	Name:  vpn-04ec6648c35364924-1
b.	Local Address: LAN subnet behind Fortigate/0.0.0.0/0
c.	Remote Address: AWS Private Subnet/0.0.0.0/0

Under Advanced
d.	Encryption: aes128
e.	Authentication: sha1
f.	Select Enable Replay Detection
g.	Select Perfect Forward Secrecy
h.	DH Group: 2 ! and deselect 5
i.	Keylife: 3600 seconds
j.	Enable Auto-negotiate   ! Autokey Keep Alive is enabled automatically when Auto-negotiate is enabled
k.	Click Ok

Se tudo correu bem até aqui teremos esse resultado.

Agora vamos criar uma Zona chamada Trust-Cloud, em Network, Interfaces, Create new, Zone

Adicione os dois Tunneis para AWS

Se tudo correu bem teremos

Agora voltando em nosso .txt, vamos começar a configurar o BGP.

Nos temos essa configuração a fazer nas interfaces VPN que criamos


Go to Network Tab --> Interface --> wan1 and edit TunnelAWS01

a. IP : 169.254.92.86
b. Remote IP: 169.254.92.85/30
c. Select Ping
d. Administrative Status: Up
e. Select Ok.

## Vamos fazer a configuração da Interface via CLI do Fortigate
#Configurar interfaces para sessão BGP

config system interface
    edit TunnelAWS01
        set ip 169.254.92.86 255.255.255.255
        set remote-ip 169.254.92.85 255.255.255.252
    next

!You can set MTU and MSS on the tunnel by performing this from the CLI:
 
 config system interface
  edit "TunnelAWS01"
    set mtu-override enable
    set mtu 1427
    set tcp-mss 1379
   next
end

Resultado, edit a interface e habilite o ping (repita isso na segunta interface)

Configurando MTU (Repita isso na segunda interface)

Agora repita os passos para a segunda interface

Vamos utilizar as informações que constam no .txt que foi feito download

Go to Network Tab --> Interface --> wan1 and edit TunnelAWS02

a. IP : 169.254.31.218
b. Remote IP: 169.254.31.217/30
c. Select Ping
d. Administrative Status: Up
e. Select Ok.

#Configurar interfaces para sessão BGP

config system interface
    edit TunnelAWS02
        set ip 169.254.31.218 255.255.255.255
        set remote-ip 169.254.31.217 255.255.255.252
    next

!You can set MTU and MSS on the tunnel by performing this from the CLI:
 config global
 config system interface
  edit "vpn-08d53f64bc31f682f-1" ! This name will be the same as the VPN tunnel name
    set mtu-override enable
    set mtu 1427
    set tcp-mss 1379
   next
end

Edit a interface e habilite o ping

Se tudo correu bem até aqui, teremos esse resultado.

Agora vamos criar as regras de Firewall, aqui iremos fazer simples, Any –> AWS e Any –> OnPremises.

Vamos criar via CLI que é muito mais rapido

#Criar regras de firewall

config firewall policy
    edit 1
        set name allow-gcp-to-lan
        set srcintf Trust-Cloud
        set dstintf Trust
        set srcaddr all
        set dstaddr all
        set action accept
        set schedule always
        set service ALL
    next
    edit 2
        set name allow-lan-to-gcp
        set srcintf Trust
        set dstintf Trust-Cloud
        set srcaddr all
        set dstaddr all
        set action accept
        set schedule always
        set service ALL
end

Se tudo correu bem nos temos ida e volta

Agora nossos Tunneis devem estar UPs, vamos conferir

Agora vamos para nossa configuração BGP no Fortigate

Voltamos lá no nosso .txt que foi baixado com as configurações, lá nos temos todas as informações necessária para configurar o BGP.

#Vamos utlizar a informação que consta no .txt

Go to Network --> BGP

#Primeira interface

 a. Local-AS : 65010
 b. Router-ID: 191.232.210.141
 c. Click Apply
 d. Neighbor -> Create New:
      1. IP:  169.254.92.8
      2. Remote AS: 64530
      3. Click Add/Edit

#Segunda interface

Go to Network --> BGP

 d. Neighbor -> Create New:
      1. IP:  169.254.190.113
      2. Remote AS: 64530
      3. Click Add/Edit

Agora vamos declara nosso CIDR para o BGP

Se tudo correu bem até aqui, devemos ter esse

Agora que os dois Tuneis estão UPs

Agora vamos ver nosso roteamento
Vemos que nossa rota BGP aparece em nossa tabela (rede AWS)

Agora de volta a AWS, vamos verificar nossa tabela de routa e Security Group

Liberamos em nosso SG a rede 10.5.0.0/22

Agora vamos ver nossa tabela de rotas

Nossa rota foi propagada com sucesso, vamos testar a conectivdade

Em nossa rede 10.5.0.0/22 conseguimos chegar na rede 10.128.0.0/24

Agora vamos ver em nossa rede AWS 10.128.0.0/24 se conseguimos chegar na rede 10.5.0.0/22

Com isso concluimos este artigo, em um próximo artigo irei fazer a conexão utilizando “Transit Gateway” com redes em Sao Paulo e Virginia utilizando somente uma conexão VPN IPSec.

Deixe um comentário

Faça o login usando um destes métodos para comentar:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s

Este site utiliza o Akismet para reduzir spam. Saiba como seus dados em comentários são processados.