VNet to VNet connectivity with Fortigate
This article describes how to create a connection between two virtual networks in the same environment. When you set up the connections, you learn how VPN gateways in Azure Stack Hub work. Connect two VNETs within the same Azure Stack Hub environment using Fortinet FortiGate. This procedure deploys two VNETs with a FortiGate NVA, a network virtual appliance, in each VNET each within a separate resource group. It also details the changes required to set up an IPSec VPN between the two VNETs. Repeat the steps in this article for each VNET deployment.
Prerequisites
Access to a system with available capacity to deploy the required compute, network, and resource requirements needed for this solution.
A network virtual appliance (NVA) solution downloaded and published to the Azure Stack Hub Marketplace. An NVA controls the flow of network traffic from a perimeter network to other networks or subnets. This procedure uses the Fortinet FortiGate Next-Generation Firewall Single VM Solution.
At least two available FortiGate license files to activate the FortiGate NVA. Information on how to get these licenses, see the Fortinet Document Library article Registering and downloading your license.
This procedure uses the Single FortiGate-VM deployment. You can find steps on how to connect the FortiGate NVA to the Azure Stack Hub VNET to in your on-premises network.
For more information on how to deploy the FortiGate solution in an active-passive (HA) set up, see the details in the Fortinet Document Library article HA for FortiGate-VM on Azure.
Deployment parameters
The following table summarizes the parameters that are used in these deployments for reference:
Deployment one: Forti1
FortiGate Instance Name | Forti1 |
---|---|
BYOL License/Version | 6.0.3 |
FortiGate administrative username | fortiadmin |
Resource Group name | forti1-rg1 |
Virtual network name | forti1vnet1 |
VNET Address Space | 172.16.0.0/16* |
Public VNET subnet name | forti1-PublicFacingSubnet |
Public VNET address prefix | 172.16.0.0/24* |
Inside VNET subnet name | forti1-InsideSubnet |
Inside VNET subnet prefix | 172.16.1.0/24* |
VM Size of FortiGate NVA | Standard F2s_v2 |
Public IP address name | forti1-publicip1 |
Public IP address type | Static |
Deployment two: Forti2
FortiGate Instance Name | Forti2 |
---|---|
BYOL License/Version | 6.0.3 |
FortiGate administrative username | fortiadmin |
Resource Group name | forti2-rg1 |
Virtual network name | forti2vnet1 |
VNET Address Space | 172.17.0.0/16* |
Public VNET subnet name | forti2-PublicFacingSubnet |
Public VNET address prefix | 172.17.0.0/24* |
Inside VNET subnet name | Forti2-InsideSubnet |
Inside VNET subnet prefix | 172.17.1.0/24* |
VM Size of FortiGate NVA | Standard F2s_v2 |
Public IP address name | Forti2-publicip1 |
Public IP address type | Static |
Note
* Choose a different set of address spaces and subnet prefixes if the above overlap in any way with the on-premises network environment including the VIP Pool of either Azure Stack Hub. Also ensure that the address ranges do not overlap with one another.
Deploy the FortiGate NGFW
Open the Azure Stack Hub user portal.
Select Create a resource and search for
FortiGate
.Select the FortiGate NGFW and select Create.
Complete the Basics using the parameters from the Deployment parameters table.
Select OK.
Provide the Virtual network, Subnets, and VM Size details using the Deployment parameters table.
Warning
If the on-premises network overlaps with the IP range
172.16.0.0/16
, you must select and set up a different network range and subnets. If you wish to use different names and ranges than the ones in the Deployment parameters table, use parameters that will not conflict with the on-premises network. Take care when setting the VNET IP range and subnet ranges within the VNET. You do not want the range to overlap with the IP ranges that exist in your on-premises network.Select OK.
Configure the Public IP for the Fortigate NVA:
Select OK. And then select OK.
Select Create.
The deployment will take about 10 minutes.
Configure routes (UDRs) for each VNET
Perform these steps for both deployments, forti1-rg1 and forti2-rg1.
Open the Azure Stack Hub user portal.
Select Resource groups. Type
forti1-rg1
in the filter and double-click the forti1-rg1 resource group.Select the forti1-forti1-InsideSubnet-routes-xxxx resource.
Select Routes under Settings.
Delete the to-Internet Route.
Select Yes.
Select Add to add a new route.
Name the route
to-onprem
.Enter the IP network range that defines the network range of the on-premises network to which the VPN will connect.
Select Virtual appliance for Next hop type and
172.16.1.4
. Use your IP range if you are using a different IP range.Select Save.
You will need a valid license file from Fortinet to activate each FortiGate NVA. The NVAs will not function until you have activated each NVA. For more information how to get a license file and steps to activate the NVA, see the Fortinet Document Library article Registering and downloading your license.
Two license files will need to be acquired - one for each NVA.
Create an IPSec VPN between the two NVAs
Once the NVAs have been activated, follow these steps to create an IPSec VPN between the two NVAs.
Following the below steps for both the forti1 NVA and forti2 NVA:
Get the assigned Public IP address by navigating to the fortiX VM overview page:
Copy the assigned IP address, open a browser, and paste the address into the address bar. Your browser may warn you that the security certificate is not trusted. Continue anyway.
Enter the FortiGate administrative user name and password you provided during the deployment.
Select System > Firmware.
Select the box showing the latest firmware, for example,
FortiOS v6.2.0 build0866
.Select Backup config and upgrade > Continue.
The NVA updates its firmware to the latest build and reboots. The process takes about five minutes. Log back into the FortiGate web console.
Click VPN > IPSec Wizard.
Enter a name for the VPN, for example,
conn1
in the VPN Creation Wizard.Select This site is behind NAT.
Select Next.
Enter the remote IP address of the on-premises VPN device to which you are going to connect.
Select port1 as the Outgoing Interface.
Select Pre-shared Key and enter (and record) a pre-shared key.
Note
You will need this key to set up the connection on the on-premises VPN device, that is, they must match exactly.
Select Next.
Select port2 for the Local Interface.
Enter the local subnet range:
- forti1: 172.16.0.0/16
- forti2: 172.17.0.0/16
Use your IP range if you are using a different IP range.
Enter the appropriate Remote Subnet(s) that represent the on-premises network, which you will connect to through the on-premises VPN device.
- forti1: 172.16.0.0/16
- forti2: 172.17.0.0/16
Use your IP range if you are using a different IP range.
Select Create
Select Network > Interfaces.
Double-click port2.
Choose LAN in the Role list and DHCP for the Addressing mode.
Select OK.
Repeat the steps for the other NVA.
Bring Up All Phase 2 Selectors
Once the above has been completed for both NVAs:
On the forti2 FortiGate web console, select to Monitor > IPsec Monitor.
Highlight
conn1
and select the Bring Up > All Phase 2 Selectors.
Test and validate connectivity
You should now be able to route in between each VNET via the FortiGate NVAs. To validate the connection, create an Azure Stack Hub VM in each VNET's InsideSubnet. Creating an Azure Stack Hub VM can be done via the portal, Azure CLI, or PowerShell. When creating the VMs:
The Azure Stack Hub VMs are placed on the InsideSubnet of each VNET.
You don't apply any NSGs to the VM upon creation (That is, remove the NSG that gets added by default if you create the VM from the portal.
Ensure that the VMS firewall rules allow the communication you are going to use to test connectivity. For testing purposes, it is recommended to disable the firewall completely within the OS if at all possible.
Next steps
Differences and considerations for Azure Stack Hub networking
Offer a network solution in Azure Stack Hub with Fortinet FortiGate