Loading...

IKEv2 trên FortiGate

1. Liên hệ thực tế

Đối tác mới của công ty yêu cầu dựng VPN với thiết bị của họ, gửi kèm tài liệu ghi rõ: "Chỉ hỗ trợ IKEv2, không tương thích IKEv1." Anh Nam nhớ lại ở các bài trước toàn dùng set ike-version 2 như một dòng lệnh quen tay, nhưng chưa thực sự hiểu tại sao đôi khi cần chỉ định rõ, và khác biệt gì so với để mặc định.

Chị Lan giải thích: "IKEv1 là phiên bản cũ, ra đời từ cuối thập niên 90 — vẫn hoạt động tốt nhưng có một số hạn chế mà IKEv2 sinh ra để khắc phục. Đối tác của công ty đòi hỏi IKEv2 chắc vì lý do bảo mật hoặc để hỗ trợ tính năng nào đó mà IKEv1 không có."

Bài này đi sâu vào IKEv2 — điểm khác biệt so với IKEv1, và các tính năng riêng chỉ IKEv2 mới hỗ trợ.


2. Kiến thức cốt lõi

2.1 IKEv2 đơn giản hóa quá trình thương lượng Phase 1

So với IKEv1 vốn có tới hai chế độ Phase 1 (Main Mode 6 gói tin, hoặc Aggressive Mode 3 gói tin đánh đổi bảo mật lấy tốc độ), IKEv2 hợp nhất thành một quy trình duy nhất chỉ cần 4 gói tin (2 cặp request/response) để hoàn tất — không còn phân biệt Main hay Aggressive.

IKEv1 vs IKEv2: Số Gói Tin Trao Đổi Ở Phase 1 IKEv1 Main Mode: 6 gói tin Aggressive Mode: 3 gói tin • Xác thực người dùng: XAUTH • Chọn Main hoặc Aggressive • Không có NAT-T mặc định sẵn Hỗ trợ cả Route/Policy-based IKEv2 Chỉ 4 gói tin duy nhất (2 cặp request/response) ✓ Xác thực người dùng: EAP ✓ Không phân biệt Main/Aggressive ✓ Hỗ trợ MOBIKE, built-in NAT-T Chỉ dùng được với Route-based

config vpn ipsec phase1-interface
    edit "vpn-doi-tac-ikev2"
        set type static
        set interface "wan1"
        set ike-version 2
        set remote-gw 203.0.113.20
        set authmethod psk
        set psksecret "MatKhauManhCanKy2024!"
        set proposal aes256gcm-prfsha384
        set dhgrp 21
    next
end

⚠️ Lưu ý (nhắc lại từ bài Route-based vs Policy-based): IKEv2 chỉ khả dụng khi tạo VPN dạng Route-based — Policy-based mặc định luôn dùng IKEv1, không có tùy chọn đổi sang IKEv2.

2.2 EAP thay thế XAUTH — xác thực người dùng kiểu mới

Với IPsec dialup (VPN cho người dùng di động, sẽ học kỹ ở bài sau), IKEv1 dùng XAUTH (Extended Authentication)để xác thực từng người dùng sau khi Phase 1 cơ bản hoàn tất. IKEv2 thay thế bằng EAP (Extensible Authentication Protocol) — một khung xác thực mở, linh hoạt hơn, hỗ trợ nhiều phương thức con khác nhau (EAP-TTLS, EAP-MSCHAPv2...) và tích hợp tốt hơn với các hệ thống xác thực doanh nghiệp hiện đại.

config vpn ipsec phase1-interface
    edit "vpn-dialup-ikev2"
        set type dynamic
        set interface "wan1"
        set ike-version 2
        set peertype any
        set net-device disable
        set mode-cfg enable
        set eap enable
        set eap-identity send-request
        set authusrgrp "VPN-Users"
        set proposal aes256gcm-prfsha384
        set dhgrp 21
    next
end

⚠️ Lưu ý: Theo tài liệu Fortinet, để xác thực người dùng qua LDAP kết hợp IKEv2, bắt buộc phải dùng EAP-TTLS — đây là phương thức EAP duy nhất tương thích với LDAP trong ngữ cảnh IPsec IKEv2 trên FortiOS, và yêu cầu phiên bản FortiClient/FortiClient EMS đủ mới để hỗ trợ.

2.3 MOBIKE — duy trì tunnel khi đổi mạng

MOBIKE (Mobility and Multihoming Protocol) là tính năng riêng của IKEv2, cho phép một tunnel VPN duy trì phiên kết nối dù thiết bị đầu cuối đổi địa chỉ IP nguồn (ví dụ laptop chuyển từ WiFi văn phòng sang mạng 4G khi di chuyển) — không cần tái thương lượng lại toàn bộ Phase 1/Phase 2 từ đầu.

⚠️ Lưu ý: MOBIKE đặc biệt hữu ích cho user dùng FortiClient trên thiết bị di động thường xuyên chuyển đổi giữa WiFi và mạng di động — nếu không có MOBIKE, mỗi lần đổi mạng có thể khiến tunnel bị rớt và phải kết nối lại từ đầu.

2.4 IKE Fragmentation — xử lý gói tin quá khổ

Khi Phase 1 dùng chứng chỉ số lớn (certificate-based authentication) hoặc pre-shared key rất dài, gói tin IKE có thể vượt quá MTU tiêu chuẩn, dễ bị các thiết bị mạng trung gian (router, firewall khác) chặn hoặc phân mảnh sai cách khiến tunnel không lên được.

config vpn ipsec phase1-interface
    edit "vpn-doi-tac-ikev2"
        ...
        set fragmentation enable
        set fragmentation-mtu 1200
    next
end

IKE Fragmentation (theo RFC 7383, riêng cho IKEv2) chủ động chia nhỏ gói tin IKE trước khi mã hóa, mỗi fragment được mã hóa và xác thực độc lập — khác với phân mảnh IP thông thường ở tầng thấp hơn, tránh được tình trạng gói tin bị chặn giữa đường do kích thước quá lớn.

⚠️ Lưu ý: IKE Fragmentation được bật mặc định trên các phiên bản FortiOS gần đây. Nếu tunnel không lên được và nghi ngờ do gói tin IKE quá lớn (thường liên quan chứng chỉ certificate-based dài), đây là tham số đầu tiên nên kiểm tra.

2.5 Quick Crash Detection (QCD) — phát hiện nhanh khi đối tác khởi động lại

QCD (theo RFC 6290, dành riêng cho IKEv2) giúp một bên phát hiện nhanh khi bên kia bị khởi động lại hoặc mất trạng thái IKE đột ngột — thay vì phải đợi hết thời gian timeout thông thường mới nhận ra tunnel đã chết, QCD cho phép gửi thông báo INVALID_IKE_SPI/INVALID_SPI không được bảo vệ ngay khi phát hiện gói tin không khớp SPI đã biết, giúp rút ngắn đáng kể thời gian phát hiện sự cố và tái thiết lập tunnel.

2.6 Bảng tổng hợp các tính năng riêng của IKEv2

Tính năngMô tảLợi ích
Đơn giản hóa Phase 1 Chỉ 4 gói tin, không phân biệt Main/Aggressive Thương lượng nhanh hơn
EAP Thay thế XAUTH, hỗ trợ nhiều phương thức con Tích hợp tốt với hệ thống xác thực hiện đại
MOBIKE Duy trì tunnel khi đổi địa chỉ IP nguồn Ổn định hơn cho thiết bị di động
IKE Fragmentation Chia nhỏ gói tin IKE trước khi mã hóa Tránh gói tin bị chặn do quá khổ
QCD Phát hiện nhanh đối tác restart Rút ngắn thời gian downtime

3. Hỏi & Đáp

Có nên luôn dùng IKEv2 cho mọi VPN mới không?

Có, đây là khuyến nghị chung — trừ khi thiết bị đối tác đầu kia chỉ hỗ trợ IKEv1 (một số thiết bị VPN đời cũ), nên ưu tiên IKEv2 cho mọi triển khai mới nhờ quy trình thương lượng đơn giản hơn và các tính năng bổ sung như MOBIKE, QCD.

Nếu không rõ đối tác hỗ trợ IKE version nào, nên làm gì?

Nên trao đổi trực tiếp với đội kỹ thuật phía đối tác để xác nhận trước khi cấu hình — cố gắng đoán hoặc thử cả hai phiên bản dễ dẫn tới lãng phí thời gian debug khi tunnel không lên được do lệch phiên bản IKE giữa hai đầu.

EAP-TTLS khác gì so với các phương thức EAP khác?

EAP-TTLS (Tunneled Transport Layer Security) tạo một kênh TLS bên trong trước khi trao đổi thông tin xác thực thực tế, giúp bảo vệ thông tin đăng nhập ngay cả khi phương thức xác thực bên trong yếu hơn — đây là lý do nó được yêu cầu bắt buộc khi tích hợp LDAP với IKEv2 trên FortiOS, đảm bảo thông tin đăng nhập LDAP không bị lộ trong quá trình trao đổi.

MOBIKE có cần cấu hình gì đặc biệt trên FortiGate không?

Về cơ bản MOBIKE đi kèm sẵn khi dùng IKEv2, không cần một tham số bật/tắt riêng biệt phức tạp — tuy nhiên khả năng tận dụng đầy đủ MOBIKE còn phụ thuộc vào việc thiết bị đầu client (như FortiClient) có hỗ trợ và bật tính năng tương ứng ở phía đó hay không.


4. Quiz

Câu 1: IKEv2 rút gọn quá trình thương lượng Phase 1 xuống còn bao nhiêu gói tin?

  • A. 6 gói tin (Main Mode)
  • B. 3 gói tin (Aggressive Mode)
  • C. 4 gói tin (2 cặp request/response)
  • D. Không cố định, tùy cấu hình

Câu 2: IKEv2 chỉ khả dụng khi tạo VPN dạng nào trên FortiGate?

  • A. Policy-based
  • B. Route-based
  • C. Cả hai như nhau
  • D. Không liên quan tới kiểu VPN

Câu 3: Phương thức nào thay thế XAUTH để xác thực người dùng trong IKEv2?

  • A. PAP
  • B. EAP
  • C. CHAP
  • D. Kerberos

Câu 4: MOBIKE cho phép điều gì xảy ra mà không cần tái thương lượng lại toàn bộ tunnel?

  • A. Đổi thuật toán mã hóa giữa chừng
  • B. Thiết bị đầu cuối đổi địa chỉ IP nguồn (ví dụ chuyển từ WiFi sang 4G) mà tunnel vẫn duy trì
  • C. Tăng băng thông tunnel tự động
  • D. Chuyển từ Route-based sang Policy-based

Câu 5: Để xác thực người dùng qua LDAP kết hợp IKEv2 trên FortiOS, phương thức EAP nào bắt buộc phải dùng?

  • A. EAP-MD5
  • B. EAP-TTLS
  • C. EAP-TLS
  • D. Không hỗ trợ LDAP với IKEv2

👉 Đáp án

Câu 1: C IKEv2 hợp nhất quá trình thương lượng Phase 1 chỉ còn 4 gói tin (2 cặp request/response), không còn phân biệt Main Mode hay Aggressive Mode như IKEv1.

Câu 2: B IKEv2 chỉ khả dụng với VPN dạng Route-based trên FortiGate; Policy-based mặc định luôn dùng IKEv1, không có tùy chọn đổi sang IKEv2.

Câu 3: B EAP (Extensible Authentication Protocol) thay thế XAUTH trong IKEv2, hỗ trợ nhiều phương thức con linh hoạt hơn để xác thực người dùng.

Câu 4: B MOBIKE cho phép tunnel duy trì phiên kết nối dù thiết bị đầu cuối đổi địa chỉ IP nguồn, không cần tái thương lượng lại toàn bộ Phase 1/Phase 2 từ đầu.

Câu 5: B Theo tài liệu Fortinet, EAP-TTLS là phương thức bắt buộc để xác thực người dùng qua LDAP khi kết hợp với IKEv2 trên FortiOS.


📚 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ọcBài kế tiếp ➡️
Route-based vs Policy-based IPSec: so sánh và khi nào dùng Mục lục khóa học FortiGate IPSec VPN qua Dynamic IP (Dialup)