Hello Jose
Just to clarify, this is a topology and a deployment of the network with which I don’t have direct hands-on experience. However, I can offer some suggestions or share thoughts that may help point you in the right direction for troubleshooting and a resolution.
It looks like this has to do with the following SD-WAN limitation: centralized control policies work perfectly for transit traffic, but don’t apply to locally-originated traffic on the same router hosting the service.
Your centralized control policy correctly inserts:
- netsvc2 (FW OUTSIDE) for OMP routes toward Untrusted sites over public colors
- netsvc1 (FW INSIDE) for OMP routes from Untrusted sites over public colors toward trusted sites
This works for all remote sites because their traffic transits through the DC edge, which performs FIB lookups on OMP routes with service attributes.
However, when traffic originates from the DC router itself, the service-insertion logic doesn’t apply the same way. The DC router has the OMP routes with service attributes in its database, but locally-originated traffic doesn’t hairpin through the firewall based on those attributes. It goes directly out of the WAN interface. Am I describing it correctly so far?
The result is that outbound packets bypass FW INSIDE, but return packets hit FW OUTSIDE (due to netsvc2 on the Untrusted site), creating asymmetry and firewall drops.
To resolve this, several approaches can be used. However, I suggest focusing on creating a separate service node for the DC LAN. This way, you can keep your existing service site as is, where the firewall resides, but ensure that you have no user or LAN subnets behind it. Create a second site that has a separate SD-WAN edge (with a different site ID or physical device from the service site) and treat it as a trusted site in your centralized policy.
If you want to avoid creating a separate edge node and you need to use the same hardware, you can use a VPN separation approach, where you create an additional VPN on the same edge hardware and introduce route leaking between VPNs. But be aware that with this solution, the fundamental issue remains: you cannot easily say “route prefix X via firewall when using public color, but direct when using MPLS” within a single routing table. The VPN separation approach requires either:
- Different prefixes for FW-required vs MPLS-only destinations, OR
- Additional VPNs (e.g., VPN 30 for MPLS-only with direct routes), OR
- Complex policy-based routing (version-specific and difficult to scale and maintain)
For a cleaner solution, the creation of a separate node is the best. Some Cisco resources that may be helpful can be found at this site containing a series of SD-WAN design guides.
Let us know how you get along, and if we can help you any further in a particular direction…
I hope this has been helpful!
Laz