By Manny Fernandez

March 23, 2023

Fortinet SD WAN Packet Duplication

Fortinet dominates the SD WAN space.  I have worked with many SD WAN solutions as well as WAN OP solutions.  In my opinion, Fortinet is very intuitive and offers the most bang for your buck.  SD WAN is included in all FortiGate firewalls.  That means that you can turn it on as a feature without additional licensing.

Although, I will do a deep-dive into SD WAN in the coming weeks, this post is specifically on the packet duplication feature.

What this feature will do is, if not already obvious, is duplicate the packets on all members of the SD WAN Zone.  The perfect use case for this is Voice.  What will happen is that the FortiGate on the far end, will use the packets from either SD WAN Zone members to reassemble the packets and send them to their destination.  Feature was introdcuced in FortiOS version 6.4.3

config system sdwan
     config duplication
         edit 1
            set srcaddr "%ADDRESS-GROUP%"
            set dstaddr "all"
            set srcintf "%VLAN-or-INTERFACE%"
            set dstintf "%SDWAN-ZONE-NAME%"
            set service "ALL"
            set packet-duplication force
            set packet-de-duplication enable
     next
end
service-id SD-WAN service rule ID list.
srcaddr Source address or address group names.
dstaddr Destination address or address group names.
srcaddr6 Source address6 or address6 group names.
dstaddr6 Destination address6 or address6 group names.
srcintf Incoming (ingress) interfaces or zones.
dstintf Outgoing (egress) interfaces or zones.
service Service and service group name.
packet-duplication Configure packet duplication method.
packet-de-duplication Enable/disable discarding of packets that have been duplicated.

When you enable duplication, you can validate it by running a simple

diag sniffer packet any ‘host ip address ‘ 4 l 0

In the output, you can see the packets being duplicated across multiple VPNs I have set up for this SD WAN.

In the screenshot below, we can see that the ID numbers are different on each interface as should be expected, but the sequence number is identical.  This aids in the re-assembly of the packet on the other side.

Debug Flow provided by my colleague Omar Ortiz

Hope this helps

Leave a comment

Your email address will not be published. Required fields are marked *

Recent posts