FortiGate SD-WAN Rule không chạy đúng: traffic đi sai WAN và cách xử lý
FortiGate SD-WAN Rule không chạy đúng: traffic đi sai WAN và cách xử lý
Đã cấu hình SD-WAN Rule trên FortiGate nhưng traffic vẫn đi sai WAN, rule không có hit count, failover không chạy hoặc FortiGate không chọn đúng member? Bài viết này hướng dẫn cách kiểm tra theo hướng thực chiến: từ rule order, route, SLA, policy, session đến các lệnh CLI cần dùng.
Khi FortiGate có nhiều đường Internet, SD-WAN Rule là thành phần quan trọng để điều hướng traffic theo nhu cầu thực tế. Ví dụ: traffic Internet thông thường đi WAN1, Microsoft 365 đi WAN ổn định hơn, camera đi leased line, VPN đi tunnel chính và failover sang tunnel phụ khi có sự cố.
Tuy nhiên, trong thực tế triển khai, không ít trường hợp cấu hình nhìn có vẻ đúng nhưng FortiGate vẫn không chọn đúng đường. Lúc này, không nên chỉnh thử nhiều rule cùng lúc, mà cần kiểm tra từng lớp: Rule → Route → SLA → Policy → Session.
Tình huống thường gặp
- Đã tạo rule ưu tiên WAN1 nhưng traffic vẫn đi WAN2.
- Rule mới tạo không có hit count.
- Traffic không match vào SD-WAN Rule mong muốn.
- WAN vẫn có Internet nhưng FortiGate không chọn member đó.
- SD-WAN failover không chuyển đường khi WAN chính lỗi.
- Đã sửa rule nhưng traffic vẫn đi theo đường cũ.
Bản chất vấn đề
SD-WAN Rule không hoạt động độc lập. Để traffic đi đúng WAN, FortiGate cần đồng thời có: rule match đúng, route hợp lệ, member đạt SLA, firewall policy cho phép và session mới được tạo đúng đường.
Vì vậy, khi traffic đi sai WAN, cần kiểm tra theo quy trình thay vì chỉ nhìn vào giao diện SD-WAN Rule trong GUI.
Luồng kiểm tra khi SD-WAN Rule không chạy đúng
Trước khi đi vào từng nguyên nhân chi tiết, anh/chị có thể xem nhanh các bước kiểm tra chính dưới đây để hình dung thứ tự xử lý khi gặp lỗi traffic đi sai WAN.
Kiểm tra rule order
Đảm bảo traffic không bị match nhầm vào rule tổng quát phía trên.
Kiểm tra source / destination / service
Xác nhận traffic thật sự khớp điều kiện của SD-WAN Rule.
Kiểm tra routing table
SD-WAN Rule cần có route hợp lệ đến destination mới hoạt động đúng.
Kiểm tra Performance SLA
Member có thể bị loại khỏi lựa chọn nếu không đạt SLA.
Kiểm tra firewall policy
Traffic phải được policy cho phép đúng source, destination, service và zone.
Kiểm tra session cũ
Session cũ có thể vẫn giữ đường đi trước đó dù rule đã được chỉnh lại.
1. Hiểu đúng vai trò của SD-WAN Rule
SD-WAN Rule không thay thế toàn bộ routing trên FortiGate. SD-WAN Rule dùng để điều hướng traffic qua các SD-WAN member dựa trên điều kiện như source, destination, service, application, Internet Service Database hoặc Performance SLA.
Nhưng để rule hoạt động, FortiGate vẫn cần có route phù hợp đến destination. Nếu routing table không có route đến đích tương ứng, SD-WAN Rule có thể không trigger như mong muốn.
Điểm dễ nhầm
Có SD-WAN Rule không có nghĩa là traffic chắc chắn sẽ đi đúng. Traffic phải match rule, có route hợp lệ, được firewall policy cho phép và member được chọn phải đáp ứng điều kiện hoạt động.
Ví dụ
- Bạn tạo rule cho traffic đi đến remote subnet
10.25.0.0/20. - Nhưng FortiGate không có route đến subnet này qua SD-WAN Zone tương ứng.
- Khi đó traffic có thể không match rule như mong muốn, hoặc bị xử lý theo route/rule khác.
2. SD-WAN Rule đặt sai thứ tự
SD-WAN Rule xử lý theo thứ tự từ trên xuống dưới. Nếu một rule rộng hơn nằm phía trên, traffic có thể bị match vào rule đó trước khi tới rule cụ thể bên dưới.
Ví dụ lỗi thường gặp
- Rule
Internet-Allnằm trên cùng, destination làall. - Rule
Microsoft-365-WAN1nằm bên dưới. - Traffic Microsoft 365 match vào rule
Internet-Alltrước. - Kết quả là traffic không đi theo rule riêng cho Microsoft 365.
Cách xử lý:
- Đưa rule cụ thể lên trên rule tổng quát.
- Rule cho VPN, Microsoft 365, server, camera, ERP nên đặt trước rule Internet all-to-all.
- Rule càng cụ thể thì nên đặt càng cao.
- Rule tổng quát nên để phía dưới cùng.
| Ưu tiên 1 | Rule cho traffic VPN site-to-site |
| Ưu tiên 2 | Rule cho Microsoft 365 / Teams / Outlook |
| Ưu tiên 3 | Rule cho server, camera, ERP hoặc dịch vụ đặc biệt |
| Ưu tiên 4 | Rule cho VLAN cần đi WAN riêng |
| Cuối cùng | Rule Internet chung cho toàn bộ user |
3. Source, destination hoặc service trong rule chưa đúng
Một SD-WAN Rule chỉ chạy khi traffic match đúng điều kiện. Nếu source, destination hoặc service khai báo sai, rule sẽ không có hit count hoặc traffic sẽ match rule khác.
Sai source subnet
Source chọn nhầm VLAN hoặc address object không đúng IP client đang test.
Sai destination
Destination object sai subnet, sai mask hoặc không còn phù hợp với hệ thống hiện tại.
Thiếu service
Rule chỉ cho HTTP/HTTPS nhưng traffic thực tế còn dùng DNS, UDP, QUIC hoặc port khác.
ISDB chưa match
Rule theo Internet Service Database nhưng traffic chưa được nhận diện đúng dịch vụ.
Ví dụ thực tế
Bạn muốn traffic từ VLAN kế toán 192.168.20.0/24 đi WAN2, nhưng trong rule lại chọn source là 192.168.30.0/24.
Kết quả là rule nhìn có vẻ đúng, WAN2 vẫn up, policy vẫn cho phép, nhưng traffic thật từ VLAN kế toán không bao giờ match rule này.
Cách kiểm tra:
- Xác định đúng IP máy client đang test.
- Xác định đúng destination IP, domain hoặc service.
- Kiểm tra address object trong FortiGate.
- Kiểm tra rule đang dùng
allhay object cụ thể. - Kiểm tra hit count của SD-WAN Rule.
- Test bằng một traffic rõ ràng như ping, truy cập web hoặc kết nối đến một IP cụ thể.
4. Chưa có route đến destination nên rule không trigger
Đây là lỗi rất quan trọng. SD-WAN Rule không thể hoạt động đúng nếu FortiGate không có route đến destination trong routing table.
Ví dụ
Bạn tạo SD-WAN Rule cho traffic đi đến remote subnet 10.25.0.0/20, nhưng trong routing table không có route đến subnet này qua SD-WAN Zone hoặc interface phù hợp. Khi đó FortiGate không có đường định tuyến hợp lệ để xử lý traffic theo rule mong muốn.
Cách kiểm tra route:
get router info routing-table allHoặc kiểm tra route đến một IP cụ thể:
get router info routing-table details <destination_ip>Ví dụ:
get router info routing-table details 10.25.12.10Cần kiểm tra:
- Có route đến destination không?
- Route đang đi qua interface nào?
- Route có đi qua SD-WAN Zone không?
- Có route nào ưu tiên cao hơn đang ảnh hưởng không?
- Default route có đang làm traffic đi sai hướng không?
5. Performance SLA làm member bị loại
Một lỗi rất hay gặp là WAN vẫn ra Internet được, nhưng SD-WAN Rule không chọn WAN đó. Nguyên nhân có thể đến từ Performance SLA.
Trong SD-WAN, một member có thể đang up về mặt interface, nhưng nếu không đạt SLA thì FortiGate có thể không chọn member đó cho rule.
Ví dụ
- WAN1 vẫn truy cập Internet được.
- Nhưng SLA ping đến
8.8.8.8bị timeout hoặc packet loss cao. - Rule đang dùng Best Quality hoặc Lowest Cost SLA.
- FortiGate đánh giá WAN1 không đạt SLA.
- Traffic bị chuyển sang WAN2.
Các nguyên nhân làm SLA down:
Cách kiểm tra SLA:
diagnose sys sdwan health-checkCần xem các chỉ số:
6. Traffic match nhầm rule do interface down hoặc SLA fail
Có trường hợp cùng một loại traffic nhưng FortiGate có thể match vào rule khác ở thời điểm khác nhau. Lý do thường gặp là interface trong rule bị down, member không đạt SLA hoặc rule phía trên không còn member phù hợp.
Tình huống dễ gây hiểu nhầm
- Rule 1: traffic từ VLAN camera đi WAN1.
- WAN1 bị fail SLA.
- Rule 1 không còn member phù hợp.
- Traffic tiếp tục match xuống Rule 2 là Internet all-to-all.
- Kết quả traffic camera đi WAN2.
Về mặt vận hành, khách hàng sẽ thấy: “Không ai đổi cấu hình nhưng traffic tự nhiên đi WAN khác”.
Cách xử lý:
- Kiểm tra health-check của từng member.
- Kiểm tra rule order.
- Tránh để rule all-to-all quá rộng nằm gần phía trên.
- Với traffic bắt buộc chỉ được đi một nhóm member nhất định, cần thiết kế rule và failover rõ ràng.
- Nếu không muốn traffic rơi xuống rule khác, cần xem lại cách tổ chức SD-WAN Rule.
7. Policy Route hoặc Static Route đang ảnh hưởng
Trong một số hệ thống đã chạy lâu, FortiGate có thể tồn tại nhiều cấu hình cũ như static route riêng cho từng WAN, policy route ép traffic đi một interface cụ thể, hoặc route tạm từng dùng để xử lý sự cố.
Những cấu hình này có thể khiến traffic không đi theo kỳ vọng của SD-WAN Rule.
Ví dụ
SD-WAN Rule muốn traffic từ VLAN user đi WAN1, nhưng policy route cũ đang ép traffic từ VLAN đó đi WAN2. Kết quả là SD-WAN Rule nhìn đúng nhưng traffic vẫn đi WAN2.
Cách kiểm tra:
show router policyget router info routing-table alldiagnose firewall proute listCần kiểm tra:
- Có policy route nào đang match traffic không?
- Có static route cụ thể nào ưu tiên hơn không?
- Route đến destination đang đi interface nào?
- Traffic có bị ép ra interface không thuộc SD-WAN Rule không?
8. Firewall Policy chưa đúng hoặc match nhầm policy
SD-WAN Rule điều khiển đường đi, nhưng traffic vẫn cần được firewall policy cho phép. Một lỗi hay gặp là chỉ kiểm tra SD-WAN Rule mà quên kiểm tra firewall policy.
Thiếu policy
Policy từ LAN/VLAN ra SD-WAN Zone chưa có hoặc chưa đúng zone.
Match nhầm policy
Policy khác nằm phía trên có thể match traffic trước policy mong muốn.
Service chưa đủ
Policy chỉ cho một số port, trong khi traffic thực tế dùng protocol khác.
Security profile block
Traffic được route đúng nhưng bị chặn bởi Web Filter, App Control hoặc IPS.
Lệnh debug flow cơ bản:
diagnose debug reset
diagnose debug flow filter clear
diagnose debug flow filter addr <client_ip>
diagnose debug flow show function-name enable
diagnose debug console timestamp enable
diagnose debug flow trace start 100
diagnose debug enableSau khi test xong, nhớ tắt debug:
diagnose debug disable
diagnose debug resetLưu ý khi debug
Không nên bật debug quá rộng trên hệ thống đang có nhiều traffic. Nên filter theo IP client hoặc destination cụ thể để tránh log quá nhiều và khó đọc.
9. Session cũ vẫn giữ đường đi trước đó
Một tình huống rất thực tế là đã sửa SD-WAN Rule, đổi thứ tự rule, đổi SLA hoặc đổi route, nhưng traffic vẫn đi theo WAN cũ. Nguyên nhân có thể là session cũ chưa timeout.
FortiGate là stateful firewall. Khi một session đã được tạo, FortiGate có thể tiếp tục xử lý session đó theo thông tin đã có, thay vì áp dụng ngay rule mới cho session đang tồn tại.
Cách kiểm tra session:
diagnose sys session filter clear
diagnose sys session filter src <client_ip>
diagnose sys session listVí dụ:
diagnose sys session filter clear
diagnose sys session filter src 192.168.20.10
diagnose sys session listNếu cần clear session theo filter:
diagnose sys session clear10. Các lệnh CLI cần dùng khi SD-WAN Rule không chạy đúng
Kiểm tra SD-WAN member
diagnose sys sdwan memberKiểm tra interface nào là member, member có up không, gateway là gì và thuộc zone nào.
Kiểm tra SD-WAN service / rule
diagnose sys sdwan serviceKiểm tra rule, source/destination, member được chọn và mode hoạt động.
Kiểm tra service IPv4 / IPv6
diagnose sys sdwan service4
diagnose sys sdwan service6Dùng trên một số phiên bản FortiOS mới hơn để kiểm tra rule theo IPv4/IPv6.
Kiểm tra Performance SLA
diagnose sys sdwan health-checkXem member alive/dead, packet loss, latency, jitter và SLA map.
Kiểm tra policy route do SD-WAN tạo
diagnose firewall proute listKiểm tra SD-WAN Rule ở mức policy route và đối chiếu với debug flow.
Kiểm tra route đến destination
get router info routing-table details <destination_ip>Xác nhận FortiGate có route đến đích và route đó đang đi qua interface/zone nào.
Kiểm tra session cụ thể
diagnose sys session filter clear
diagnose sys session filter src <client_ip>
diagnose sys session listXem session hiện tại đang đi ra interface nào và có còn giữ đường cũ không.
Debug flow theo traffic cụ thể
diagnose debug flow filter addr <client_ip>
diagnose debug flow trace start 100
diagnose debug enableDùng để xác định traffic match policy nào, route nào và bị xử lý ra sao.
11. Quy trình kiểm tra khi khách báo traffic đi sai WAN
Xác định traffic thật đang test
Cần biết IP máy client, VLAN, destination, service, mong muốn đi WAN nào và thực tế đang đi WAN nào.
Kiểm tra SD-WAN Rule order
Xem rule cụ thể có nằm trên rule tổng quát không, rule có enable không và có hit count không.
Kiểm tra source / destination / service
Đảm bảo address object, ISDB, FQDN hoặc service trong rule khớp với traffic thực tế.
Kiểm tra route
Nếu không có route hợp lệ đến destination, cần xử lý route trước khi kết luận SD-WAN Rule lỗi.
Kiểm tra SLA
Nếu member không đạt SLA, FortiGate có thể không chọn member đó dù interface vẫn up.
Kiểm tra firewall policy
Xác nhận policy từ LAN/VLAN ra SD-WAN Zone đã có, đúng source/destination/service và không bị policy khác match trước.
Kiểm tra proute và debug flow
Dùng diagnose firewall proute list và debug flow để xác định traffic match rule nào, policy nào và đi interface nào.
Kiểm tra session cũ
Nếu đã chỉnh rule nhưng traffic vẫn sai, kiểm tra session cũ và clear có kiểm soát nếu cần test lại.
12. Troubleshooting theo từng tình huống
Rule mới tạo không có hit count
Nguyên nhân có thể:
- Rule nằm dưới rule khác rộng hơn.
- Source, destination hoặc service sai.
- Traffic không đi qua SD-WAN Zone.
- Không có route đến destination.
- Client đang test không thuộc source trong rule.
Cách xử lý:
- Đưa rule cụ thể lên cao hơn.
- Test bằng source IP cụ thể.
- Dùng destination IP rõ ràng.
- Kiểm tra route đến destination.
- Clear session nếu cần test lại.
Traffic vẫn đi WAN2 dù rule ưu tiên WAN1
Nguyên nhân có thể:
- WAN1 không đạt SLA.
- WAN1 interface down hoặc gateway lỗi.
- Rule đang dùng Best Quality hoặc Lowest Cost SLA.
- Rule Manual chưa chọn đúng member order.
- Session cũ vẫn giữ WAN2.
- Policy route đang ép traffic đi WAN2.
Cách xử lý:
- Kiểm tra
diagnose sys sdwan health-check. - Kiểm tra member trong
diagnose sys sdwan service. - Kiểm tra policy route.
- Kiểm tra session.
- Test lại bằng traffic mới sau khi clear session có kiểm soát.
Failover không chạy khi WAN chính lỗi
Nguyên nhân có thể:
- SLA target chưa cấu hình đúng.
- Health-check không phát hiện lỗi thật.
- WAN down nhưng gateway vẫn reachable.
- Rule không dùng SLA đúng.
- Member phụ không nằm trong rule.
- Route hoặc gateway của member phụ chưa đúng.
Cách xử lý:
- Kiểm tra health-check.
- Test rút WAN hoặc mô phỏng lỗi đúng cách.
- Kiểm tra rule strategy.
- Kiểm tra member list trong rule.
- Kiểm tra route của WAN phụ.
- Kiểm tra policy từ LAN ra SD-WAN Zone.
Microsoft 365 / Teams / Outlook đi nhiều WAN và hay bắt xác thực lại
Nguyên nhân có thể:
- Traffic SaaS bị load-balance qua nhiều WAN.
- IP public thay đổi giữa các session.
- Rule Microsoft 365 chưa tách riêng.
- ISDB/FQDN chưa match đúng.
- Session cũ vẫn tồn tại khi đổi rule.
- Conditional Access hoặc MFA đánh giá đăng nhập bất thường.
Cách xử lý:
- Tránh load-balance tùy tiện cho traffic xác thực quan trọng.
- Cân nhắc ép Microsoft 365 đi một WAN ổn định.
- Tạo SD-WAN Rule riêng cho Microsoft 365.
- Đặt rule này phía trên rule Internet chung.
- Kiểm tra session và test lại.
VPN đi sai tunnel trong SD-WAN
Nguyên nhân có thể:
- Rule VPN nằm dưới rule Internet all-to-all.
- Destination remote subnet chưa đúng.
- Route đến remote subnet chưa qua VPN Zone.
- SLA của tunnel chính bị down.
- Tunnel phụ được chọn do tunnel chính không đạt SLA.
- Session cũ vẫn giữ tunnel cũ.
Cách xử lý:
- Đưa rule VPN lên trên rule Internet.
- Kiểm tra route đến remote subnet.
- Kiểm tra health-check của VPN tunnel.
- Kiểm tra
diagnose sys sdwan service. - Kiểm tra
diagnose firewall proute list. - Clear session có kiểm soát khi test failover.
13. Checklist trước khi chỉnh SD-WAN Rule
- FortiGate đang chạy FortiOS phiên bản nào?
- SD-WAN có bao nhiêu zone?
- WAN nào là member của zone nào?
- Rule đang dùng strategy nào?
- Rule cần xử lý đang nằm ở vị trí nào?
- Rule phía trên có quá rộng không?
- Source, destination và service đã đúng chưa?
- Có dùng ISDB hoặc application control không?
- Có route đến destination không?
- Có policy route cũ không?
- Performance SLA có đang up không?
- Firewall policy có cho phép traffic không?
- Có session cũ cần clear không?
- Đã backup config trước khi chỉnh chưa?
14. Câu hỏi thường gặp
Vì sao tạo SD-WAN Rule rồi nhưng traffic vẫn không match?
Nguyên nhân thường gặp là rule order sai, source/destination/service không khớp, không có route đến destination, hoặc traffic đã match vào rule khác phía trên. Cần kiểm tra hit count của rule, routing table, firewall policy và dùng CLI để xác nhận traffic thực tế.
WAN vẫn có Internet nhưng FortiGate không chọn WAN đó, vì sao?
Có thể WAN đó không đạt Performance SLA. Interface có thể vẫn up, người dùng có thể vẫn truy cập Internet, nhưng nếu SLA target fail hoặc vượt ngưỡng packet loss, latency, jitter, FortiGate có thể loại member đó khỏi lựa chọn của rule.
Đã sửa SD-WAN Rule nhưng traffic vẫn đi đường cũ, vì sao?
Có thể do session cũ vẫn tồn tại. FortiGate là stateful firewall, nên một session đã tạo trước đó có thể tiếp tục giữ đường đi cũ cho đến khi timeout hoặc bị clear. Nên kiểm tra session theo source/destination cụ thể trước khi clear.
Có nên clear toàn bộ session khi test SD-WAN không?
Không nên clear toàn bộ session trên hệ thống production nếu không thật sự cần. Việc này có thể ảnh hưởng đến người dùng đang truy cập, VPN, camera, ERP hoặc các ứng dụng đang hoạt động. Nên filter đúng IP hoặc traffic cần test rồi clear có kiểm soát.
SD-WAN Rule và Policy Route khác nhau thế nào?
SD-WAN Rule dùng để điều hướng traffic qua các SD-WAN member theo rule, SLA hoặc strategy. Policy Route dùng để ép traffic đi theo điều kiện định tuyến cụ thể. Trong hệ thống có cả SD-WAN Rule và policy route, cần kiểm tra kỹ để tránh traffic bị điều hướng ngoài ý muốn.
Rule Internet all-to-all nên đặt ở đâu?
Rule Internet tổng quát nên đặt phía dưới các rule cụ thể. Các rule cho VPN, Microsoft 365, server, VLAN đặc biệt hoặc dịch vụ quan trọng nên đặt phía trên để tránh bị match nhầm.
Traffic đi sai WAN thường không chỉ do một rule bị sai
Lỗi FortiGate SD-WAN Rule không chạy đúng thường không nằm ở một điểm duy nhất. Traffic đi sai WAN có thể đến từ rule order, source/destination sai, thiếu route, SLA fail, policy route cũ, firewall policy chưa đúng hoặc session cũ chưa timeout.
Khi xử lý, nên đi theo thứ tự:
- Xác định traffic thật đang test.
- Kiểm tra SD-WAN Rule order.
- Kiểm tra source, destination và service.
- Kiểm tra route đến destination.
- Kiểm tra Performance SLA.
- Kiểm tra firewall policy.
- Kiểm tra policy route nếu có.
- Kiểm tra session cũ.
- Dùng CLI để xác nhận rule, proute và debug flow.
- Test lại bằng traffic mới sau khi đã khoanh vùng nguyên nhân.
Cần kiểm tra lỗi SD-WAN Rule, traffic đi sai WAN hoặc failover không chạy?
Doanh nghiệp của anh/chị đang gặp tình trạng FortiGate SD-WAN Rule không chạy đúng, traffic đi sai WAN, failover không hoạt động, hoặc Performance SLA báo down dù Internet vẫn chạy?
NAMHI có thể hỗ trợ kiểm tra mô hình SD-WAN, rà soát route, policy, SLA, session và đề xuất phương án cấu hình phù hợp với hệ thống thực tế.
/file/media/uploads/article/ftg.jpg)
/file/media/uploads/article/cover.png)
/file/media/uploads/wan-fortigate.png)
/file/media/uploads/network-interface.jpg)
/file/media/uploads/firewall-policy.jpg)
/file/media/uploads/web-filter.jpg)
/file/media/uploads/app-control.png)
/file/media/uploads/antivirus.jpg)
/file/media/uploads/ssl-inspection.png)
/file/media/uploads/vpn-client-to-site.jpg)
/file/media/uploads/ipsec-vpn.jpg)
/file/media/uploads/ha.jpg)