Loading...

SD-WAN nâng cao trên FortiGate — Multiple Internet, Failover thực tế và Lowest Cost SLA

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

Chi nhánh mới của khách hàng anh Nam đang phụ trách có 3 đường internet: 1 cáp quang FPT tốc độ cao làm đường chính, 1 đường Viettel dự phòng, và 1 sim 4G/5G chỉ dùng khi cả hai đường dây đều đứt — vì cước 4G tính theo dung lượng, dùng thường xuyên sẽ rất tốn kém.

Anh Nam đã cấu hình SD-WAN cơ bản theo đúng bài học trước (SD-WAN: khái niệm, Performance SLA), nhưng khi demo cho khách hàng, anh phát hiện traffic vẫn thỉnh thoảng đi qua đường 4G dù cả 2 đường dây chính vẫn còn sống — chỉ là đường FPT đang bị lag nhẹ.

"Đây là lỗi thường gặp khi mới học SD-WAN," chị Lan giải thích. "SLA chỉ xét health-check đơn giản, nhưng nếu không thiết lập đúng chiến lược chọn đường (SD-WAN Rule Strategy) và không đánh dấu rõ đường nào 'chỉ dùng khi cùng đường', hệ thống sẽ chọn theo tiêu chí quality thuần túy — có thể đẩy traffic sang 4G chỉ vì latency thấp hơn một chút, dù đó là đường đắt tiền nhất."

Bài này chúng ta đi sâu vào các chiến lược SD-WAN nâng cao: ưu tiên chi phí, failover có kiểm soát, và cách kiểm tra thực tế khi đường dây rớt.


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

2.1 Ba chiến lược chọn đường trong SD-WAN Rule

FortiOS cung cấp 3 chiến lược (strategy) khi tạo SD-WAN Rule, mỗi chiến lược phù hợp một mục tiêu khác nhau:

Chiến lượcCLI strategyKhi nào dùng
Manual manual Chỉ định cứng thứ tự ưu tiên đường, không quan tâm SLA — dùng khi biết rõ đường nào luôn ưu tiên
Best Quality lowest-cost-sla (khi có SLA target) hoặc latency/jitter/packet-loss Tự động chọn đường đạt SLA có chi phí thấp nhất trong nhóm đạt chuẩn
Maximize Bandwidth / Load Balancing load-balance Chia tải round-robin giữa các đường cùng đạt SLA, tối ưu băng thông tổng

Với tình huống của anh Nam — ưu tiên FPT, dự phòng Viettel, chỉ dùng 4G khi cả hai đứt — đây chính xác là use case của chiến lược Lowest Cost (SLA), phối hợp với gán giá trị cost cho từng thành viên SD-WAN Zone.

2.2 Cấu hình SD-WAN Zone với 3 thành viên và cost

config system sdwan
    set status enable
    config zone
        edit "virtual-wan-link"
        next
    end
    config members
        edit 1
            set interface "wan1"
            set zone "virtual-wan-link"
            set gateway 203.0.113.1
            set cost 0
        next
        edit 2
            set interface "wan2"
            set zone "virtual-wan-link"
            set gateway 198.51.100.1
            set cost 5
        next
        edit 3
            set interface "modem4g"
            set zone "virtual-wan-link"
            set gateway 10.10.10.1
            set cost 50
        next
    end
end

cost càng thấp càng được ưu tiên khi cùng đạt SLA. wan1 (FPT) cost 0, wan2 (Viettel) cost 5, modem4g cost 50 — đảm bảo 4G chỉ được chọn khi cả hai đường kia đều fail SLA.

2.3 Performance SLA — Health Check phải phản ánh đúng chất lượng thực tế

config system sdwan
    config health-check
        edit "internet-sla"
            set server "8.8.8.8" "1.1.1.1"
            set protocol ping
            set interval 500
            set failtime 3
            set recoverytime 5
            config sla
                edit 1
                    set latency-threshold 150
                    set jitter-threshold 30
                    set packetloss-threshold 3
                next
            end
            set members 1 2 3
        next
    end
end
  • failtime 3: cần 3 lần probe liên tiếp thất bại mới coi là link down — tránh false positive khi mạng chỉ giật nhẹ tức thời.
  • recoverytime 5: cần 5 lần probe liên tiếp thành công mới coi link đã hồi phục — tránh hiện tượng "flapping" (link liên tục on/off khiến traffic nhảy qua lại gây gián đoạn).

⚠️ Lưu ý: Nên dùng ít nhất 2 server đích để health-check (ví dụ 8.8.8.8 và 1.1.1.1), vì nếu chỉ dùng 1 server và chính server đó tạm thời không phản hồi (không phải do link chết), FortiGate sẽ đánh giá sai là link down toàn bộ.

2.4 SD-WAN Rule dùng Lowest Cost (SLA)

config system sdwan
    config service
        edit 1
            set name "Default-LowestCost"
            set mode sla
            config sla
                edit "internet-sla"
                    set id 1
                next
            end
            set priority-members 1 2 3
            set dst "all"
            set src "all"
        next
    end
end

priority-members 1 2 3 khai báo thứ tự ưu tiên: FortiGate sẽ luôn chọn wan1 nếu đạt SLA, nếu wan1 fail thì chuyển sang wan2, chỉ dùng modem4g khi cả hai đều fail — đúng với cost đã gán ở mục 2.2.

2.5 Kiểm tra thực tế: diagnose sys sdwan

Khi cần xác minh SD-WAN đang chọn đường nào cho một service cụ thể, không nên chỉ nhìn GUI mà nên đối chiếu CLI:

diagnose sys sdwan service

Lệnh này in ra trạng thái từng service, thành viên nào đang "alive", "dead", và thành viên nào đang "selected" — tương tự cách chúng ta đã dùng diagnose sys session list để kiểm tra session ở bài Session table, việc đọc trực tiếp trạng thái runtime luôn đáng tin hơn suy đoán từ cấu hình tĩnh.

Để xem chi tiết health-check đang đo được gì (latency/jitter/packet loss theo thời gian thực):

diagnose sys sdwan health-check status <tên health-check>

🔄 Khác biệt version FortiOS: Từ FortiOS 7.4.1 trở đi, chiến lược "Maximize Bandwidth (SLA)" trước đây được đổi tên thành "Load Balancing" và có thể áp dụng cả trong chế độ Manual lẫn Lowest Cost (SLA) — cần lưu ý khi đối chiếu tài liệu cũ hơn 7.4.1, tên gọi và vị trí cấu hình trên GUI có thể khác.

2.6 Failover thực tế: những sai lầm thường gặp

  • Không cấu hình đủ 2 server health-check → dễ bị false positive như đã nói ở mục 2.3.
  • Đặt failtime/recoverytime quá thấp (ví dụ 1) → gây flapping, traffic nhảy qua lại liên tục giữa các đường khi mạng chỉ giật nhẹ.
  • Không gán cost hợp lý → dùng chiến lược Lowest Cost nhưng để cost bằng nhau ở mọi thành viên, khiến hệ thống chọn ngẫu nhiên hoặc theo tiêu chí không như kỳ vọng.
  • Quên cấu hình firewall policy trỏ đúng SD-WAN Zone — SD-WAN Rule chỉ định tuyến, còn việc traffic có được phép đi qua zone đó hay không vẫn phải qua firewall policy như bình thường, đúng nguyên tắc đã học ở Firewall Policy.

3. Hỏi & Đáp

Vì sao traffic vẫn đôi lúc đi qua đường dự phòng dù đường chính chưa chết hẳn?

Thường do failtime/recoverytime đặt quá nhạy (số lần probe quá thấp), khiến FortiGate phản ứng với những đợt giật mạng ngắn hạn như thể link đã chết. Nên tăng failtime lên 3-5 lần probe liên tiếp để lọc nhiễu.

Chiến lược Lowest Cost (SLA) và Manual khác nhau thế nào về mặt failover?

Manual chỉ dựa vào thứ tự ưu tiên đã khai báo cứng, không xét SLA — nếu đường ưu tiên số 1 vẫn "up" về mặt link nhưng chất lượng tệ (packet loss cao) thì Manual vẫn tiếp tục dùng nó. Lowest Cost (SLA) xét cả cost lẫn việc đường đó có đạt ngưỡng SLA hay không, nên phản ứng đúng với chất lượng thực tế hơn.

Có thể dùng nhiều SD-WAN Rule cho các loại traffic khác nhau không?

Có. Ví dụ traffic voice/video có thể có rule riêng với SLA nghiêm ngặt hơn (latency/jitter thấp), trong khi traffic duyệt web thông thường dùng rule khác lỏng hơn — miễn là các rule không chồng chéo phạm vi src/dst/service.


4. Quiz

Câu 1: Tham số nào trong SD-WAN Member dùng để ưu tiên đường có chi phí thấp hơn khi dùng chiến lược Lowest Cost (SLA)?

  • A. priority
  • B. cost
  • C. distance
  • D. weight

Câu 2: Vì sao nên dùng ít nhất 2 server trong cấu hình health-check?

  • A. Để tăng tốc độ probe
  • B. Để tránh đánh giá sai link down khi chỉ một server đích tạm thời không phản hồi
  • C. Vì FortiOS bắt buộc tối thiểu 2 server
  • D. Để giảm tải CPU

Câu 3: Hiện tượng "flapping" trong SD-WAN xảy ra khi nào?

  • A. Khi failtime/recoverytime đặt quá nhạy khiến traffic nhảy qua lại liên tục giữa các đường
  • B. Khi cấu hình sai IP gateway
  • C. Khi dùng chiến lược Manual
  • D. Khi chỉ có 1 thành viên trong SD-WAN Zone

Câu 4: Lệnh CLI nào dùng để kiểm tra SD-WAN đang chọn đường nào cho một service cụ thể tại thời điểm hiện tại?

  • A. get system status
  • B. diagnose sys sdwan service
  • C. diagnose sys session list
  • D. get router info routing-table all

👉 Đáp án

Câu 1: B cost là tham số gán chi phí cho từng thành viên SD-WAN, dùng làm tiêu chí phụ khi nhiều đường cùng đạt SLA trong chiến lược Lowest Cost.

Câu 2: B Nếu chỉ dùng 1 server đích và server đó gặp sự cố riêng (không liên quan đến chất lượng link), FortiGate có thể hiểu nhầm là toàn bộ link đã chết, gây failover sai.

Câu 3: A Flapping xảy ra khi ngưỡng phát hiện lỗi/phục hồi quá nhạy, khiến hệ thống liên tục đổi trạng thái link qua lại dù chất lượng mạng chỉ dao động nhẹ trong thời gian ngắn.

Câu 4: B diagnose sys sdwan service hiển thị trạng thái runtime của từng SD-WAN service, bao gồm thành viên nào đang "alive"/"dead" và đang được chọn.


📚 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 ➡️
Zero Trust Network Access (ZTNA) Mục lục khóa học FortiGate Multi-tenant / MSSP scenario với VDOM