I second that, but I would
a) switch the order of those steps and
b) do both steps at the same and
Assuming everyone in his right mind would only ever use /24 networks or smaller, the 10.0.0.0/8 range is a lot less likely to be in conflict. Especial if you think about only partial conflicts, I don't care if I'm in conflict with my corporate office printer network hundreds of miles away, I prefer reaching my local IoT network instead.
As for local routes taking precedence over VPN routes:
- Routes might only apply partially in case there are conflicts
- In general, routes to smaller networks take precedence over lager networks. This is sometimes described as "longest matching prefix length", which means "192.168.0.x wins over 192.168.x.x".
- There's a thing called "metric", which means "in case of several routes, the one with the lowest metric number wins".
What you describe sounds like:
- 0.0.0.0/0 via default gateway
- 192.168.0.0/16 via VPN
- 192.168.96.0/24 via default gateway
You could make your router just announce its additional route to 192.168.96.0/24 via DHCP with options 121 and 249.
Example:
cat /etc/config/dhcp
config dhcp 'office'
option interface 'office'
# assumes router IP to bei 192.168.96.1
option start '192.168.96.50'
option limit '50'
option leasetime '30m'
list dhcp_option '121,192.168.100.0/24,192.168.96.1,192.168.200.0/24,192.168.96.1'
list dhcp_option '249,192.168.100.0/24,192.168.96.1,192.168.200.0/24,192.168.96.1'
config dhcp 'gaming'
option interface 'gaming'
# assumes router IP to bei 192.168.100.1
option start '192.168.100.50'
option limit '50'
option leasetime '30m'
list dhcp_option '121,192.168.94.0/24,192.168.100.1,192.168.200.0/24,192.168.100.1'
list dhcp_option '249,192.168.94.0/24,192.168.100.1,192.168.200.0/24,192.168.100.1'
So DHCP options 121 and 249 basically announce a various number of additional routes to your local clients.
The format is basically comma separated. The first needs to be 121 (or 249 respectively). The second is a subnet format (x.x.x.x/y), the third part is the locally-reachable gateway that subnet is to be routed by. The fourth part would be another subnet, the firth part another router, and so on, and so on. So the number of parts your comma separated list of values has is always an odd number.