Danh mục sản phẩm
Site-to-Site IPSec VPN (Route-based)
1. Liên hệ thực tế
Tiếp nối bài trước, anh Nam đã hiểu Phase 1/Phase 2 là gì, giờ cần bắt tay dựng tunnel thật cho chi nhánh mới. Anh mở VPN Wizard trên FortiGate, thấy có sẵn Template "Site to Site" — nhưng còn băn khoăn: sau khi tunnel lên, làm sao traffic từ LAN trụ sở biết đường "chui" vào đúng tunnel để tới LAN chi nhánh?
Chị Lan giải thích: "Với Route-based VPN — kiểu mặc định và phổ biến nhất hiện nay — mỗi tunnel IPsec tạo ra một interface ảo riêng, y hệt một cổng WAN vật lý. Traffic muốn đi qua tunnel thì đơn giản là route tới đúng interface đó, giống hệt cách anh khai static route cho một cổng vật lý bình thường."
Bài này hướng dẫn dựng một Site-to-Site IPsec VPN dạng Route-based hoàn chỉnh giữa hai FortiGate có IP tĩnh — từ Phase 1/Phase 2 tới routing và Firewall Policy.
💡 Bài có Lab thực hành riêng đi kèm — xem link "Thực hành ngay" ở cuối bài.
2. Kiến thức cốt lõi
2.1 Route-based VPN là gì
Route-based VPN đại diện cho tunnel IPsec bằng một tunnel interface ảo (phase1-interface) — về bản chất hoạt động giống hệt một interface vật lý khác trên FortiGate: có thể route tới nó, tham chiếu nó trong Firewall Policy, thậm chí chạy giao thức routing động (OSPF, BGP) qua nó.
2.2 Cấu hình Phase 1 — thiết lập tunnel interface
config vpn ipsec phase1-interface
edit "vpn-chi-nhanh-a"
set type static
set interface "wan1"
set ike-version 2
set remote-gw 203.0.113.10
set authmethod psk
set psksecret "MatKhauManhCanKy2024!"
set proposal aes256gcm-prfsha384
set dhgrp 21
set dpd on-idle
set dpd-retryinterval 30
next
end
set type static khai báo đây là tunnel tới một peer có địa chỉ IP cố định (khác với Dialup dùng type dynamic, sẽ học ở bài sau). remote-gw là IP công cộng của FortiGate đầu kia.
2.3 Cấu hình Phase 2 — xác định traffic nào đi qua tunnel
config vpn ipsec phase2-interface
edit "vpn-chi-nhanh-a-p2"
set phase1name "vpn-chi-nhanh-a"
set proposal aes256gcm
set pfs enable
set dhgrp 21
set src-subnet 10.1.0.0 255.255.0.0
set dst-subnet 10.2.0.0 255.255.0.0
next
end
src-subnet/dst-subnet (còn gọi là quick mode selectors) xác định phạm vi mạng nào được phép đi qua Phase 2 SA này — khớp đúng dải LAN hai đầu.
2.4 Routing — trỏ đích LAN đối diện qua tunnel interface
config router static
edit 1
set dst 10.2.0.0 255.255.0.0
set device "vpn-chi-nhanh-a"
next
edit 2
set dst 10.2.0.0 255.255.0.0
set distance 254
set blackhole enable
next
end
Route thứ nhất trỏ đích LAN chi nhánh qua chính tunnel interface — không cần khai gateway (địa chỉ IP gateway), vì bản chất tunnel interface point-to-point đã đủ định danh đường đi. Route thứ hai là Blackhole Route (đã học ở bài Routing tĩnh) — dự phòng khi tunnel down, tránh traffic bị lộ ra ngoài Internet qua default route.
2.5 Firewall Policy cho traffic qua VPN
config firewall policy
edit 200
set name "hq-to-chinhanh-a"
set srcintf "internal"
set dstintf "vpn-chi-nhanh-a"
set srcaddr "LAN-HQ"
set dstaddr "LAN-ChiNhanh-A"
set action accept
set schedule "always"
set service "ALL"
next
edit 201
set name "chinhanh-a-to-hq"
set srcintf "vpn-chi-nhanh-a"
set dstintf "internal"
set srcaddr "LAN-ChiNhanh-A"
set dstaddr "LAN-HQ"
set action accept
set schedule "always"
set service "ALL"
next
end
Cần hai Policy hai chiều — một cho traffic đi vào tunnel, một cho traffic đi ra từ tunnel — vì FortiGate coi tunnel interface như bất kỳ interface nào khác, áp dụng đầy đủ nguyên tắc srcintf/dstintf đã học ở bài Firewall Policy.
⚠️ Lưu ý: Không bật
set nat enabletrên các Policy VPN này — traffic qua site-to-site VPN cần giữ nguyên địa chỉ IP gốc để bên nhận định tuyến đúng trở lại, NAT sẽ phá vỡ điều đó (trừ trường hợp đặc biệt cần NAT qua VPN, nằm ngoài phạm vi bài này).
2.6 Cấu hình phía FortiGate còn lại
Cấu hình phía chi nhánh gần như đối xứng, chỉ đổi vai trò remote-gw, src-subnet/dst-subnet:
config vpn ipsec phase1-interface
edit "vpn-hq"
set type static
set interface "wan1"
set ike-version 2
set remote-gw 198.51.100.5
set authmethod psk
set psksecret "MatKhauManhCanKy2024!"
set proposal aes256gcm-prfsha384
set dhgrp 21
next
end
config vpn ipsec phase2-interface
edit "vpn-hq-p2"
set phase1name "vpn-hq"
set proposal aes256gcm
set pfs enable
set dhgrp 21
set src-subnet 10.2.0.0 255.255.0.0
set dst-subnet 10.1.0.0 255.255.0.0
next
end
⚠️ Lưu ý:
psksecretphải giống hệt nhau tuyệt đối ở cả hai đầu — chỉ cần lệch một ký tự, Phase 1 sẽ thất bại ngay từ bước xác thực.
3. Hỏi & Đáp
Vì sao route tới tunnel interface không cần khai gateway?
Vì tunnel interface hoạt động theo mô hình point-to-point — chỉ có đúng một "đầu bên kia" khả dĩ (đối tác VPN đã xác định qua Phase 1), nên FortiGate không cần thêm thông tin gateway để biết gói tin nên đi đâu, khác với route qua interface Ethernet vật lý có thể có nhiều thiết bị trên cùng subnet.
Nếu quên tạo Blackhole Route dự phòng, hậu quả gì khi tunnel down?
Traffic hướng tới LAN chi nhánh có thể bị fallback sang route khác đang tồn tại (như default route ra Internet) nếu route chính qua tunnel biến mất khi tunnel down — dữ liệu nội bộ đáng lẽ chỉ đi qua kênh mã hóa VPN có nguy cơ bị gửi thẳng ra Internet ở dạng không kiểm soát, hoặc đơn giản là traffic bị định tuyến sai và mất kết nối không rõ nguyên nhân.
src-subnet/dst-subnet ở Phase 2 có bắt buộc khớp chính xác 100% giữa hai đầu không?
Cần đối xứng logic (bên A khai src=LAN-A/dst=LAN-B thì bên B phải khai src=LAN-B/dst=LAN-A) nhưng không nhất thiết bằng chữ y hệt — quan trọng là dải subnet thực tế phải khớp nhau. Nếu khai sai lệch (ví dụ một bên ghi dải rộng hơn/hẹp hơn bên kia), Phase 2 vẫn có thể lên nhưng traffic ngoài phạm vi khai báo sẽ không được mã hóa qua tunnel.
Có thể có nhiều Phase 2 trên cùng một Phase 1 không?
Có — một Phase 1 (IKE SA) có thể có nhiều Phase 2 (IPsec SA) con, mỗi Phase 2 phục vụ một cặp subnet khác nhau. Hữu ích khi hai site có nhiều dải mạng riêng biệt cần cô lập theo từng Phase 2 SA, thay vì gộp chung một Phase 2 với subnet lớn.
4. Quiz
Câu 1: Route-based VPN đại diện cho tunnel IPsec bằng thành phần nào trên FortiGate?
- A. Một Address Object đặc biệt
- B. Một tunnel interface ảo, hoạt động giống interface vật lý khác
- C. Một Service Object riêng
- D. Không có thành phần đại diện nào
Câu 2: Vì sao route tới tunnel interface trong Route-based VPN không cần khai tham số gateway?
- A. Vì FortiGate tự động bỏ qua bước routing cho VPN
- B. Vì tunnel interface là point-to-point, không cần thêm thông tin gateway để xác định đường đi
- C. Vì gateway luôn mặc định là 0.0.0.0
- D. Vì Route-based VPN không hỗ trợ static route
Câu 3: Vì sao cần tạo Blackhole Route dự phòng cho đích LAN chi nhánh?
- A. Để tăng tốc độ tunnel
- B. Để tránh traffic bị fallback sang route khác (như ra Internet) khi tunnel down
- C. Để tự động sửa lỗi Phase 1
- D. Không có tác dụng thực tế
Câu 4: Vì sao cần tạo hai Firewall Policy hai chiều cho một kết nối VPN site-to-site?
- A. Vì FortiGate yêu cầu tối thiểu 2 Policy cho mọi trường hợp
- B. Vì tunnel interface được coi như interface thông thường, áp dụng nguyên tắc srcintf/dstintf hai chiều
- C. Vì Phase 1 và Phase 2 mỗi cái cần 1 Policy riêng
- D. Chỉ cần 1 Policy là đủ, không cần 2
Câu 5: Tham số nào trong Phase 1 phải giống hệt tuyệt đối giữa hai đầu tunnel để xác thực thành công?
- A.
interface - B.
psksecret - C.
dpd-retryinterval - D. Tên gọi tunnel (
editname)
👉 Đáp án
Câu 1: B Route-based VPN đại diện cho tunnel bằng một tunnel interface ảo (phase1-interface), hoạt động giống hệt interface vật lý — có thể route tới, tham chiếu trong Policy, chạy routing động qua nó.
Câu 2: B Tunnel interface hoạt động theo mô hình point-to-point, chỉ có đúng một đối tác VPN xác định qua Phase 1, nên không cần thêm thông tin gateway để biết đường đi như route qua interface Ethernet thông thường.
Câu 3: B Blackhole Route dự phòng ngăn traffic hướng tới LAN chi nhánh bị fallback sang route khác (như default route ra Internet) khi route chính qua tunnel biến mất do tunnel down.
Câu 4: B Vì tunnel interface được FortiGate coi như một interface thông thường, áp dụng đầy đủ nguyên tắc srcintf/dstintf— cần một Policy cho chiều đi vào tunnel và một Policy cho chiều đi ra từ tunnel.
Câu 5: B psksecret (Pre-shared Key) phải giống hệt tuyệt đối ở cả hai đầu; chỉ cần lệch một ký tự, quá trình xác thực Phase 1 sẽ thất bại ngay lập tức.
🚀 Thực Hành Ngay: Cấu hình Site-to-Site IPsec VPN trên FortiGate
📚 Bài viết thuộc khóa học FortiGate của VNExperts
🧭 Điều hướng
| ⬅️ Bài trước | 🏠 Mục lục khóa học | Bài kế tiếp ➡️ |
|---|---|---|
| Khái niệm VPN & IPSec Phase 1/Phase 2 | Mục lục khóa học FortiGate | Route-based vs Policy-based IPSec: so sánh và khi nào dùng |
