Sau vài ngày nghỉ xả hơi, hôm nay mình quay lại nghiên cứu tiếp pfSense với bài viết [Phần 10] của series pfSense Lab: Cấu hình Load Balancing & Failover.
Mục Lục:
I. Load Balancing và Failover là gì?
1. Load Balancing
Trong hệ thống mạng, Load Balancing (cân bằng tải) là tính năng giúp gộp băng thông 2 hay nhiều đường truyền WAN để nâng cao tốc độ và sự ổn định cho mạng LAN.
Ví dụ: WAN 1 có tốc độ 3Mbps và WAN 2 có tốc độ 7Mbps. Khi thiết lập Load Balancing, băng thông sẽ được gộp lại thành 10Mbps.
Khi một trong hai đường truyền WAN mất kết nối, hệ thống sẽ tự động chuyển qua sử dùng đường truyền còn lại.
2. Failover là gì?
Failover (chế độ dự phòng) là tính năng thiết lập mạng WAN dự phòng cho mạng WAN chính. Khi mạng WAN chính gặp trục trặc, router sẽ tự động chuyển qua sử dụng mạng dự phòng để giúp kết nối không bị gián đoạn.
Ví dụ: WAN 1 có tốc độ 7Mbps và WAN 2 có tốc độ 3Mbps. Với thiết lập Failover: WAN 1 là mạng chính và WAN 2 làm mạng dự phòng, hệ thống chỉ sử dụng đường truyền của WAN 1 – 7Mbps. Khi WAN 1 mất kết nối, WAN 2 sẽ được kích hoạt thay thế.
Failover thường được sử dụng trong trường hợp bạn chỉ muốn sử dụng mạng WAN dự phòng trong trường hợp bất khả kháng. Ví dụ: chỉ dùng mạng WAN 4G khi mạng FTTH ở nhà gặp trục trặc.
II. Thiết lập hệ thống mạng
Để thực hiện Load Balancing và Failover trên pfSense, yêu cầu pfSense phải có ít nhất 3 card mạng: 2 WAN và 1 LAN. Mình thiết lập hệ thống mạng ảo như dưới đây để thực hiện nghiên cứu
Quy trình thiết lập như sau:
- Tạo 3 máy ảo pfSense sử dụng phương pháp clone (tạo bản sao) máy ảo trên Hyper-V.
- 2 máy ảo pfSense đóng vai trò làm ISP ảo cung cấp kết nối WAN 1 và WAN 2
- 1 máy ảo pfSense đóng vai trò làm Router chính sẽ được thiết lập Load Balancing và Failover.
- Giới hạn băng thông: 70Mbps cho WAN 1
10.0.0.0/24
và 30Mbps cho WAN 2172.27.0.0/24
(Xem hướng dẫn: pfSense Lab – [Phần 9] Cấu hình giới hạn băng thông mạng LAN) - Tạo 3 Private Switch để kết nối các máy ảo lại với nhau.
Thao tác cấu hình Load Balancing và Failover sẽ được thực hiện trên pfSense trung tâm nằm ngay giữa sơ đồ.
III. Cấu hình Load Balancing
Trước khi cấu hình Load Balancing, bạn cần phải hoàn thành việc thiết lập các cổng mạng WAN Interface và LAN Interface trên pfSense. Xem hướng dẫn bên dưới
1. Tạo Gateway Groups
Truy cập vào mục Gateway Groups: Bấm vào mục Routing trong Menu System, sau đó chọn qua tab Gateway Groups.
Bấm vào nút Add để tạo mới Gateway Group
- Group Name: Load_Balancer
- Gateway Priority: Chọn Tier 1 cho cả hai WAN.
- Trigger Level: Member Down
- Description: Dual Wan Load Balancer.
Mục Gateway Priority sẽ quyết định Gateway Group của bạn hoạt động dưới chế độ Load Balancing hay Failover:
- Hai WAN được set cùng Tier 1: chế độ Load Balancing, hai đường truyền sẽ được sử dụng đồng thời.
- Nếu hai WAN được set Tier khác nhau: ví dụ WAN 1 – Tier 1 & WAN 2 – Tier 2, chỉ WAN 1 sẽ được sử dụng cho đường truyền chính. Khi WAN 1 mất kết nối, WAN 2 sẽ được sử dụng.
Sau khi nhập thông số, bấm Save. Sau đó bấm thêm Apply Changes để xác nhận.
2. Thiết lập Monitor IP
Để pfSense nhận biết được WAN có mất kết nối Internet không, cần phải thiết lập Monitor IP cho từng Gateway. Mình sẽ sử dụng 2 Public IP sau đây để theo dõi hai cổng WAN
- WAN 1:
8.8.8.8
(DNS của Google) - WAN 2:
208.67.222.222
(DNS của OpenDNS)
Quay lại tab Gateways, bấm vào biểu tượng bút chì để chỉnh sửa thông số
Kéo xuống phần Monitor IP: nhập vào 8.8.8.8
và bấm Save
Lập lại thao tác tương tự cho WAN 2.
3. Điều chỉnh Firewall Rule
Để sử dụng Gateway Group cho mạng LAN, chúng ta cần phải điều chỉnh lại Firewall Rule của pfSense.
Truy cập vào mục Rules từ Menu Firewall, chọn qua tab LAN. Bấm vào biểu tượng bút chì để thay đổi thông số cho Rule mặc định “Default allow LAN to any rule“
Kéo xuống dưới cùng, bấm vào nút Display Advanced để hiện ra các thông số nâng cao.
Mục Gateway: chọn Load_BLancer – Dual WAN Load Balancer. Sau đó bấm Save
Bấm tiếp Apply Changes để kích hoạt thay đổi.
4. Thực nghiệm Load Balancing
Mình sử dụng dịch vụ Speedtest.vn để kiểm tra băng thông mạng trên máy ảo WIndows 10 nằm trong mạng LAN của pfSense.
a. Trước khi kích hoạt Load Balancing
Trước khi kích hoạt Load Balanching, pfSense chỉ sử dụng đường truyền từ WAN 1 (30Mbps). Kiểm tra Speedtest ra kết quả tương ứng.
b. Sau khi kích hoạt Load Balancing
Sau khi kích hoạt, băng thông của WAN 1 (30Mbps) và WAN 2 (70Mbps) được gộp lại. Speedtest ra được 100Mbps. Ngon lành!
c. WAN 1 mất kết nối
Như đã chia sẻ ở đầu bài, chế độ Load Balancing mặc định sẽ hoạt động như một giải pháp Failover khi 1 trong 2 cổng WAN mất kết nối.
Mình kiểm tra thử bằng cách vào mục Interfaces trong Menu Status, sau đó bấm Release WAN1 để ngắt kết nối WAN 1.
Lúc này pfSense chỉ còn sử dụng đường truyền WAN 2 (70Mbps). Kiểm tra Speedtest cho ra tốc độ đúng như thông số.
IV. Cấu hình Failover
Thao tác cấu hình Failover gần như y hệt cấu hình Load Balancing. Khác biệt duy nhất là ở mục thiết lập thông số Gateway Priority khi tạo Gateway Group.
- WAN 1: Tier 1
- WAN 2: Tier 2
WAN 1 sẽ được sử dụng làm đường truyền chính, WAN 2 để dự phòng và chỉ được sử dụng khi WAN 1 mất kết nối.
Thac tác 2-3-4 thao tác y hệt như mục Cấu hình Load Balancing ở trên nên mình sẽ không nhắ lại.
V. Tổng kết
Thông thường với hệ thống mạng Dual-WAN, bạn nên thiết lập 3 Gateway Groups:
- Load Balance: Gateways của WAN1 và WAN2 cùng Tier 1
- PreferWAN1: Gateway của WAN1: Tier 1 và WAN2: Tier 2
- PreferWAN2: Gateway for WAN1: Tier và WAN2: Tier 1
Tuỳ theo nhu cầu sử dụng mà bạn chọn Gateway Group tương ứng. Ví dụ:
- LAN: dùng Load Balancing
- VLAN 10: Dùng Failover WAN1
- VLAN 20: Dùng Failover WAN2
Chúc các bạn thành công!