Criando Virtual Network Gateway (VPN com BGP) Azure via CLI (Bash)

Neste artigo iremos criar um Gateway de VPN com BGP no Azure via CLI (Bash), utilizando Resource Group e Virtual Network existente criada neste artigo.

Esta infraestrutura de rede esta sendo preparada (criada) para abrigar outros projetos com outras Vnets.

###Nome final iremos ter que fazer uma intervenção manual via portal do Azure, pois ainda não descobri com inserir um IP APIPA (via CLI, PowerShell ou Terraform).

###Neste artigo estou partindo do principio que todos os objetos estão na mesma subscription e no mesmo resource group, se sua vnet estiver em outra subscription ou outro resource group será necessário alguns ajustes no script cli (bash), mostrarei em outra oportunidade.

Segue script

#!/bin/bash
#Declarando variaveis
##Selecionar subscription

export Subscription_01=’Santana-Corp’


##Environmont
export Environment_01=’Shared-Prodution’

##região
export Location=brazilsouth

##Resouce Group
export RG_Name01=”${Environment_01}”-Network

##Nome do Objeto
export NameObject_01=”${Vnet_01}”

##Projeto
export Projecto_01=’Rede HUB Pro’export ID_Object=’789654753′

##Centro de Custo
export Costcenter_Team=’Team Network’
export Costcenter_Number=’46852′

##Suporte Acionanento
export Support_Team=’[email protected]’export Support_Number=’+55 11 3000-XXXX’


##Tags
export Tag01_Key=”${Environment_01}”
export Tag02_Key=”${Projecto_01}”
export Tag03_Key=”${ID_Object}”
export Tag04_Key=”${Costcenter_Team}”
export Tag05_Key=”${Costcenter_Number}”
export Tag06_Key=”${Support_Team}”
export Tag07_Key=”${Support_Number}”
export Name_Value_01=’Environment’
export Name_Value_02=’Projeto’
export Name_Value_03=’ID Projeto’
export Name_Value_04=’Centro de Custo Team’
export Name_Value_05=’Centro de Custo Number’
export Name_Value_06=’Time de Suporte’
export Name_Value_07=’Telefone do Suporte’

##Projeto
export Projecto_01=’Rede HUB Pro’export ID_Object=’789654753′

##Centro de Custo
export Costcenter_Team=’Team Network’
export Costcenter_Number=’46852′

##Suporte Acionanento
export Support_Team=’[email protected]’export Support_Number=’+55 11 3000-XXXX’

##Gateway VPN BGP IP
export Gateway_Value_01=’GWVPNPROBGP’
export Public_IP_01=”${Gateway_Value_01}”-IP01
export Public_IP_02=”${Gateway_Value_01}”-IP02
export Generation_01=’Generation1′

##Vnet utilizada no ambiente anterior
export Vnet_01=vnet-“${Environment_01}”

##Criando IP Publico “tem que ser dinamico”
az network public-ip create -n “${Public_IP_01}” -g “${RG_Name01}” -l “${Location}” –allocation-method Dynamic –tags “${Name_Value_01}”=”${Tag01_Key}” “${Name_Value_02}”=”${Tag02_Key}” “${Name_Value_03}”=”${Tag03_Key}” “${Name_Value_04}”=”${Tag04_Key}” “${Name_Value_05}”=”${Tag05_Key}” “${Name_Value_06}”=”${Tag06_Key}” “${Name_Value_07}”=”${Tag07_Key}”

az network public-ip create -n “${Public_IP_02}” -g “${RG_Name01}” -l “${Location}” –allocation-method Dynamic –tags “${Name_Value_01}”=”${Tag01_Key}” “${Name_Value_02}”=”${Tag02_Key}” “${Name_Value_03}”=”${Tag03_Key}” “${Name_Value_04}”=”${Tag04_Key}” “${Name_Value_05}”=”${Tag05_Key}” “${Name_Value_06}”=”${Tag06_Key}” “${Name_Value_07}”=”${Tag07_Key}”

##Criando Gateway VPN BGP
az network vnet-gateway create -n “${Gateway_Value_01}” -l “${Location}” –public-ip-address “${Public_IP_01}” “${Public_IP_02}” -g “${RG_Name01}” –vnet “${Vnet_01}” –gateway-type ‘Vpn’ –sku ‘VpnGw1’ –vpn-type ‘RouteBased’ –vpn-gateway-generation “${Generation_01}” –client-protocol ‘IkeV2’ –asn ‘65512’ –tags “${Name_Value_01}”=”${Tag01_Key}” “${Name_Value_02}”=”${Tag02_Key}” “${Name_Value_03}”=”${Tag03_Key}” “${Name_Value_04}”=”${Tag04_Key}” “${Name_Value_05}”=”${Tag05_Key}” “${Name_Value_06}”=”${Tag06_Key}” “${Name_Value_07}”=”${Tag07_Key}”

Resultado, teremos nosso gateway de vpn bgp com nos IPs publicos

Lembra que falei que teremos que fazer um intervenção manual, então vamos em “configuration”
*Na verdade este procedimento só é necessário se seu equipamento que vai estabelecer o BGP exigir o Peer BGP com APIPA, mas eu prefiro utilizar neste formato.

Em Custom Azure APIPA IP adress, veja que temos 2 campos para preenchimento, o azure aceita utlizar os seguintes IP:

169.254.21.xxx e 169.24.22.xxx

Esse seram os Peer BGP onde seu equipamento irá estabelecer a conexão, neste exemplo utilizaremos os IPs abaixo na ponta Azure
1º 169.254.21.10
2º 169.254.22.10

Após ha alteração clique em salvar.

No próximo artigo iremos criar um “Local Network Gateway” com BGP enable e Fortigate.

link de referencia
https://docs.microsoft.com/en-us/cli/azure/network/vnet-gateway?view=azure-cli-latest#az_network_vnet_gateway_create