Putting DHCP default gateway in different routing table

I would suggest setting allowed-ips to those exact public subnets instead of 0.0.0.0/0 (unless you are in control of the other side as well).

Policy and nat rule numbers are not related so you don’t have to sequence them together, that might help keeping you from confusing yourself (and others :stuck_out_tongue: ).

On the local-route rule numbers become important though. These do correspond to the kernel ip rule table:

Your rule 101 and 102 are actually already in the kernel’s ip ruleset as 32765 and 32766, but you are effectively moving it up to the top and everything is going to match on these two without anything else being evaluated. These are treated like firewall rules, first match wins.

Rule 104 is going to become the new default