Connecting a local FortiGate to an AliCloud VPC VPN
This guide provides sample configuration of a site-to-site VPN connection from a local FortiGate to an AliCloud VPC VPN via IPsec VPN with static routing.
Instances that you launch into an AliCloud VPC can communicate with your own remote network via a site-to-site VPN between your on-premise FortiGate and AliCloud VPC VPN. You can enable access to your remote network from your VPC by configuring a VPN gateway and customer gateway to the VPC, then configuring the site-to-site VPC VPN.
This configuration requires the following prerequisites be met:
- AliCloud VPC with some configured subnets, routing tables, security group rules, and so on
- On-premise FortiGate with an external IP address
This guide consists of the following steps:
- Create a VPN gateway.
- Create a customer gateway.
- Create a site-to-site VPN connection on AliCloud.
- Configure the on-premise FortiGate.
- Run diagnose commands.
To create a VPN gateway:
- In the AliCloud management console, go to VPN > VPN Gateways.
- Click Create VPN Gateway.
- Create a virtual private gateway and attach it to the VPC from which you want to create the site-to-site VPN connection.
To create a customer gateway:
This example refers to the on-premise FortiGate for the VPC VPN to connect to as the customer gateway.
- Go to VPN > Customer Gateways.
- Click Create Customer Gateway.
- Configure the customer gateway as shown:
To create a site-to-site VPN connection on AliCloud:
- Go to VPN > IPsec Connections.
- Click Create IPsec Connection.
- Create an IPsec connection between the VPN and customer gateways.
- Under Actions, click Download Configuration.
- Note the IPsec-related parameters. You use these parameters to configure the on-premise FortiGate in the next step:
{ "LocalSubnet": "0.0.0.0/0", "RemoteSubnet": "0.0.0.0/0", "IpsecConfig": { "IpsecPfs": "group2", "IpsecEncAlg": "aes", "IpsecAuthAlg": "sha1", "IpsecLifetime": 86400 }, "Local": "x.x.x.x", "Remote": "47.88.4.89", "IkeConfig": { "IkeAuthAlg": "sha1", "LocalId": "x.x.x.x", "IkeEncAlg": "aes", "IkeVersion": "ikev1", "IkeMode": "main", "IkeLifetime": 86400, "RemoteId": "47.88.4.89", "Psk": "xxxxxxxxxxxxxxxx", "IkePfs": "group2" } }
To configure the on-premise FortiGate:
- In the FortiOS CLI, configure the on-premise FortiGate with the above IPsec-related parameters. When setting
remote-gw
andpsksecret
, use the values found forRemoteId
andPsk
above, respectively. The example on-premise FortiGate uses port9 as its external interface:config vpn ipsec phase1-interface edit "AliCloudVPN" set interface "port9" set keylife 86400 set peertype any set net-device enable set proposal aes128-sha1 set dhgrp 14 2 set remote-gw 47.88.4.89 set psksecret xxxxxxxxxxxxxxxx next end config vpn ipsec phase2-interface edit "AliCloudVPN" set phase1name "AliCloudVPN" set proposal aes128-sha1 set dhgrp 14 2 set keepalive enable set keylifeseconds 3600 next end config firewall address edit "AliCloudVPN-local-subnet-1" set allow-routing enable set subnet 10.6.30.0 255.255.255.0 next end config firewall address edit "AliCloudVPN-remote-subnet-1" set allow-routing enable set subnet 10.0.1.0 255.255.255.0 next end config router static edit 2 set device "AliCloudVPN" set dstaddr "AliCloudVPN-remote-subnet-1" next end config firewall policy edit 10 set name "AliCloudVPN-local-ali" set srcintf "mgmt1" set dstintf "AliCloudVPN" set srcaddr "AliCloudVPN-local-subnet-1" set dstaddr "AliCloudVPN-remote-subnet-1" set action accept set schedule "always" set service "ALL" next edit 20 set name "AliCloudVPN-ali-local" set srcintf "AliCloudVPN" set dstintf "mgmt1" set srcaddr "AliCloudVPN-remote-subnet-1" set dstaddr "AliCloudVPN-local-subnet-1" set action accept set schedule "always" set service "ALL" next end
- If the IPsec tunnel does not appear automatically, run the
diagnose vpn tunnel up AliCloudVPN
command. - In the FortiOS GUI, go to VPN > IPsec Tunnels. Verify that the tunnel is up. The on-premise FortiGate can now access the AliCloud VM with its private IP address. The AliCloud VM can also access the on-premise FortiGate with its private IP address.
To run diagnose commands:
FGT600D_B # diagnose vpn ike gateway list
vd: root/0 name: AliCloudVPN version: 1 interface: port9 10 addr: 172.16.200.212:4500 -> 47.88.4.89:4500 created: 1087s ago nat: me peer IKE SA: created 1/1 established 1/1 time 9110/9110/9110 ms IPsec SA: created 1/2 established 1/1 time 30/30/30 ms id/spi: 0 d9d4ae9111a51b0b/de39f4ac9deffc18 direction: initiator status: established 1087-1078s ago = 9110ms proposal: aes128-sha1 key: 9bf9b58431949e77-a0c21ded48368db1 lifetime/rekey: 28800/27421 DPD sent/recv: 00000000/00000000 FGT600D_B # diagnose vpn tunnel list list all ipsec tunnel in vd 0 ------------------------------------------------------ name=AliCloudVPN ver=1 serial=1 172.16.200.212:4500->47.88.4.89:4500 dst_mtu=1500 bound_if=10 lgwy=static/1 tun=intf/0 mode=auto/1 encap=none/536 options[0218]=npu create_dev frag-rfc accept_traffic=1 proxyid_num=1 child_num=0 refcnt=14 ilast=1084 olast=270 ad=/0 stat: rxp=1 txp=43 rxb=16452 txb=4389 dpd: mode=on-demand on=0 idle=20000ms retry=3 count=0 seqno=0 natt: mode=keepalive draft=32 interval=10 remote_port=4500 proxyid=AliCloudVPN proto=0 sa=1 ref=2 serial=1 src: 0:0.0.0.0/0.0.0.0:0 dst: 0:0.0.0.0/0.0.0.0:0 SA: ref=6 options=10227 type=00 soft=0 mtu=1422 expire=2399/0B replaywin=2048 seqno=2c esn=0 replaywin_lastseq=00000001 itn=0 qat=0 life: type=01 bytes=0/0 timeout=3298/3600 dec: spi=ac5426a9 esp=aes key=16 417b83810bf1f17b30e8b0974716d37d ah=sha1 key=20 a3e1d5ca5d85907a35c7720e9c640d0fafbb0ee3 enc: spi=c999e156 esp=aes key=16 837b20f727c957f700f6c89acbb9e9a9 ah=sha1 key=20 7f4634601d6962575c00761f7270d36a683c3d65 dec:pkts/bytes=1/16376, enc:pkts/bytes=43/7648 npu_flag=03 npu_rgwy=47.88.4.89 npu_lgwy=172.16.200.212 npu_selid=0 dec_npuid=1 enc_npuid=1