Default route in BGP

I have two issues with default route (IPv4) in BGP. May be that the both ones have the same reason.

  1. If default route is advertised from quagga (may be the same problem is with Cisco) by the command default originate on a neighbour then Mikrotik doesn’t receive it. I solved the problem by adding network 0.0.0.0 mask 0.0.0.0 route-map …. This way works but anyway it is not the best solution.

  2. If route reflection is configured on Mikrotik it perfectly reflects all common routes received from BGP but the problem is with the default route. The default route is not advertised to any peer. It look default route is not reflected even if it is installed in routing table.

Any idea what is the reason of these problems?

It looks that the behaviour is different for Quagga, Cisco and Juniper.

The issue which I have described is for situation where the default route is advertised from Quagga. If the same configuration is used for Cisco Mikrotik accepts the default route from Cisco (if it is injected on neigbour) but still it is not reflected to other peers. For Juniper it looks pretty same but the advertising of the default route is completely different in Juniper of course. The dafault route have to exists in the routing table in Juniper and is advertised as normal NLRI.

The problem with reflection is in all cases.

I'm trying to test BGP between Cisco and Mikrotik, cisco is advertising the default route to Mikrotik but it is not injected into the routing table, anyone can help?

[admin@MikroTik] ip route> print detail
Flags: X - disabled, A - active, D - dynamic, C - connect, S - static, r - rip, b - bgp, o - ospf
0 ADC dst-address=172.16.16.0/24 prefsrc=172.16.16.2 interface=ether3 scope=10 target-scope=0

1 ADC dst-address=172.16.19.0/30 prefsrc=172.16.19.2 interface=ether2 scope=10 target-scope=0

2 A S dst-address=172.16.21.1/32 gateway=172.16.19.1 interface=ether2 gateway-state=reachable scope=255 target-scope=10

3 ADC dst-address=172.16.21.2/32 prefsrc=172.16.21.2 interface=Loopback scope=10 target-scope=0

[admin@MikroTik] > routing bgp peer print status

REMOTE-ADDRESS REMOTE-AS STATE ROUTES-RECEIVED

0 172.16.21.1 64513 connected 1

In case anyone runs into this same problem as myself. The solution is to configure the route-reflector peers with the default-originate=if-installed option. After this is done the default route will properly propagate to the other route-reflector clients.

If this is iBGP, then I think your problem is likely to be caused by the route scope / target scope issue.
iBGP does not alter the next hop address.

So if 0.0.0.0/0 → 10.1.1.1 from carrier 1, on your border router 1, on the interior router, 0.0.0.0/0 will still point to 10.1.1.1
Mikrotik doesn’t like recursive lookup in routing table by default, and it’s something I still haven’t quite wrapped my head around.

If it’s eBGP, then I’m not sure why it wouldn’t install the route unless the next hop specified in the advertisement is not locally connected to your Mikrotik either.