iBGP RR

I tried to make a simple route reflector setup with three routers (CHR 7.1.1). I tried several setups to no avail. Since the documentation is a kind of sparse on this subject I tried to Goolge it, read iBGP rr documents etc… The only advantage, for now, is that my understanding is a bit better, but there is stil a lot to learn.
Can someone point out the error I made and why…

R01 is the client.
R02 is the RR.
R03 is the client.

R01

# jan/06/2022 19:08:02 by RouterOS 7.1.1

/interface bridge
add name=Loopback01

/interface ethernet
set [ find default-name=ether1 ] disable-running-check=no name=Eth01
set [ find default-name=ether2 ] disable-running-check=no name=Eth02
set [ find default-name=ether3 ] disable-running-check=no name=Eth03
set [ find default-name=ether4 ] disable-running-check=no name=Eth04
set [ find default-name=ether5 ] disable-running-check=no name=Eth05

/routing id
add disabled=no id=172.16.0.1 name=RouterID select-dynamic-id=only-vrf select-from-vrf=main

/routing ospf instance
add name=OSPFInstance router-id=RouterID

/routing ospf area
add instance=OSPFInstance name=OSPFArea

/ip address
add address=192.168.100.101/24 interface=Eth05 network=192.168.100.0
add address=172.16.0.1 interface=Loopback01 network=172.16.0.1
add address=10.1.2.1/24 interface=Eth01 network=10.1.2.0
add address=10.1.4.1/24 interface=Eth02 network=10.1.4.0

/ip firewall address-list
add address=10.1.2.0/24 list=BGP
add address=10.1.4.0/24 list=BGP
add address=172.16.0.1 list=BGP

/routing bgp connection
add as=70000 cluster-id=172.16.0.2 disabled=no local.address=172.16.0.1 .role=ibgp-rr-client name="R01 - R02" output.network=BGP .no-client-to-client-reflection=yes remote.address=172.16.0.2/32 .as=70000 router-id=172.16.0.1 routing-table=main vrf=main

/routing ospf interface-template
add area=OSPFArea networks=10.1.2.0/24,10.1.4.0/24,172.16.0.1/32

/system identity
set name=R01

.

R02

# jan/06/2022 19:06:16 by RouterOS 7.1.1

/interface bridge
add name=Loopback01

/interface ethernet
set [ find default-name=ether1 ] disable-running-check=no name=Eth01
set [ find default-name=ether2 ] disable-running-check=no name=Eth02
set [ find default-name=ether3 ] disable-running-check=no name=Eth03
set [ find default-name=ether4 ] disable-running-check=no name=Eth04
set [ find default-name=ether5 ] disable-running-check=no name=Eth05

/routing id
add disabled=no name=172.16.0.2 select-dynamic-id=only-vrf select-from-vrf=main

/routing ospf instance
add name=OSPFInstance router-id=172.16.0.2

/routing ospf area
add instance=OSPFInstance name=OSPFArea

/ip address
add address=192.168.100.102/24 interface=Eth05 network=192.168.100.0
add address=172.16.0.2 interface=Loopback01 network=172.16.0.2
add address=10.1.2.2/24 interface=Eth01 network=10.1.2.0
add address=10.2.5.2/24 interface=Eth03 network=10.2.5.0
add address=10.2.3.2/24 interface=Eth02 network=10.2.3.0

/ip firewall address-list
add address=10.1.2.0/24 list=BGP
add address=10.2.3.0/24 list=BGP
add address=10.2.5.0/24 list=BGP
add address=172.16.0.2 list=BGP

/routing bgp connection
add as=70000 cluster-id=172.16.0.2 disabled=no local.address=172.16.0.2 .role=ibgp-rr name="R01 - R02" output.network=BGP .no-client-to-client-reflection=no remote.address=172.16.0.1/32 .as=70000 router-id=172.16.0.2 routing-table=main vrf=main
add as=70000 cluster-id=172.16.0.2 disabled=no local.address=172.16.0.2 .role=ibgp-rr name="R02 - R03" output.network=BGP .no-client-to-client-reflection=no remote.address=172.16.0.3/32 .as=70000 router-id=172.16.0.2 routing-table=main vrf=main

/routing ospf interface-template
add area=OSPFArea networks=10.1.2.0/24,10.2.3.0/24,10.2.5.0/24,172.16.0.2/32

/system identity
set name=R02

.

R03

# jan/06/2022 19:07:14 by RouterOS 7.1.1

/interface bridge
add name=Loopback01

/interface ethernet
set [ find default-name=ether1 ] disable-running-check=no name=Eth01
set [ find default-name=ether2 ] disable-running-check=no name=Eth02
set [ find default-name=ether3 ] disable-running-check=no name=Eth03
set [ find default-name=ether4 ] disable-running-check=no name=Eth04
set [ find default-name=ether5 ] disable-running-check=no name=Eth05

/routing id
add disabled=no id=172.16.0.3 name=RouterID select-dynamic-id=only-vrf select-from-vrf=main

/routing ospf instance
add name=OSPFInstance router-id=RouterID

/routing ospf area
add instance=OSPFInstance name=OSPFArea

/ip address
add address=192.168.100.103/24 interface=Eth05 network=192.168.100.0
add address=172.16.0.3 interface=Loopback01 network=172.16.0.3
add address=10.2.3.3/24 interface=Eth02 network=10.2.3.0
add address=10.3.6.3/24 interface=Eth01 network=10.3.6.0

/ip firewall address-list
add address=10.2.3.0/24 list=BGP
add address=10.3.6.0/24 list=BGP
add address=172.16.0.3 list=BGP

/routing bgp connection
add as=70000 cluster-id=172.16.0.2 disabled=no local.address=172.16.0.3 .role=ibgp-rr-client name="R02 - R03" output.network=BGP .no-client-to-client-reflection=yes remote.address=172.16.0.2/32 .as=70000 router-id=172.16.0.3 routing-table=main vrf=main

/routing ospf interface-template
add area=OSPFArea networks=172.16.0.3/32,10.2.3.0/24,10.3.6.0/24

/system identity
set name=R03

I think you need to tick bgp in output.redistribute under extra tab in ibgp-rr router. Seriously, very poor documentation when they have made so many changes.

Nope, that was not the answer. I seriously misunderstood it. Solved it. It was the “no client to client reflection” that bit me.

How did you solve this? My RR doesn’t wanna reflect clients routes to other clients even if I switching that “No Client To Client Reflection” knob.
I use 7.3beta33

https://m.youtube.com/watch?v=U6cNovT-Vt8

hmmm, thanks, it works now but I can’t figured out, why…

The last rule in a filter is deny all. So you sending what you want. You won’t be sending the reflected route to yourself.

Ohkay, (l)user error :slight_smile: I messed up the nexthops and this is why it didn’t worked for me. Now I fix it and works fine.