Bài viết này hướng dẫn cách cấu hình IPSec VPN Site-to-Site giữa hai thiết bị tường lửa Fortinet Firewall và Sophos Firewall, nhằm kết nối an toàn các mạng LAN tại hai site khác nhau thông qua Internet.
Sau khi cấu hình hoàn tất, các lớp mạng LAN sau có thể kết nối và truy cập lẫn nhau:
- 172.16.16.0/24 – Site A
- 10.10.10.0/24 – Site B
- 192.168.20.0/24 – Site B

🔹 Site A – Fortinet Firewall
- Đường Internet được kết nối vào cổng WAN của thiết bị Fortinet
- IP WAN: 192.168.1.2
- Mạng LAN nội bộ: 172.16.16.0/24
- LAN được cấu hình trên interface LAN của Fortinet
🔹 Site B – Sophos Firewall
- Đường Internet được kết nối vào interface a (WAN) của Sophos Firewall
- IP WAN: 192.168.1.3
- Mạng LAN nội bộ gồm 2 lớp mạng: 10.10.10.0/24, 192.168.20.0/24
- Kết nối VPN sử dụng IPSec Site-to-Site
- Xác thực bằng Pre-shared Key
- Sử dụng IKEv2
- Fortinet (192.168.1.2)
- Sophos (192.168.1.3)
Mạng LAN 172.16.16.0/24 (Fortinet) ⬄ Mạng LAN 10.10.10.0/24 và 192.168.20.0/24 (Sophos) có thể kết nối qua lại trực tiếp.
- Tạo VPN Tunnels
- Tạo Static Route
- Tạo Firewall Policy
- Tạo subnet
- Tạo IPSec Profile
- Tạo IPSec Connection
- Tạo Firewall Rule
Vào VPN → IPsec Tunnels → Create New → Custom
Name: S2S-LAB
Template Type: Custom

Dùng Custom để chủ động cấu hình Phase 1 / Phase 2

| Tham số | Giá trị |
|---|---|
| IP Version | IPv4 |
| Remote Gateway | Static IP Address |
| IP Address | 192.168.1.3 (WAN Sophos) |
| Interface | WAN |
| Local Gateway | Không bật |
| Mode Config | Bỏ chọn |
| NAT Traversal | Disable |
| Dead Peer Detection | Disable |
– Disable NAT-T vì không NAT giữa 2 WAN
– Disable DPD để tránh reset tunnel trong lab

| Tham số | Giá trị |
|---|---|
| Method | Pre-shared Key |
| Pre-shared Key | (ví dụ) FortiSophos@123 |
| IKE Version | 2 |
– PSK phải giống 100% bên Sophos

| Tham số | Giá trị |
|---|---|
| Encryption | AES256 |
| Authentication | SHA256 |
| Diffie-Hellman Group | 14 |
| Key Lifetime | 28800 |

Selector 1
- Local Address: 172.16.16.0/24
- Remote Address: 10.10.10.0/24
Selector 2
- Local Address: 172.16.16.0/24
- Remote Address: 192.168.20.0/24
| Tham số | Giá trị |
|---|---|
| Encryption | AES256 |
| Authentication | SHA256 |
| Diffie-Hellman Group | 14 |
| Key Lifetime | 43200 |
– Mỗi subnet Sophos cần 1 Phase 2
– Nếu gộp → tunnel UP nhưng không có traffic
Nhấn OK để tạo VPN Tunnel.
Vào Network → Static Routes → Create New

| Tham số | Giá trị |
|---|---|
| Destination | 10.10.10.0/24 |
| Interface | S2S-LAB |
| Gateway | 0.0.0.0 |
| Status | Enable |

| Tham số | Giá trị |
|---|---|
| Destination | 192.168.20.0/24 |
| Interface | S2S-LAB |
| Gateway | 0.0.0.0 |
| Status | Enable |
– Nếu thiếu static route → ping không bao giờ đi vào VPN

| Tham số | Giá trị |
|---|---|
| Incoming Interface | LAN |
| Outgoing Interface | S2S-LAB |
| Source | 172.16.16.0/24 |
| Destination | 10.10.10.0/24, 192.168.20.0/24 |
| Service | ALL |
| Action | ACCEPT |
| NAT | Disable |

| Tham số | Giá trị |
|---|---|
| Incoming Interface | S2S-LAB |
| Outgoing Interface | LAN |
| Source | 10.10.10.0/24, 192.168.20.0/24 |
| Destination | 172.16.16.0/24 |
| Service | ALL |
| Action | ACCEPT |
– Policy VPN phải nằm trên policy Internet
Vào Hosts and Services → Add
| Tên | Loại | Thông số |
|---|---|---|
| LAN_SOPHOS_10 | Network | IP: 10.10.10.0 / Subnet: 255.255.255.0 |
| LAN_SOPHOS_20 | Network | IP: 192.168.20.0 / Subnet: 255.255.255.0 |
| LAN_FORTI | Network | IP: 172.16.16.0 / Subnet: 255.255.255.0 |
Vào SYSTEM > Profiles → IPsec Profiles → Add

| Tham số | Giá trị |
|---|---|
| Name | Fortinet-Vacif |
| IKE Version | IKEv2 |
| Encryption | AES256 |
| Authentication | SHA256 |
| DH Group | 14 |
Vào CONFIGURE → Site-to-site VPN → IPsec → Add

| Tham số | Giá trị |
|---|---|
| Name | VPN_SOPHOS_VACIF |
| Connection Type | Policy-based |
| Gateway Type | Initiate the connection |
| Create firewall rule | Không chọn (tạo thủ công) |
| Tham số | Giá trị |
|---|---|
| Profile | Fortinet Vacif ( tạo ở bước trên ) |
| Authentication Type | Pre-shared Key |
| Pre-shared Key | FortiSophos@123 |

- Listening interface: Port 2 – 192.168.1.3
- Gateway address: 192.168.1.2 (WAN Fortinet)
- Local Subnet: 10.10.10.0/24 , 192.168.20.0/24
- Remote Subnet: 172.16.16.0/24

| Tham số | Giá trị |
|---|---|
| Source Zone | LAN |
| Destination Zone | VPN |
| Source Network | 10.10.10.0/24, 192.168.20.0/24 |
| Destination Network | 172.16.16.0/24 |
| Action | Allow |

| Tham số | Giá trị |
|---|---|
| Source Zone | VPN |
| Destination Zone | LAN |
| Source Network | 172.16.16.0/24 |
| Destination Network | 10.10.10.0/24, 192.168.20.0/24 |
| Action | Allow |
Sophos: VPN → IPsec Connections → Status: 🟢 Connected

Fortinet: Monitor → IPsec Monitor → Tunnel: UP (Có Incoming / Outgoing Data)

Test:
- 172.16.16.x → 10.10.10.x
- 172.16.16.x → 192.168.20.x

- Đảm bảo thời gian hệ thống đồng bộ (NTP) để tránh lỗi IKEv2 do lệch thời gian.
- PSK, thuật toán mã hóa và nhóm DH phải trùng khớp 2 đầu – sai khác sẽ khiến Phase 1/2 thất bại.
- Tắt NAT trên policy đi vào VPN; bật NAT sẽ làm sai nguồn và gói tin không match selector.
- Mỗi cặp Local/Remote subnet cần 1 selector (Phase 2). Không gộp nhiều subnet nếu thiết bị không hỗ trợ.
- Nếu tunnel UP nhưng không ping được, kiểm tra: Static Route, Policy thứ tự, và bảng ARP/Route trên hai đầu.

