VPN IPSEC Google Cloud and Fortigate Route BGP

Neste artigo iremos demonstrar como configurar uma VPN IPSec HA entre GCP (Google Cloud) e Fortigate com roteamente Dinamico (BGP)

Este é nosso cenário:

Google Cloud:
VPC “10.110.0.0/2
Subnet-A 10.110.0.0/24
Subnet-B 10.110.1.0/24
Subnet-C 10.110.2.0/24
Cloud Gateway de VPN
Cloud Router
Cloud Firewall

Vamos a mão na massa, vamos acessar nosso console do Google Cloud e vamos em redes VPC.
Clique em “Criar VPC”

Nome “network-corp-sao”
Sub-redes “Personalizado”
Editar Sub-rede
Nome: subnet-sao-br-a
Região “southamerica-east1
Intervalo de endereços IP “10.110.0.0/24”
Clique em concluir, repita esses passos até a até a sub-rede 10.110.2.0/24

Em regras de firewall deixe como esta “(Default)
Mode de roteamento dinamico “Global”

Clique em “criar”, VPC criada com sucesso.

Agora vamos criar nossa conexão de VPN no Google Cloud, vamos em “VPN”

Criar uma Conexão VPN

Nesta etapa, temos que escolhar nosso topologia de conexão, neste exemplo iremos escolher “Alta Disponibilidade HA”

Selecione “Continuar”

Nas opções de “gateway”

Nome do gateway de VPN “gw-gcp-sao-br
Rede “network-gcp-sao-br”
Região “southamerica1 (São Paulo)\

Clique em “Criar e Continuar”

Agora vamos adicionar os tunneis de VPN

Gateway de VPN de Peering “No Local ou não relacionado ao Google Cloud”
Criar novo gateway de VPN de mesmo nível”

Neste exemplo iremos utilizar 2 interfaces (1 de cada operadora, o Google aceita até 4 interfaces)
Nome “connect-onpremises-fgt
Interface “2”
Endereço IP da interface “xxx.xxx.xxx.xxx” Operadora A
Endereço IP da interface “xxx.xxx.xxx.xxx” Operadora B

Clique em “Criar”

Agora em “Alta disponibilidade”
“Crie um par de túneis VPN”
Cloud Route “Criar novo roteador”

Nome “rt-gcp-sao-br”
ASN do Google “65534” Neste exemplo usaremos este ASN para o Google
Rotas Anunciadas “Anunciar todas as sub-redes visiveis ao roteador da nume (padrão” Neste exemplo usaremos esta opção, mas nada nos impede de usar persolizada e declara apenas algumas redes)

Agora vamos criar os Tuneis

Vamos ao Tunel 1
Nome “tunnel-fgst-br-sao-01”
Versão do IKE “IKEv2”
Chaves “Gerar e Copia” (Guarde a chave)

Clique em concluir e vamos ao segundo Tunnel

As opções são as mesmas, pode inclusive utilizar a mesma chave

Clique em “Criar e continuar”

Agora nesta etapa iremos configurar o BGP (Do lado do Google Cloud)

Clique no primeiro Tunel em “Configurar sessão BGP
Na primeira sessão BGP iremos utilizar as seguintes opções

Nome “ngp-fgt-br-sao-01
Par ASN “65000” Neste exemplo este seria o ASN OnPremises
Muito atenção nesta etapa o Google utilizar rede /30 para PAR BGP
IP do BGP do Cloud Route “169.254.0.1”
IP do Par BGP “169.254.0.2

Par do BGO “Ativado”

Clique em Salvar em continuar

Vamos configurar a sessão do BGP no segundo Tunnel

Nome “bgp-gft-sao-02”
Par ASN “65000”
IP do BGP do Cloud Route “169.254.0.5”
IP do Par BGP “169.254.0.6”
Par BGP (Ativada)

Clique em “Salvar e Continuar”

Agora clique em “Salvar a configuração do BGP”

Guarde essas informações, iremos utilizar mais tarde

Clique em “ok”

Olhando o Status da conexão temos

Agora vamos configurar nosso fortigate

Iremos criar via CLI

Abaixo os comandos

#Criar interfaces VPN

#Phase1

config vpn ipsec phase1-interface
    edit GCP-HA-VPN-INT0
        set interface port1 (Interface WAN1)
        set ike-version 2
        set keylife 36000
        set peertype any
        set proposal aes128-sha1 aes128-sha512 aes128-md5
        set remote-gw 34.124.19.151
        set psksecret 123456789
    next
    edit GCP-HA-VPN-INT1
        set interface port2 (Interface WAN2)
        set ike-version 2
        set keylife 36000
        set peertype any
        set proposal aes128-sha1 aes128-sha512 aes128-md5
        set remote-gw 35.220.40.107
        set psksecret 123456789
    next
end

#Criar Phase2

config vpn ipsec phase2-interface
    edit GCP-HA-VPN-INT0
        set phase1name GCP-HA-VPN-INT0
        set proposal aes128-sha1 aes256-sha1 aes128-sha256 aes256-sha256 aes128gcm aes256gcm
        set dhgrp 15 14 5
        set keylifeseconds 10800
    next
    edit GCP-HA-VPN-INT1
        set phase1name GCP-HA-VPN-INT1
        set proposal aes128-sha1 aes256-sha1 aes128-sha256 aes256-sha256 aes128gcm aes256gcm
        set dhgrp 15 14 5
        set keylifeseconds 10800
    next
end

#Configurar interfaces para sessão BGP

config system interface
    edit GCP-HA-VPN-INT0
        set ip 169.254.0.2 255.255.255.255
        set remote-ip 169.254.0.1 255.255.255.252
    next
    edit GCP-HA-VPN-INT1
        set ip 169.254.0.6 255.255.255.255
        set remote-ip 169.254.0.5 255.255.255.252
    next
end

#Criar ZoneCloud

config system zone
    edit ZoneCloud
    set interface GCP-HA-VPN-INT0 GCP-HA-VPN-INT0
    set intrazone deny
end

#Criar regras de firewall

config firewall policy
    edit 1
        set name allow-gcp-to-lan
        set srcintf ZoneCloud
        set dstintf port3 #(Interface 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 port3 #(Interface Trust)
        set dstintf ZoneCloud
        set srcaddr all
        set dstaddr all
        set action accept
        set schedule always
        set service ALL
end

#Configurando BGP

config router bgp
    set as 65000
    set router-id 169.254.0.2
    config neighbor
        edit 169.254.0.1
            set soft-reconfiguration enable
            set remote-as 65534
        next
    end
    config neighbor
        edit 169.254.0.5
            set soft-reconfiguration enable
            set remote-as 65534
        next
end

#Configurando anuncios de redes BGP Fortigate

config router bgp
     config network
     edit 1
     set prefix 10.5.0.0/22

next
end

Temos agora nossos tunneis configurados e conectados

Google Cloud

Fortigate

Roteamento Fortigate

Route BGP Cloud

Com isso concluimos nosso artigo de VPN IPSec com Fortigate e Google Cloud.

Links de referencias

https://docs.fortinet.com/document/fortigate-public-cloud/7.0.0/gcp-administration-guide/479390/configuring-bgp-neighbors

https://cloud.google.com/community/tutorials/using-ha-vpn-with-fortigate

Espero ter ajudado.

Seja Feliz!!!!

5 comentários

  1. Charles, tudo bem?
    Estou passando por este processo de configuração de VPN da GCP com Fortinet, contudo, não tenho experiência ao ponto de mexer bem no Fortigate. No meu caso estou pendente apenas a configuração da sincronização do BGP. Consegue me dar um norte para resolver esse problema?

    Curtido por 1 pessoa

      1. Essa configuração de neighbor, por exemplo, eu no meu caso, possuo o um só router na GCP e a minha VPN já tá fechada do meu site para a GCP. Mas ainda estou com os Peers sem sincronizar ficando com a mensagem “Wait for peer”. Se você puder me dar uma luz, ficarei muito grato.

        Curtir

      2. Dentro do GCP (esta no passo a passo deste artigo), onde vc cria os peers do lado do GCP, geralmente 169.254.0.0/30 (1 IP em cada ponta), isso chegou a criar?

        Chegou a ver esses artigos?
        https://docs.fortinet.com/document/fortigate-public-cloud/7.0.0/gcp-administration-guide/479390/configuring-bgp-neighbors
        https://cloud.google.com/community/tutorials/using-ha-vpn-with-fortigate

        Se pude me manda uns prints da sua configuração do GCP e Fortigate “[email protected]

        Curtir

      3. Estou lhe enviando as configurações do firewall e da GCP para seu e-mail. Segui toda a documentação tanto da Google, Fortigate e a sua. Mesmo assim, continuo sem sincronizar o BGP.

        Curtir

Deixe um comentário

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