Cisco Gateway Load Balance Protocol (GLBP) Configuration Process and Commands
The configuration of Gateway Load Balancing Protocol (GLBP) is very similar to that of Hot Standby Router Protocol (HSRP) and Virtual Router Redundancy Protocol(VRRP), and like them is not overly complex to initially configure and use the default settings. This section will first go over the configuration process steps and commands that are used to perform a basic GLBP configuration. An example will then be shown on how these steps can be used to configure GLBP in a sample networking topology.
GLBP Simple Configuration Steps
Like HSRP and VRRP, only a few commands are used to configure GLBP using the default settings. Table 1 shows the common commands that are used to configure basic GLBP as well a few of the most commonly used commands to alter GLBP’s behavior.
Table 1 - VRRP Configuration Commands
1 |
Enter privileged EXEC mode |
router>enable |
2 |
Enter global configuration mode |
router#configure terminal |
3 |
Enter interface configuration mode |
router(config)#interface interface |
4 |
Configure an IP address on the interface |
router(config-if)#ip address address netmask |
5 |
Configure an GLBP virtual IP address Notes: The group-number can be any value from 1 to 1023. This address (if entered) must be in the same subnet as the interface IP address (primary or secondary). It is possible not to enter an ip-address; in this case, the virtual IP address is learned from another GLBP device. |
router(config-if)#glbp group-number ip [ip-address] |
6 |
Configure the GLBP priority (optional) Note: The valid values for the priority are from 1 through 255. |
router(config-if)#glbp group-number priority priority |
7 |
Configure GLBP preemption (optional) Note: GLBP preemption is disabled by default. |
router(config-if)#glbp group-number preempt |
VRRP Simple Example
This section covers a simple example of how GLBP can be configured in a basic common topology. Figure 1 displays a common topology that exists in many networks that would potentially use a First Hop Redundancy Protocol (FHRP) like HSRP, VRRP, or GLBP. In this case, both R1 and R2 connect to a common subnet where hosts reside; this is the same interface used by GLBP to communicate with the other GLBP devices.
Figure 1 GLBP example topology
Tables 2 and 3 show the basic commands that are required to configure GLBP between the two devices shown in Figure 1.
The configuration will perform the following:
- Configure the IP addresses 172.16.1.1/24 (R1) and 172.16.2.1 (R2) on their Fa0/0 interfaces
- Configure GLBP between R1 and R2 using the IP addresses 10.10.10.1/24 (R1) and 10.10.10.2/24(R2) and a virtual IP address of 10.10.10.5 on their Fa1/0 interfaces
Table 2 - R1 Simple Example Configuration
1 |
Enter privileged EXEC mode. |
R1>enable |
2 |
Enter global configuration mode. |
R1#configure terminal |
3 |
Enter interface configuration mode. |
R1(config)#interface fa0/0 |
4 |
Configure an IP address on the interface. |
R1(config-if)#ip address 172.16.1.1 255.255.255.0 |
5 |
Enter interface configuration mode. |
R1(config)#interface fa0/1 |
6 |
Configure an IP address on the interface. |
R1(config-if)#ip address 10.10.20.1 255.255.255.252 |
7 |
Enter interface configuration mode. |
R1(config)#interface fa1/0 |
8 |
Configure an IP address on the interface. |
R1(config-if)#ip address 10.10.10.1 255.255.255.0 |
9 |
Configure GLBP using a virtual IP address of 10.10.10.5 using group 1. |
R1(config-if)#glbp 1 ip 10.10.10.5 |
Table 3 - R2 Simple Example Configuration
1 |
Enter privileged EXEC mode. |
R2>enable |
2 |
Enter global configuration mode. |
R2#configure terminal |
3 |
Enter interface configuration mode. |
R2(config)#interface fa0/0 |
4 |
Configure an IP address on the interface. |
R2(config-if)#ip address 172.16.2.1 255.255.255.0 |
5 |
Enter interface configuration mode. |
R2(config)#interface fa0/1 |
6 |
Configure an IP address on the interface. |
R2(config-if)#ip address 10.10.20.2 255.255.255.252 |
7 |
Enter interface configuration mode. |
R2(config)#interface fa1/0 |
8 |
Configure an IP address on the interface. |
R2(config-if)#ip address 10.10.10.2 255.255.255.0 |
9 |
Configure GLBP using a virtual IP address of 10.10.10.5 using group 1. |
R2(config-if)#glbp 1 ip 10.10.10.5 |
GLBP Complex Configuration Steps
In this section, the commands that are covered will extend to those that modify the default behavior of the GLBP process. These include GLBP timers (hello, hold, redirect and timeout), altering the default load balancing behavior (the default is round robin), configuring GLBP authentication, and basic interface tracking. Table 4 covers all the commands that are required to perform these steps.
Table 4 - GLBP Complex Configuration Commands
1 |
Configure the GLBP hello and hold timers. |
router(config-if)#glbp group-number timers [msec] hello-timer [msec] hold-timer |
2 |
Configure the GLBP redirect timers. Note: The redirect-timeris the amount of time that passes before the AVG assumes that the forwarder is not going to return; the timeout is the amount of time until the virtual MAC address that was used by the failed AVF is no longer functional. |
router(config-if)#glbp group-number timers redirect redirect-timer timeout |
|
|
|
1 |
Configure the GLBP load balancing behavior. |
router(config-if)#glbp group-number load-balancing [host-dependent | round-robin | weighted] |
|
|
|
1 |
Configure GLBP Authentication. |
router(config-if)#glbp group-number authentication {text plain-text-string | md5 {key-string keystring | key-chain key-chain-name}} |
|
If a key-chain is configured with the command above, follow these next few steps to create the key-chain. |
|
2 |
Create and enter into key chain configuration mode. |
router(config)#key chain chain-name |
3 |
Create and enter into key chain – key configuration mode. Note: The key-numbercan be any number between 0-2147483647. |
router(config-keychain)#key key-number |
4 |
Enter the key string that will be used to authenticate with neighboring devices. |
router(config-keychain-key)#key-string keystring |
|
|
|
1 |
Configure GLBP Object tracking. Note: The default priority decrement value is 10. |
router(config-if)#glbp group-number track object-number [decrement priority] |
2 |
(Optional) Configure the GLBP weighting values. Note: With GLBP, each of the Active Virtual Forwarders (AVF) is assigned a weight (default is 100); if the defaults are not altered, then each of the AVFs will be equally loaded. |
rsouter(config-if)#glbp group-number weighting weight [lower lower] [upper upper] |
3 |
Create a tracked object. Notes: The object-numbercan be any number between 1 and 1000. The line-protocolparameter will track the protocol state of the configured interface. The ip routingparameter will track the IP routing capability of an interface (is it configured with an IP address and operational?). |
router(config)#track object-number interface interface {line-protocol | ip routing} |
GLBP Complex Example
In this section, the configuration is extended to show basic GLBP authentication using key chains, altering the default load balancing behavior to weighting, and basic interface (line protocol) tracking. See Tables 5 and 6 for examples.
Table 5 - R1 Complex Example Configuration Addition
1 |
Enter privileged EXEC mode. |
R1>enable |
2 |
Enter global configuration mode. |
R1#configure terminal |
3 |
Create a key chain using the name testchain and enter into key chain configuration mode. |
R1(config)#key chain testchain |
4 |
Create and enter into key chain – key configuration mode using a key number of 1. |
R1(config-keychain)#key 1 |
5 |
Enter a key string of test-string. |
R1(config-keychain-key)#key-string test-string |
6 |
Enter interface configuration mode. |
R1(config-keychain-key)#interface fa1/0 |
7 |
Enable GLBP authentication using the configured key chain and group number of 1 |
R1(config-if)#glbp 1 authentication key-chain testchain |
8 |
Change the default GLBP load balancing behavior to using weighting. |
R1(config-if)#glbp 1 load-balancing weighted |
9 |
Exit into global configuration mode. |
R1(config-if)#exit |
10 |
Create a tracked object that will monitor the line protocol status of the fa0/0 interface using an object number of 1. |
R1(config)#track 1 interface fa0/0 line-protocol |
11 |
Enter interface configuration mode. |
R1(config)#interface fa1/0 |
12 |
Configure GLBP to use the tracked object to influence its weighting. |
R1(config-if)#glbp 1 track 1 decrement 50 |
Table 6 - R2 Complex Example Configuration Addition
1 |
Enter privileged EXEC mode. |
R2>enable |
2 |
Enter global configuration mode. |
R2#configure terminal |
3 |
Create a key chain using the name testchain and enter into key chain configuration mode. |
R2(config)#key chain testchain |
4 |
Create and enter into key chain – key configuration mode using a key number of 1. |
R2(config-keychain)#key 1 |
5 |
Enter a key string of test-string. |
R2(config-keychain-key)#key-string test-string |
6 |
Enter interface configuration mode. |
R2(config-keychain-key)#interface fa1/0 |
7 |
Enable GLBP authentication using the configured key chain and group number of 1. |
R2(config-if)#glbp 1 authentication key-chain testchain |
8 |
Change the default GLBP load balancing behavior to using weighting. |
R2(config-if)#glbp 1 load-balancing weighted |
9 |
Exit into global configuration mode. |
R2(config-if)#exit |
10 |
Create a tracked object that will monitor the line protocol status of the fa0/0 interface using an object number of 1. |
R2(config)#track 1 interface fa0/0 line-protocol |
11 |
Enter interface configuration mode. |
R2(config)#interface fa1/0 |
12 |
Configure GLBP to use the tracked object to influence its weighting. |
R2(config-if)#glbp 1 track 1 decrement 50 |
Summary
The expectation of full-time connectivity has certainly gotten considerably higher over the last decade. Because of this, a number of different technologies have been developed to provide redundancy at every point within the network. As one of these, FHRPs are used to provide redundancy; which one you use depends on the specific deployment and the vendors that will be used within the target network. I hope that this article provided some insight into the configuration steps that are required to configure GLBP and get it up and running.