I would like to be able to (in the case where I am using iBGP), originate a “default” route for a peer, and have it installed in their routing table in cases where I want to send all traffic over the GRE tunnel that was created to allow the BGP connection.
Currently with static routing, I am able to use a mangle rule to mark packets from a subnet and then send them over a default route of my choosing (which happens to be the GRE interface), however I don’t see any such option or ability to mark traffic for a BGP originated default once it is installed in the routing table.
I have to leave a static default (or dynamic depending on the config) in there so that the “output” traffic from the router can go over the internet and create first the IPSec tunnel, then within that, the GRE tunnel so that I can create the structure I require, however all internal traffic I desire to have transmitted over the GRE tunnel (with a BGP installed default route), unless that tunnel is otherwise down.
The end goal of this is to be able to load-balance a default route across equal-cost paths and send all client traffic over that route.
What mechanisms are at my disposal for this? Anyone try something like this or have suggestions?
Thanks!
EDIT:
I am thinking that I might be able to get away with setting the actual/real default route (on the WAN interface) at a higher distance than the BGP defaults and using a “output” routing mark to force traffic along that path, which would cause non-output to go down the lower distance BGP default - but that seems like a clunky solution.
What about multiple routing tables? I am new to Mikrotik so some of the cross-terminology is unfamiliar, but is there a way to create a separate routing table for the BGP defaults (and also install the interface default as a backup, higher distance) so that it acts like the default for that “instance” and I can do what I need to with the traffic?