Azure Site-to-Site VPN to pfSense on-prem

Przygotowując się do migracji do chmury należy zestawić połączenie do Azure. Najprostszym sposobem jest VPN Site-to-Site z tzw. pre-shared key.

Tworząc publiczny adres IP do wyboru mamy tylko rodzaj “Dynamic”. Moim zdaniem jest to określenie niefortunne ponieważ po nazwie oczekujemy, iż adres zostanie przydzielony za każonym razem inny po np. restarcie usługi. Tak jednak się nie dzieje. Adres pozostaje niezmienny dopóki nie usuniemy tunelu z naszej infrastruktury.

Poniżej kod wykorzystujący azure cli do utworzenia VPN Site-to-Site z routerem pfSense znajdującym się w lokalizacji on-prem.

Plan:

  1. Utworzenie resource grupy o nazwie VPN
  2. Utworzenie virtualnej sieci o adresacji 192.168.1.0/24 oraz podsieci z maską /28 co daje nam 16 adresów przy czy 5 adresów zabiera nam Azure
  3. Utworzenie lokalnej bramy. W miejsce X.X.X.X należy wpisać adres publiczny routera on-prem oraz podsieć lokalną od strony on-prem
  4. Tworzymy publiczny adres IP
  5. Tworzymy wirtualną bramę z wykorzystaniem wcześniej utworzonego adresu publicznego, podsieci.
  6. Utworzenie połączenia VPN z hasłem (pre-sahred key)
az group create --name VPN --location westus2

az network vnet create --name VPN-vnet --resource-group VPN --address-prefix 192.168.1.0/24 --subnet-name Subnet1 --subnet-prefix 192.168.1.0/28 

az network vnet subnet create --address-prefix 192.168.1.16/28 --name GatewaySubnet --resource-group VPN --vnet-name VPN-vnet 

az network local-gateway create --gateway-ip-address X.X.X.X --name VPN-Site-01 --resource-group VPN --local-address-prefixes 172.16.0.0/24 

az network public-ip create --name VPN-PubIP-01 --resource-group VPN --allocation-method Dynamic 

az network vnet-gateway create --name VPN-vnet-gateway --public-ip-address VPN-PubIP-01 --resource-group VPN --vnet VPN-vnet --gateway-type Vpn --vpn-type RouteBased --sku VpnGw1 --no-wait 

az network vpn-connection create --name VPN-conn-01 --resource-group VPN --vnet-gateway1 VPN-vnet-gateway -l westus2 --shared-key Secret9090909090 --local-gateway2 VPN-Site-01

Od strony routera on-prem (pfSense) należy wykonać kilka prostych czynności polegających na konfiguracji firewalla oraz samego VPN’a. Poniżej kilka screenshotów.

pfSense – Firewall config
pfSense – Firewall config

Konfiguracja IPsec

pfSense – IPsec
pfSense – IPsec

A teraz Phase2 konfiguracji IPsec’a

pfSense – IPsec
pfSense – IPsec

A tak wygląda zestawiony VPN

pfSense – IPsec
Azure – IPsec
Przewiń do góry