I work for a smallish WISP who multihomed (we'll call them ISP1 and ISP2, ISP1 being the first/original provider) and was allocated a /22. I've set up a routerOS border router (atom/x86) where I've successfully brought up BGP sessions with both providers, set up route filters that drop bogons and equalize the scope and target-scope (one is multi-hop and was getting different scope values, causing everything to route out that way), etc. The router has been inserted between the core router (which was the original primary connection to the original ISP) and our two providers. I have a static route for our /22 going into our core, static routes for our non-portable blocks from ISP1 back into our core, a route going back to ISP1 (which is marked), and a mangle rule making sure all packets originating from the space provided by ISP1 go back through ISP1 via the marked route. At this point the only oddities I'm seeing:
1.) When I do a traceroute into our network (to orig. space or new) our bgp border router always responds back with ISP2's route link address even if it comes through ISP1. Outbound traceroutes seem to work fine. I'd like to correct this but without having to do any more mangle rules if possible - I've got a minimal firewall on this router, protecting mainly itself, and would rather not have it do any more packet inspection than it has to. So, anyone have any ideas what I should look at? As I said, one provider is multihop while the other is a direct connection, and the one always showing up (ISP2) is the multihop one.
2.) When looking at the routing table, all routes are showing a bgp-origin of igp - shouldn't these be egp? Is this some kind of effect from having a multihop BGP peer?