Hi community, i used to face the same issu (i think)
i were using several blade (license sandblast)
having acces control security rules and url/application rules in the same customized policy security Layer.
well the PBR_ rules are matched and the trafic never uses the PBR related policies and it takes the main routing table.
what i have done (helped by claude) :
Ordered Layers
This is the design specifically intended for this exact use case, and it represents the architectural conclusion of the entire ABR implementation.
Layer 1 – Network (Existing, Simplified)
The first layer should contain only pure Layer 3/Layer 4 network rules, including:
- Standard network security rules
- The PBR_ rules
- The Cleanup rule
The objective is that the very first packet always receives a definitive match within this layer.
This guarantees that the ABR/PBR routing mark is applied immediately and consistently, before any application or URL inspection occurs. As a result, policy-based routing operates reliably for all traffic.
Layer 2 – Application / URL Filtering
The second ordered layer should contain:
- The Application Control & URL Filtering rules
- The category-based Drop rule (e.g., Adult/Sex, Gambling, etc.)
- A final Accept Any rule
This final Accept rule is mandatory because, with Ordered Layers, a connection must be accepted by every layer in order to proceed. Without a final Accept rule, any traffic that does not explicitly match another rule in this layer would be implicitly dropped.
The resulting packet flow is therefore:
- The connection matches a Network rule in Layer 1.
- The ABR/PBR mark is immediately assigned.
- Routing decisions are made using the correct policy-based route.
- A few packets later, once the TLS SNI, HTTP Host header, or URL category has been identified, Layer 2 evaluates the application and URL policy.
- If the traffic matches a blocked category, it is dropped.
- Otherwise, it reaches the final Accept rule and is allowed.
This architecture provides both correct policy-based routing and application/URL filtering for all users.
SmartConsole Implementation
In Access Control Policy:
- Open Manage Layers.
- Create a new Ordered Layer.
- Enable the Application Control & URL Filtering blades for this layer.
- Move all category-based blocking rules (Adult, Gambling, etc.) into this new layer.
- Add a final Accept Any rule at the bottom of the layer.
- Install the Access Policy.
This design ensures that ABR/PBR decisions are always taken on the first packet, while Application Control and URL Filtering continue to inspect and enforce policies once sufficient application information becomes available. It is the recommended architecture for environments combining Policy-Based Routing with Application Control and URL Filtering.
and it works for me.