FortiGate
FortiGate Next Generation Firewall utilizes purpose-built security processors and threat intelligence security services from FortiGuard labs to deliver top-rated protection and high performance, including encrypted traffic.
luisedopicari
Article Id 370892
Description

This article describes how FortiGate can be configured with a 'Lowest Cost' strategy and when no member meets the SLA, the traffic is routed by the member with the best quality.
FortiGate prefers the member that meets the configured SLA target. If multiple members meet the SLA target, member cost, followed by the configuration order, are used as tie-breakers.

Order of member selection:

  1. Meets the SLA.
  2. Member cost.
  3. Configuration order.

The challenge with the Lowest Cost configuration arises when no members meet the SLA. In such cases, traffic is routed according to the previous selection order, which might result in choosing a member with the worst quality among all available members. To address this, when all members fail to meet the SLA target, traffic should be routed through the member with the best quality. The following explains how to configure and resolve this challenge.

Scope Fortigate 7.4.5 Build 2702.
Solution

Configuration:

Layer 3 Topology:


luisedopicari_0-1737125424310.png

 

SD-WAN Topology:


luisedopicari_1-1737125454225.png

 

Create configuration of the Performance SLA.
CLI:

 

config system sdwan

    config health-check

        edit "1HC_HUB"

            set server "10.0.0.254"

            set members 3 4

            config sla

                edit 1

                    set link-cost-factor latency

                    set latency-threshold 100

                next

            end

        next

    end

end

 

GUI: Go to Network -> SD-WAN -> Performance SLAs -> Create New.

 

luisedopicari_2-1737125454228.png

 

 

Create configuration of the SD-WAN rule with Lowest Cost strategy.

CLI:

config system sdwan

    config service

        edit 1

            set name "ALL_TRAFFIC"

            set mode sla

            set minimum-sla-meet-members 1

            set dst "all"

            set src "all"

            config sla

                edit "1HC_HUB"

                    set id 1

                next

            end

            set priority-members 3 4

        next

    end

end

 

The parameter 'set minimum-sla-meet-members' defines the minimum number of members that must meet at least one of the SLA targets configured in a rule, so the rule remains active. If the number of members that meet the SLA is below the minimum threshold, the rule is disabled and skipped during the rule matching stage.

Create an SD-WAN rule with the Best Quality strategy.

 

CLI:

 

config system sdwan

    config service

        edit 2

            set name "ALL_BEST_OVERLAY"

            set mode priority

            set dst "all"

            set src "all"

            set health-check "1HC_HUB"

            set priority-members 3 4

        next

    end

end

 

GUI: Go to Network -> SD-WAN -> SD-WAN Rules -> Create New.

 

luisedopicari_3-1737125454230.png

 

With the above configuration, there are two SD-WAN rules. When the first rule (Lowest Cost) is active but none of its members meet the SLA, the Lowest Cost rule is disabled and skipped. As a result, traffic flows to the next SD-WAN rule, 'Best Quality.' This rule selects the member with the best link quality, even if it does not meet the SLA.

Testing

For the first rule, 'ALL_TRAFFIC', all members meet the SLA and have the same cost. Member '1VPN' is selected by the configuration order. The traffic is routed by the first SD-WAN rule by the member 1VPN.

 

luisedopicari_0-1737125754459.png


For the second rule, 'ALL_BEST_OVERLAY', the member with the best quality is '2VPN':

  • 1VPN: 61.05 ms (Latency).
  • 2VPN: 31.13 ms (Latency).
luisedopicari_1-1737125773105.png

 

The 'HOST 10.7.0.7' opens an SSH session to 'SERVER 10.10.0.11'.

 

luisedopicari_2-1737125773108.png
The SSH session match SD-WAN rule 1, CLI command output:

 

diagnose sys sdwan service

 

luisedopicari_0-1737125834672.png

 

diagnose sys session list

 

luisedopicari_1-1737125834674.png

 

The delay of both members will increase to the point of not meeting the SLA:

  • 1VPN: 161.44 ms (Latency).
  • 2VPN: 131.13 ms (Latency).

luisedopicari_2-1737125952433.png

 

The first SD-WAN rule (Lowest Cost) is disabled:

 

luisedopicari_0-1737126008226.png

 

After the SD-WAN rule (Lowest Cost) is disabled, the SSH session will be routed to the next rule, 'ALL_BEST_OVERLAY.' Since member "2VPN" has the best quality, the SSH session remains active and supports the change without losing the connection:luisedopicari_1-1737126038220.png
luisedopicari_2-1737126038223.png

 

If some member meets the SLA, the first SD-WAN rule is reactivated and the session is back to the SD-WAN rule:

 

luisedopicari_0-1737126084207.png

 

During all testing, the SSH session remains active at all times.