I’m tasked with setting up a VPN tunnel from our Azure environment to a vendor’s datacenter. The vendor is using Cisco ASA 9.x on their end, and has a specific set of IKE/IPsec parameters from which they will not deviate. So far we have not gotten the tunnel to establish. It doesn’t help that I’m a server guy, not a networking guy, but I’m the Azure guy in our org, so this is on my plate. So, I’m hoping someone with experience with translating from “Cisco” to “Azure” can help me at least ask the right questions.
The two items I am stuck on are:
- setting a matching crypto map ACL in Azure - I’m not sure how this translates into Azure terminology and functionality. At present, the vendor is saying that on the Azure end, access is Any-Any rather than matching their ACL.
- IKE main mode SA lifetime - I’m finding documentation that Azure VPN gateways have IKE main mode SA lifetime fixed at 28800 seconds. see - https://docs.microsoft.com/en-us/azure/vpn-gateway/vpn-gateway-about-compliance-crypto
I’ve found some documentation to the effect that this parameter does not need to match in IKEv2 tunnels, including the documentation cited above, but the vendor does not concur.
Their parameters:
IKEv2 - PHASE 1
ISAKMP SA IKE Version IKEv2
ISAKMP SA Authentication Method PSK
ISAKMP SA Hash Algorithm SHA-256
ISAKMP SA Encryption Algorithm AES-256
ISAKMP SA Diffie-Hellman Group DH 14
ISAKMP SA Life Duration 86400 seconds
ISAKMP SA IKE Phase 1 Mode Main Mode
IPSec - PHASE 2
IPSEC SA – Protocol ESP
IPSEC SA – Hash Algorithm SHA-256
IPSEC SA – Encryption Algorithm AES-256
IPSEC SA – Lifetime Duration 28800 seconds
They also have provided the WAN ip for their endpoint, pre-shared key, and the following access list:
access-list vpn-{xxxxxxxxx-yyyy} extended permit ip {
xxx.xxx
}.141.0
255.255.255.0
host {Azure VPN gateway IP}
access-list vpn-{xxxxxxxxx-yyyy} extended permit ip {
xxx.xxx
}.104.0
255.255.255.0
host {Azure VPN gateway IP}
access-list vpn-{xxxxxxxxx-yyyy} extended permit ip {
xxx.xxx
}.108.0
255.255.255.0
host {Azure VPN gateway IP}
(I’ve partially obscured the information and IP addresses - anything in curly brackets is obfuscated info, not actual data)
On the Azure end, I’ve created a Local Network Gateway with the vendor’s peer IP as the IP address, and the following address spaces:
{``xxx.xxx``}.141.0/24
{``xxx.xxx``}.104.0/24
{``xxx.xxx``}.108.0/24
I created a connection on our existing VPN gateway to the above Local Network Gateway, and set the IPsec policy via powershell, using the following:
$newpolicy6 = New-AzureRmIpsecPolicy -IkeEncryption AES256 -IkeIntegrity SHA256 -DhGroup DHGroup14 -IpsecEncryption AES256 -IpsecIntegrity SHA256 -PfsGroup None -SALifeTimeSeconds 28800 -SADataSizeKilobytes 102400000
Set-AzureRmVirtualNetworkGatewayConnection -VirtualNetworkGatewayConnection $connection6 -IpsecPolicies $newpolicy6 -UsePolicyBasedTrafficSelectors $True
So, uh, help? And thanks in advance!