Setting Up a Route Reflector
In addition to the access points, we use a route reflector to build our control plane. A route reflector can be any kind of machine where FRR can be installed. It just needs a L3 connection to the access points and the gateway. We again use an Ubuntu server host for this tutorial.
Setting Up FRR
Warning
This part of the guide is very similar to the one for the gateway. However, the configuration files for FRR are different in this case.
-
Install
frr
on the gateway.sudo apt install frr
-
Create the file
sample-configs/gateway/frr.conf
with the following content. Remember to insert the IP of the route reflector./etc/frr/daemons
log syslog informational ip nht resolve-via-default ip6 nht resolve-via-default router bgp 65000 bgp router-id <OWN-IP-ADDRESS> bgp cluster-id <OWN-IP-ADDRESS> bgp log-neighbor-changes no bgp default ipv4-unicast neighbor fabric peer-group neighbor fabric remote-as 65000 neighbor fabric capability extended-nexthop neighbor fabric ebgp-multihop 5 neighbor fabric update-source <OWN-IP-ADDRESS> bgp listen range <ALL-AP-SUBNETS-CIDR-NOTATION> peer-group fabric ! address-family l2vpn evpn neighbor fabric activate neighbor fabric route-reflector-client exit-address-family ! !
-
Create the file
/etc/frr/daemons
with the following content/etc/frr/daemons
bgpd=yes ospfd=no ospf6d=no ripd=no ripngd=no isisd=no pimd=no ldpd=no nhrpd=no eigrpd=no babeld=no sharpd=no pathd=no pbrd=no bfdd=no fabricd=no vrrpd=no vtysh_enable=yes zebra_options=" -A 127.0.0.1 -s 90000000" bgpd_options=" -A 127.0.0.1" ospfd_options=" -A 127.0.0.1" ospf6d_options=" -A ::1" ripd_options=" -A 127.0.0.1" ripngd_options=" -A ::1" isisd_options=" -A 127.0.0.1" pimd_options=" -A 127.0.0.1" ldpd_options=" -A 127.0.0.1" nhrpd_options=" -A 127.0.0.1" eigrpd_options=" -A 127.0.0.1" babeld_options=" -A 127.0.0.1" sharpd_options=" -A 127.0.0.1" pbrd_options=" -A 127.0.0.1" staticd_options="-A 127.0.0.1" bfdd_options=" -A 127.0.0.1" fabricd_options="-A 127.0.0.1" vrrpd_options=" -A 127.0.0.1"
-
Ensure these configuration files are owned by the
frr
user and group by runningsudo chown -R frr:frr /etc/frr/
-
Ensure that only the
frr
user has read and write permissions to the file and thefrr
group can read the file. All other users should not have any access. To achieve this, runsudo chmod 640 /etc/frr/*
-
Restart
frr
by executingsudo systemctl restart frr
Verifying the Setup
If you already configured an access point, you can verify the peering by running:
$ sudo vtysh
rr# show bgp neighbor
It should say that the connection to the access point has been established.