Danh mục sản phẩm
IPSec VPN qua Dynamic IP (Dialup) trên FortiGate
1. Liên hệ thực tế
Chi nhánh mới của công ty dùng đường Internet cáp đồng (ADSL) giá rẻ, địa chỉ IP công cộng thay đổi mỗi khi modem khởi động lại — khác hẳn hai bài trước, nơi cả hai đầu tunnel đều có IP tĩnh cố định (remote-gw xác định trước).
Anh Nam băn khoăn: "Nếu IP chi nhánh cứ đổi liên tục, làm sao trụ sở chính biết remote-gw là gì để cấu hình Phase 1?"
Chị Lan: "Đây chính là lúc cần Dialup VPN — phía trụ sở chính (đóng vai trò 'hub') không cần biết trước IP của chi nhánh, chỉ cần chờ chi nhánh chủ động kết nối tới và xác thực đúng bằng pre-shared key hoặc certificate. Đây cũng chính là cách VPN cho nhân viên dùng FortiClient hoạt động — laptop nhân viên đâu có IP cố định."
Bài này hướng dẫn dựng IPsec VPN Dialup — dùng cho cả trường hợp chi nhánh có IP động lẫn user cá nhân qua FortiClient.
💡 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 Dialup VPN là gì
Dialup VPN (hay gọi là VPN dynamic) cho phép nhiều peer có địa chỉ IP không cố định kết nối tới một FortiGate đóng vai trò hub có địa chỉ IP tĩnh — khác với Site-to-Site (bài 38) nơi cả hai đầu đều biết trước IP nhau.
2.2 Cấu hình phía Hub (FortiGate trụ sở chính)
Kịch bản 1 — Site-to-Site với chi nhánh IP động (peer cũng là FortiGate, cùng subnet cố định):
config vpn ipsec phase1-interface
edit "vpn-chinhanh-b"
set type dynamic
set interface "wan1"
set peertype any
set authmethod psk
set psksecret "MatKhauManhCanKy2024!"
set proposal aes256gcm-prfsha384
set dhgrp 21
set net-device enable
set add-route disable
set dpd on-idle
next
end
config vpn ipsec phase2-interface
edit "vpn-chinhanh-b-p2"
set phase1name "vpn-chinhanh-b"
set proposal aes256gcm
set pfs enable
set dhgrp 21
set src-subnet 10.1.0.0 255.255.0.0
set dst-subnet 10.3.0.0 255.255.0.0
next
end
Kịch bản 2 — Dialup cho FortiClient (nhiều user cá nhân, không biết trước subnet, cần xác thực theo user/group):
config vpn ipsec phase1-interface
edit "vpn-forticlient-dialup"
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
set ipv4-start-ip 10.9.9.1
set ipv4-end-ip 10.9.9.100
set ipv4-netmask 255.255.255.0
set dns-mode auto
next
end
config vpn ipsec phase2-interface
edit "vpn-forticlient-dialup-p2"
set phase1name "vpn-forticlient-dialup"
set proposal aes256gcm
set pfs enable
set dhgrp 21
next
end
⚠️ Lưu ý: Với
set type dynamic, tham sốremote-gwkhông được khai — vì đúng bản chất, FortiGate không biết trước IP của peer, chỉ chờ kết nối tới và xác thực bằngpsksecret/authusrgrpkhớp đúng.
2.3 Peertype — kiểm soát ai được phép kết nối vào Hub
Tham số peertype quyết định cách Hub xác định danh tính peer được chấp nhận:
peertype any— chấp nhận bất kỳ peer nào xác thực đúng thông tin (PSK/certificate), phổ biến nhất cho dialup đơn giản.peertype one— chỉ chấp nhận đúng một peer cụ thể (theo certificate CN hoặc PSK riêng).peertype dialup— dùng khi cần nhóm nhiều peer theopeerid, mỗi peer có PSK riêng biệt thay vì dùng chung một PSK cho tất cả.
2.4 Mode-cfg — cấp phát địa chỉ IP ảo cho client
Mode-cfg (đã thấy trong ví dụ Kịch bản 2) cho phép Hub cấp phát địa chỉ IP ảo từ một dải định sẵn cho mỗi client kết nối vào — tương tự DHCP nhưng dành riêng cho phiên VPN. Đây là cơ chế bắt buộc khi dùng net-device disable (không tạo route vật lý riêng cho từng peer), phù hợp cho số lượng lớn user di động không cố định.
config firewall address
edit "VPN-Client-Pool"
set type iprange
set start-ip 10.9.9.1
set end-ip 10.9.9.100
next
end
⚠️ Lưu ý:
net-device enable(Kịch bản 1, dùng cho Site-to-Site IP động) tự động thêm IPsec peer route khi tunnel thương lượng thành công — khác với route thông thường, loại route này gắn liền với phiên tunnel hiện tại và tự động cập nhật khi peer đổi IP, không cần khai static route thủ công riêng.
2.5 DPD (Dead Peer Detection) — quan trọng hơn với Dialup
DPD đã nhắc sơ ở các bài trước, nhưng với Dialup càng quan trọng hơn vì peer có thể biến mất bất cứ lúc nào (mất kết nối Internet, tắt máy đột ngột) mà không có cơ chế thông báo chính thức nào cho Hub biết:
config vpn ipsec phase1-interface
edit "vpn-forticlient-dialup"
...
set dpd on-idle
set dpd-retrycount 3
set dpd-retryinterval 20
next
end
dpd on-idle chỉ gửi gói kiểm tra khi không có traffic thực tế trong một khoảng thời gian — tiết kiệm tài nguyên hơn so với dpd on-demand (kiểm tra ngay khi gửi traffic) trong môi trường có nhiều tunnel dialup đồng thời.
3. Hỏi & Đáp
Một Hub có thể phục vụ đồng thời cả Site-to-Site (chi nhánh IP động) và Dialup cho FortiClient không?
Có — đây là kịch bản rất phổ biến. Chỉ cần tạo hai phase1-interface riêng biệt (mỗi loại một cấu hình phù hợp như Kịch bản 1 và 2 ở trên), Hub xử lý độc lập từng loại kết nối dựa trên thông tin xác thực khác nhau.
Vì sao Dialup Site-to-Site dùng net-device enable còn Dialup FortiClient dùng net-device disable?
net-device enable phù hợp khi peer là một thiết bị mạng khác (như FortiGate chi nhánh) có toàn bộ subnet phía sau cần route tới — tự động tạo peer route cho cả dải mạng. net-device disable kết hợp mode-cfg enable phù hợp khi peer là một client đơn lẻ (laptop nhân viên) chỉ cần chính nó có một địa chỉ IP ảo để giao tiếp, không đại diện cho cả một subnet phía sau.
Nếu hai chi nhánh IP động dùng chung một Hub nhưng có subnet trùng nhau thì sao?
Đây là vấn đề thực tế cần tránh từ khâu thiết kế mạng — subnet trùng nhau giữa các chi nhánh dial-up gây xung đột routing trên Hub, không phân biệt được traffic thuộc tunnel nào. Cần thiết kế IP addressing plan rõ ràng, đảm bảo mỗi chi nhánh có dải subnet không trùng lặp trước khi triển khai VPN.
PSK dùng chung cho toàn bộ Dialup Hub có an toàn không?
Về lý thuyết vẫn hoạt động (peertype any với một PSK chung), nhưng kém an toàn hơn — nếu PSK bị lộ, bất kỳ ai cũng giả mạo được một trong các peer. Với môi trường cần bảo mật cao hơn, nên cân nhắc peertype dialup (mỗi peer PSK riêng) hoặc chuyển hẳn sang xác thực bằng certificate.
4. Quiz
Câu 1: Tham số nào KHÔNG được khai khi cấu hình Phase 1 dạng set type dynamic?
- A.
psksecret - B.
remote-gw - C.
proposal - D.
interface
Câu 2: peertype any trong cấu hình Dialup VPN có ý nghĩa gì?
- A. Chỉ chấp nhận đúng một peer cụ thể
- B. Chấp nhận bất kỳ peer nào xác thực đúng thông tin cấu hình
- C. Từ chối mọi kết nối
- D. Chỉ áp dụng cho IPv6
Câu 3: Mode-cfg trong Dialup VPN dùng để làm gì?
- A. Mã hóa traffic mạnh hơn
- B. Cấp phát địa chỉ IP ảo cho mỗi client kết nối vào, tương tự DHCP cho phiên VPN
- C. Thay thế hoàn toàn Phase 2
- D. Chỉ dùng cho Site-to-Site VPN
Câu 4: Vì sao Site-to-Site Dialup (chi nhánh IP động) thường dùng net-device enable, còn Dialup cho FortiClient dùng net-device disable?
- A. Không có sự khác biệt, chỉ là thói quen cấu hình
- B.
net-device enablephù hợp khi peer đại diện cho cả một subnet phía sau;disablephù hợp khi peer chỉ là 1 client đơn lẻ - C.
net-device enablechỉ dùng được với IKEv1 - D.
net-device disablekhông hỗ trợ mã hóa
Câu 5: DPD trong Dialup VPN quan trọng hơn Site-to-Site tĩnh vì lý do nào?
- A. Vì Dialup không hỗ trợ mã hóa mạnh
- B. Vì peer có IP động có thể biến mất bất cứ lúc nào mà không có thông báo chính thức, cần chủ động kiểm tra
- C. Vì DPD chỉ hoạt động với Dialup, không hoạt động với Site-to-Site
- D. Không có sự khác biệt về tầm quan trọng
👉 Đáp án
Câu 1: B remote-gw không được khai khi dùng set type dynamic, vì bản chất Hub không biết trước địa chỉ IP của peer sẽ kết nối tới.
Câu 2: B peertype any chấp nhận bất kỳ peer nào xác thực đúng thông tin đã cấu hình (PSK hoặc certificate), phù hợp cho dialup đơn giản với nhiều peer.
Câu 3: B Mode-cfg cấp phát địa chỉ IP ảo từ một dải định sẵn cho mỗi client kết nối vào, hoạt động tương tự DHCP nhưng dành riêng cho phiên VPN.
Câu 4: B net-device enable phù hợp khi peer là một thiết bị đại diện cho cả subnet phía sau (như FortiGate chi nhánh); net-device disable kết hợp mode-cfg phù hợp khi peer chỉ là một client đơn lẻ cần một địa chỉ IP ảo.
Câu 5: B Với Dialup, peer có IP động có thể mất kết nối bất cứ lúc nào (tắt máy, mất mạng) mà không có cơ chế thông báo chính thức, nên DPD đóng vai trò quan trọng để Hub chủ động phát hiện tunnel đã chết.
🚀 Thực Hành Ngay: Cấu hình IPsec VPN Dialup (Dynamic IP) 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 ➡️ |
|---|---|---|
| IKEv2 trên FortiGate | Mục lục khóa học FortiGate | IPsec Hardware Offload: tăng tốc bằng NP |
