![](https://static.wixstatic.com/media/68165d_ac566527a17840208495382c1b519c2e~mv2.png/v1/fill/w_980,h_569,al_c,q_90,usm_0.66_1.00_0.01,enc_auto/68165d_ac566527a17840208495382c1b519c2e~mv2.png)
Mình đã tạo sẵn VPC và chia subnet cho VPC nên mình sẽ không hướng dẫn phần này.
1. Thực hiện trên AWS
Bước 1. Tạo Virtual Private Gateways
Trong giao diện console của AWS chọn dịch vụ VPC
![](https://static.wixstatic.com/media/68165d_1d27dbbb96824e75af809c6f44badada~mv2.png/v1/fill/w_980,h_467,al_c,q_90,usm_0.66_1.00_0.01,enc_auto/68165d_1d27dbbb96824e75af809c6f44badada~mv2.png)
Phần Virtual Private Network (VPN) > chọn Virtual Private Gateways > chọn Create Virtual Private Gateway
![](https://static.wixstatic.com/media/68165d_f1dabb3af8b64bc3a01e7a90df4f442b~mv2.png/v1/fill/w_980,h_467,al_c,q_90,usm_0.66_1.00_0.01,enc_auto/68165d_f1dabb3af8b64bc3a01e7a90df4f442b~mv2.png)
Name tag, đặt tên cho Virtual Private Gateway
Static route mục ASN để mặc định là Amazon default ASN
Chọn Create Virtual Private Gateway để tạo mới
![](https://static.wixstatic.com/media/68165d_e9a73bddb4cd470dbd64aab886d1f2cf~mv2.png/v1/fill/w_980,h_467,al_c,q_90,usm_0.66_1.00_0.01,enc_auto/68165d_e9a73bddb4cd470dbd64aab886d1f2cf~mv2.png)
Chọn VPG vừa tạo > chọn Action > chọn Attach VPC
![](https://static.wixstatic.com/media/68165d_8097c5a1bec34ee3aa4cd77eaf753bf0~mv2.png/v1/fill/w_980,h_467,al_c,q_90,usm_0.66_1.00_0.01,enc_auto/68165d_8097c5a1bec34ee3aa4cd77eaf753bf0~mv2.png)
VPC chọn VPC mà các instance đang chạy > chọn Yes, Attach
![](https://static.wixstatic.com/media/a27d24_82f5607fd105432f8bbf13d7b7be1330~mv2.png/v1/fill/w_980,h_467,al_c,q_90,usm_0.66_1.00_0.01,enc_auto/a27d24_82f5607fd105432f8bbf13d7b7be1330~mv2.png)
Đợi vài phút phần State sẽ hiện attached là đã attach VPC vào VPG thành công.
![](https://static.wixstatic.com/media/a27d24_951c571f175f4e769227f50cb582af82~mv2.png/v1/fill/w_980,h_467,al_c,q_90,usm_0.66_1.00_0.01,enc_auto/a27d24_951c571f175f4e769227f50cb582af82~mv2.png)
Bước 2. Tạo Customer Gateways
Chọn Customer Gateways > chọn Create Customer Gateway
![](https://static.wixstatic.com/media/a27d24_6659ecfe9f5a41179adcf32ad31c2ea6~mv2.png/v1/fill/w_980,h_467,al_c,q_90,usm_0.66_1.00_0.01,enc_auto/a27d24_6659ecfe9f5a41179adcf32ad31c2ea6~mv2.png)
Name, đặt tên mô tả
Routing, chọn Static
IP Address, nhập IP WAN của fortigate ở on-premise
Các mục còn lại để trống như mặc định
Chọn Create Customer Gateway
![](https://static.wixstatic.com/media/a27d24_245f4034889c4029ab08ecea3c3f875a~mv2.png/v1/fill/w_980,h_467,al_c,q_90,usm_0.66_1.00_0.01,enc_auto/a27d24_245f4034889c4029ab08ecea3c3f875a~mv2.png)
Phần State hiện available là đã tạo xong Customer Gateway
![](https://static.wixstatic.com/media/a27d24_4d7427aa3ba44f9e8f40a52a1cd742fe~mv2.png/v1/fill/w_980,h_467,al_c,q_90,usm_0.66_1.00_0.01,enc_auto/a27d24_4d7427aa3ba44f9e8f40a52a1cd742fe~mv2.png)
Bước 3. Tạo Site-to-Site VPN Connections
AWS VPC VPN hỗ trợ các phương thức VPN sau:
Internet Key Exchange version 2 (IKEv2)
NAT traversal
Four-byte ASN (in addition to two-byte ASN)
Reusable IP addresses for customer gateways
Additional encryption options including AES 256-bit encryption, SHA-2 hashing, and additional Diffie-Hellman groups
Configurable tunnel options
Custom private ASN for the Amazon side of a BGP session
Ở hướng dẫn này mình sử dụng IPsec Site-to-Site: AES-256, SHA-2, Diffie-Hellman groups
Chọn Site-to-Site VPN Connections > chọn Create VPN Connection
![](https://static.wixstatic.com/media/a27d24_e7bd9cf77391419dae90ba80b311c401~mv2.png/v1/fill/w_980,h_467,al_c,q_90,usm_0.66_1.00_0.01,enc_auto/a27d24_e7bd9cf77391419dae90ba80b311c401~mv2.png)
Name tag, đặt tên mô tả
Target Gateway Type, chọn Virtual Private Gateway
Virtual Private Gateway, chọn VPG đã tạo ở Bước 1
Customer Gateway, chọn Existing
Customer Gateway ID, chọn Customer Gateway đã tạo ở Bước 2
![](https://static.wixstatic.com/media/a27d24_2b144bf1dc724dd4a44a9c3836de78fa~mv2.png/v1/fill/w_980,h_467,al_c,q_90,usm_0.66_1.00_0.01,enc_auto/a27d24_2b144bf1dc724dd4a44a9c3836de78fa~mv2.png)
Routing Option, chọn Static
Static IP Prefixes, nhập IP LAN bên phía Fortigate
![](https://static.wixstatic.com/media/a27d24_8e62f4ac05be4d3a9379f2eaeeb47820~mv2.png/v1/fill/w_980,h_467,al_c,q_90,usm_0.66_1.00_0.01,enc_auto/a27d24_8e62f4ac05be4d3a9379f2eaeeb47820~mv2.png)
Các mục còn lại để mặc định > chọn Create VPN Connection
![](https://static.wixstatic.com/media/a27d24_c98be17100604f7c9753fe7824f5a52f~mv2.png/v1/fill/w_980,h_467,al_c,q_90,usm_0.66_1.00_0.01,enc_auto/a27d24_c98be17100604f7c9753fe7824f5a52f~mv2.png)
Đợi vài phút chúng ta thấy State đang ở trạng thái available.
Tuy nhiên chúng ta thấy có 2 Tunnel nhưng Status đang là DOWN vì chúng ta chưa cấu hình trên Fortigate.
Mỗi VPN Connection sẽ tạo cho chúng ta 2 Tunnel, chúng ta có thể kết nối VPN giữa Fortigate và AWS VPC thông qua cả 2 Tunnel này (trên Fortigate chúng ta phải tạo 2 IPsec Tunnel), nếu một Tunnel bị mất kết nối thì VPN sẽ chạy trên Tunnel còn lại thích hợp cho mục đích dự phòng.
Ở đây mình chỉ hướng dẫn dùng một Tunnel, nếu các bạn muốn dùng cả 2 thì cũng làm tương tự.
![](https://static.wixstatic.com/media/a27d24_348260bca7a641428246396cd8df104b~mv2.png/v1/fill/w_980,h_467,al_c,q_90,usm_0.66_1.00_0.01,enc_auto/a27d24_348260bca7a641428246396cd8df104b~mv2.png)
Chọn vào VPN Connection vừa tạo > chọn Download Configuration
Trong file configuration chúng ta cần các thông tin quan trọng dùng để phục vụ cho việc cấu hình trên Foritgate.
![](https://static.wixstatic.com/media/a27d24_220b33911e424593913c1f7438f83c66~mv2.png/v1/fill/w_980,h_467,al_c,q_90,usm_0.66_1.00_0.01,enc_auto/a27d24_220b33911e424593913c1f7438f83c66~mv2.png)
Vender, AWS hỗ trợ rất nhiều hãng, ở đây mình dùng firewall của Fortinet
Platform và Software, chọn các phiên bản phù hợp với thiết bị firewall đang chạy ở on-premise
![](https://static.wixstatic.com/media/a27d24_6c8d5b60b855476c8bea07dc02a06d4c~mv2.png/v1/fill/w_980,h_467,al_c,q_90,usm_0.66_1.00_0.01,enc_auto/a27d24_6c8d5b60b855476c8bea07dc02a06d4c~mv2.png)
2. Thực hiện trên Fortigate
Mình sẽ sử dụng Fortigate CLI Console để cấu hình.
Bước 1. Tạo VPN IPsec Tunnels
Tạo phase 1 cho Tunnal 1, mở file configuration đã download từ AWS
![](https://static.wixstatic.com/media/a27d24_6553b4623a004f0f86465a781e1f301a~mv2.png/v1/fill/w_980,h_434,al_c,q_90,usm_0.66_1.00_0.01,enc_auto/a27d24_6553b4623a004f0f86465a781e1f301a~mv2.png)
Các lệnh dùng trong CLI Console
config vpn ipsec phase1-interface
edit IPsec-AWS //Đặt tên phase 1 là IPsec-AWS
set interface wan1 //Port WAN của Fortigate
set keylife 28800 //Thông số lấy trong file đã download
set peertype any
set proposal aes128-sha1 //Thông số lấy trong file đã download
set dhgrp 2 //Thông số lấy trong file đã download
set remote-gw 13.251.211.146 //Thông số lấy trong file đã download
set psksecret C6YTLwIAAb5r84v0RSN6ey7iz8Q9FlDH //File đã download
set dpd-retryinterval 10
next
end
Tạo phase 2 cho Tunnel 1, mở file configuration đã download từ AWS
![](https://static.wixstatic.com/media/a27d24_d403b27c8fb847c48fb3e8b211ae9d01~mv2.png/v1/fill/w_980,h_434,al_c,q_90,usm_0.66_1.00_0.01,enc_auto/a27d24_d403b27c8fb847c48fb3e8b211ae9d01~mv2.png)
Các lệnh dùng trong CLI Console
config vpn ipsec phase2-interface
edit AWS-phase2 //Đặt tên phase 2 là IPsec-AWS
set phase1name IPsec-AWS //Tên phase 1 đã tạo là IPsec-AWS
set proposal aes128-sha1 //Lấy trong file đã download
set dhgrp 2 //Lấy trong file đã download
set keylifeseconds 3600 //Lấy trong file đã download
next
end
Bước 2. Tạo Static Route
Các lệnh dùng trong CLI Console
config router static
edit 8 // Số 8 ở đây là mình tạo static route mới hoàn toàn
set dst 172.16.0.0 255.255.0.0 //Lớp mạng của VPC trên AWS
set device IPsec-AWS //Tên của phase 1 đã tạo
next
end
Bước 3. Tạo Firewall Policy
Tạo chiều in từ VPN vào trong LAN
Các lệnh dùng trong CLI Console
config firewall policy
edit 10 // Số 10 ở đây là mình mới hoàn toàn có ID là 10
set srcintf IPsec-AWS // Tên phase 1 đã tạo
set dstintf Lan-Port // Tên port LAN
set srcaddr all
set dstaddr all
set action accept
set schedule always
set service ALL
next
end
Tạo chiều out từ LAN ra VPN
Các lệnh dùng trong CLI Console
config firewall policy
edit 11 // Số 11 ở đây là mình mới hoàn toàn có ID là 11
set srcintf Lan-Port // Tên port LAN
set dstintf IPsec-AWS // Tên phase 1 đã tạo
set srcaddr all
set dstaddr all
set action accept
set schedule always
set service ALL
next
end
Kiểm tra
Trên Foritigate trạng thái IPsec Tunnel đã chuyển sang Up
![](https://static.wixstatic.com/media/a27d24_3964513c9ea44b5e9a0cb7fac0ee7c4b~mv2.png/v1/fill/w_980,h_467,al_c,q_90,usm_0.66_1.00_0.01,enc_auto/a27d24_3964513c9ea44b5e9a0cb7fac0ee7c4b~mv2.png)
Trên AWS chúng ta cũng thấy Tunnel 1 chuyển trạng thái UP
![](https://static.wixstatic.com/media/a27d24_5a468b4819bb42e88db3fc29606f49f2~mv2.png/v1/fill/w_980,h_467,al_c,q_90,usm_0.66_1.00_0.01,enc_auto/a27d24_5a468b4819bb42e88db3fc29606f49f2~mv2.png)
Tuy nhiên đến bước này bạn vẫn chưa kết nối giữa các Instance trên AWS với LAN bên trong Fortigate. Bạn phải chỉnh lại Route Table cho VPC trên AWS.
Vào Route Tables > chọn tên route table mà VPC đang sử dụng > Chon tab Routes
Ở đây chúng ta thấy chỉ có 2 route: route giữa các subnet trong VPC và route ra ngoài internet, chưa có các route trỏ đến mạng LAN trong Fortigate
![](https://static.wixstatic.com/media/a27d24_0ddb0117475b4ad792882e7bb54cb5a1~mv2.png/v1/fill/w_980,h_467,al_c,q_90,usm_0.66_1.00_0.01,enc_auto/a27d24_0ddb0117475b4ad792882e7bb54cb5a1~mv2.png)
Chọn Edit routes > Destination, nhập các lớp mạng LAN trong Fortigate > Target, chọn tên Virtual Private Gateway đã tạo.
![](https://static.wixstatic.com/media/a27d24_2d8f2589b7dc43ab85bc9c1721a983f1~mv2.png/v1/fill/w_980,h_467,al_c,q_90,usm_0.66_1.00_0.01,enc_auto/a27d24_2d8f2589b7dc43ab85bc9c1721a983f1~mv2.png)
Vậy là xong, chúng ta có thể kiểm tra kết nối VPN bằng cách ping qua lại giữa một instance trên AWS và một máy tính nào đó trong LAN.
Comments