An Azure service that delivers high availability and network performance to applications.
Hey Dimitrov, Todor! From what you’ve described, this looks very consistent with an asymmetric routing / stateful-NAT ownership problem.
Azure Load Balancer maintains connection state and ensures return traffic flows back through the load balancer for flows involving the load balancer. But when you try to reuse the same public IP for firewall SNAT outbound, the return path can end up not matching the original flow path/state (especially if routing to the “public IP” is still tied to the load balancer as the effective next hop).
So your suspicion is on the right track: return traffic could be going back to the load balancer instead of passing through the firewall where the SNAT state exists, causing the firewall to drop/don’t have the expected session context.
What to try / recommendations (from the provided docs)
- Make sure traffic symmetry is preserved (especially for stateful firewall behavior). Avoid designs where:
- inbound uses one path (LB → firewall → DNAT), but
- return uses another path that bypasses the firewall/NAT state.
- Don’t rely on “shared public IP ownership” between LB and firewall for outbound unless the routing is explicitly aligned for return.
- The docs for integrating Azure Firewall with a public load balancer call out asymmetric routing scenarios where return goes via a different hop and a stateful firewall drops the packet.
- Use a routing workaround by adding a specific route for the firewall public IP (if you’re in the “firewall with public IP + public load balancer” style of pattern).
- The firewall/LB integration guidance explains that asymmetric routing can occur due to default routes sending return through the firewall’s private IP; the fix is to add a specific route for the firewall’s public IP so return goes the correct way.
- If you’re using a NAT Gateway on the firewall subnet, ensure routing precedence and NSG allowance:
- The “Integrate Azure Firewall with Azure Standard Load Balancer” doc notes that when NAT Gateway is associated, it can take precedence over firewall public IP behavior, and you may need an appropriate route for the return path using the NAT Gateway public IP, plus allow it in NSG rules.
- Validate return path behavior with packet capture / effective routes
- For NVA-style troubleshooting, Microsoft guidance recommends packet capture comparisons on the “trusted” side vs “untrusted” side and checking effective routes on the return path systems.
Kindly let us know if the above helps or you need further assistance on this issue.
If the answer is helpful, kindly upvote it. If you have extra questions about this answer, please click "Comment".