BGP peer groups are a really great tool that I don’t use often enough. Basically, a BGP peer group stores a set of configuration parameters that can be applied to a set of BGP peers.
Let’s take a look at a quick config to get the idea…
Let’s say that you want to iBGP peer all of these routers. Considering that this is going to be an iBGP peering between all three routers, the only thing that’s really different is the neighbors peering address. Let’s configure router1 as we would normally…
Not too bad. A little redundant, but not bad. Not let’s apply a similar configuration to router2 using a peer group…
In the first line of the BGP configuration you can see that we define the peer group. The next two lines show us configuring attributes of the peer group. Finally, we allocate 2 neighbors as members of the peer group. In the end, the BGP configuration looks like this…
Applying a similar configuration on router3 will give us a full iBGP peering mesh…
You can see how this could be handy if you had more than a couple of BGP peers. There are other attributes that can be assigned as part of a peer-group. For instance, what if we assigned a prefix-list to the peer-group. Let’s assume that router2 is originating the three prefixes 192.1.1.0/24, 192.2.2.0/24, and 192.3.3.0/24 through iBGP…
Looking at both router1 and router3 we see that they are learning the prefixes from router2…
If we changed our mind and decided that router1 and router3 should only receive the 192.2.2.0 /24 prefix we can update the peer-group and affect the routing table on both routers at the same time…
Looking at both router1 and router3 we can see that the change affected both peers…
A rather simple concept but one that’s definitely worth talking about.