Multigroup HSRP (MHSRP) Load Sharing

Multigroup HSRP (MHSRP) is a form of gateway redundancy that lets two or more HSRP groups run on the same interface, with each router active for a different group. By doing this, both gateway routers on one subnet will forward traffic at the same time, instead of having one router idle in standby.

Within each group, HSRP is still active/standby. There is no per-packet or per-flow balancing going on. MHSRP only achieves load sharing across the subnet because you run two (or more) of these active/standby groups side by side, each with a different router as active.

In this lesson, we’ll configure two HSRP groups for one shared segment, using standby priority and standby preempt so each router is active for a different group. We’ll use some show commands, pings, and traceroute to verify that two gateways can forward traffic within the subnet.

Key Takeaways

  • Multigroup HSRP (MHSRP) runs two or more independent HSRP groups on the same physical interface, letting both gateways actively forward traffic on a single shared subnet without VLANs or subinterfaces.
  • Configure each host with a different HSRP virtual IP as its default gateway, splitting outbound traffic between the two routers:
    • H1 uses group 1’s virtual IP (192.168.12.254), with R1 as Active.
    • H2 uses group 2’s virtual IP (192.168.12.253), with R2 as Active.
  • Configure a second standby group on the same interface with standby 2 ip <vip> alongside the existing standby 1 ip <vip>.
  • Without differentiated priority, the router with the higher interface IP wins every group’s election, defeating load sharing. Raise each router’s priority (e.g. standby 1 priority 150) for the group it should own.
  • Priority alone only affects the outcome of a new election; you must enable standby preempt on each group so the higher-priority router actively takes over (sends a coup) from an already-Active peer.
  • Each HSRP group gets its own virtual MAC address (e.g. 0000.0c07.ac01 for group 1, 0000.0c07.ac02 for group 2), allowing the switch to learn each group’s MAC on a different port and confirming two distinct forwarding paths.
  • Verify the load-sharing state with show standby brief and per-group detail with show standby, checking Active/Standby role, configured priority, and preempt status on each router.
  • Confirm the split in practice via show mac address-table on the switch (virtual MACs on different ports) and via traceroute from each host, showing a different first-hop router for H1 versus H2.

Prerequisites

You should be familiar with standard HSRP concepts, including active/standby roles, priority-based election, and the standby preempt command, as covered in the Hot Standby Router Protocol (HSRP) lesson.

Topology

Here is the topology we’ll use:

Hsrp Multigroup R1 R2 R3 Sw1 H1 H2

For this example, I have six devices:

  • R1 and R2 are the HSRP routers and connected to the 192.168.12.0/24 subnet.
  • R3 is an upstream router, so we have something to ping.
  • SW is a plain Layer 2 switch with no VLAN configuration. It forms a single shared broadcast domain for R1, R2, H1, and H2.
  • H1 and H2 are hosts (Ubuntu docker containers) connected to SW:
    • H1 uses HSRP group 1’s virtual IP as its default gateway.
    • H2 uses HSRP group 2’s virtual IP as its default gateway.

Splitting H1 and H2 across the two virtual IPs isn’t something HSRP does for you. In this lab, we configure H1 and H2 with different default gateways directly. In a real deployment, you’d typically achieve the same split with two DHCP scopes: one handing out 192.168.12.254 as the default gateway, the other handing out 192.168.12.253.

Alternatively, you could use static IP configuration on selected hosts, or configure the subnet’s address range into pools tied to each gateway. HSRP itself has no mechanism to distribute hosts across groups. It only decides which router is active.

Configurations

Want to take a look for yourself? Here you will find the startup configuration of each device.

R1

hostname R1
!
ip cef
!
interface GigabitEthernet2
 description Shared segment toward SW1/H1/H2
 ip address 192.168.12.1 255.255.255.0
!
interface GigabitEthernet3
 description Link to R3
 ip address 192.168.13.1 255.255.255.0
!
router ospf 1
 router-id 1.1.1.1
 network 192.168.12.0 0.0.0.255 area 0
 network 192.168.13.0 0.0.0.255 area 0
!
end

R2

hostname R2
!
ip cef
!
interface GigabitEthernet2
 description Shared segment toward SW1/H1/H2
 ip address 192.168.12.2 255.255.255.0
!
interface GigabitEthernet3
 description Link to R3
 ip address 192.168.23.2 255.255.255.0
!
router ospf 2
 router-id 2.2.2.2
 network 192.168.12.0 0.0.0.255 area 0
 network 192.168.23.0 0.0.0.255 area 0
!
end

R3

hostname R3
!
ip cef
!
interface Loopback0
 ip address 3.3.3.3 255.255.255.255
!
interface GigabitEthernet2
 description Link to R1
 ip address 192.168.13.3 255.255.255.0
!
interface GigabitEthernet3
 description Link to R2
 ip address 192.168.23.3 255.255.255.0
!
router ospf 3
 router-id 3.3.3.3
 network 3.3.3.3 0.0.0.0 area 0
 network 192.168.13.0 0.0.0.255 area 0
 network 192.168.23.0 0.0.0.255 area 0
!
end

Configuration

Let’s configure.

Creating Two HSRP Groups on the Same Interface

Now for the actual MHSRP configuration. We create two HSRP groups on the same physical interface (Gi2) on both R1 and R2. Group 1’s virtual IP will be H1’s default gateway; group 2’s virtual IP will be H2’s default gateway. Here’s how to do it:

R1(config)#interface GigabitEthernet2
R1(config-if)#standby 1 ip 192.168.12.254
R1(config-if)#standby 2 ip 192.168.12.253
R1(config-if)#standby 1 name HSRP-GROUP1
R1(config-if)#standby 2 name HSRP-GROUP2
R1(config-if)#exit
R2(config)#interface GigabitEthernet2
R2(config-if)#standby 1 ip 192.168.12.254
R2(config-if)#standby 2 ip 192.168.12.253
R2(config-if)#standby 1 name HSRP-GROUP1
R2(config-if)#standby 2 name HSRP-GROUP2
R2(config-if)#exit

If we stopped here, with both groups left at the default priority of 100, HSRP would elect an active router using the tie-breaker rule: the router with the higher interface IP wins. R2 (192.168.12.2) has a higher IP than R1 (192.168.12.1), so R2 becomes active for both groups, leaving R1 idle on that interface. Here’s what it looks like now:

R1#show standby brief
                     P indicates configured to preempt.
                     |
Interface   Grp  Pri P State   Active          Standby         Virtual IP
Gi2         1    100   Standby 192.168.12.2    local           192.168.12.254
Gi2         2    100   Standby 192.168.12.2    local           192.168.12.253
R2#show standby brief
                     P indicates configured to preempt.
                     |
Interface   Grp  Pri P State   Active          Standby         Virtual IP
Gi2         1    100   Active  local           192.168.12.1    192.168.12.254
Gi2         2    100   Active  local           192.168.12.1    192.168.12.253

R2 is now active for both groups. To split the load, we need to configure priority so each router wins a different group.

Setting Priority Per Group

To share the load, we raise R1’s priority for group 1 to 150, and R2’s priority for group 2 to 150. This way, each router “wins” one group and loses the other:

R1(config)#interface GigabitEthernet2
R1(config-if)#standby 1 priority 150
R1(config-if)#exit
R2(config)#interface GigabitEthernet2
R2(config-if)#standby 2 priority 150
R2(config-if)#exit

A higher priority alone doesn’t make a router take over an already-active peer. Priority only decides the election result when an election happens. At startup, or when the current active router fails. R2 already became active for group 1 before this priority change took effect, so R1 just sits in standby for group 1 despite now having the higher priority:

R1#show standby brief
                     P indicates configured to preempt.
                     |
Interface   Grp  Pri P State   Active          Standby         Virtual IP
Gi2         1    150   Standby 192.168.12.2    local           192.168.12.254
Gi2         2    100   Standby 192.168.12.2    local           192.168.12.253
R2#show standby brief
                     P indicates configured to preempt.
                     |
Interface   Grp  Pri P State   Active          Standby         Virtual IP
Gi2         1    100   Active  local           192.168.12.1    192.168.12.254
Gi2         2    150   Active  local           192.168.12.1    192.168.12.253

Notice R1 shows priority 150 for group 1, but the State column still says standby. Time to fix that.

Enabling Preemption

standby preempt tells the router to take over as Active immediately, the moment its priority becomes higher than the current Active router’s. Without preemption, a higher-priority router just sits in standby forever once another router is already active. For more on this, see HSRP Preemption. Let’s enable it:

R1(config)#interface GigabitEthernet2
R1(config-if)#standby 1 preempt
R1(config-if)#standby 2 preempt
R1(config-if)#exit
R2(config)#interface GigabitEthernet2
R2(config-if)#standby 1 preempt
R2(config-if)#standby 2 preempt
R2(config-if)#exit

As soon as we apply this, R1 sends a coup message and takes over as active for group 1, while R2 stays active for group 2.

Verification

Let’s verify our work.

show standby brief

This is the proof that MHSRP works. With priority and preempt configured, R1 is active for group 1 (H1’s gateway, 192.168.12.254) and standby for group 2. R2 is active for group 2 (H2’s gateway, 192.168.12.253) and standby for group 1. Each router is active for exactly one group. That’s load sharing in action, on the same physical interface:

R1#show standby brief
                     P indicates configured to preempt.
                     |
Interface   Grp  Pri P State   Active          Standby         Virtual IP
Gi2         1    150 P Active  local           192.168.12.2    192.168.12.254
Gi2         2    100 P Standby 192.168.12.2    local           192.168.12.253
R2#show standby brief
                     P indicates configured to preempt.
                     |
Interface   Grp  Pri P State   Active          Standby         Virtual IP
Gi2         1    100 P Standby 192.168.12.1    local           192.168.12.254
Gi2         2    150 P Active  local           192.168.12.1    192.168.12.253

R1 now serves H1’s default gateway, and R2 serves H2’s default gateway. Both routers actively forward traffic on the same shared subnet. That’s true load sharing without any VLANs or subinterfaces.

show standby

The detailed per-group output confirms the priority, preempt status, virtual MAC address, and group name for both groups on both routers. Let’s start with R1:

R1#show standby
GigabitEthernet2 - Group 1
  State is Active
    2 state changes, last state change 00:00:38
  Virtual IP address is 192.168.12.254
  Active virtual MAC address is 0000.0c07.ac01 (MAC In Use)
    Local virtual MAC address is 0000.0c07.ac01 (v1 default)
  Hello time 3 sec, hold time 10 sec
    Next hello sent in 2.336 secs
  Preemption enabled
  Active router is local
  Standby router is 192.168.12.2, priority 100 (expires in 10.544 sec)
  Priority 150 (configured 150)
  Group name is "HSRP-GROUP1" (cfgd)
  FLAGS: 1/1
GigabitEthernet2 - Group 2
  State is Standby
    1 state change, last state change 00:01:32
  Virtual IP address is 192.168.12.253
  Active virtual MAC address is 0000.0c07.ac02 (MAC Not In Use)
    Local virtual MAC address is 0000.0c07.ac02 (v1 default)
  Hello time 3 sec, hold time 10 sec
    Next hello sent in 2.384 secs
  Preemption enabled
  Active router is 192.168.12.2, priority 150 (expires in 7.248 sec)
  Standby router is local
  Priority 100 (default 100)
  Group name is "HSRP-GROUP2" (cfgd)
  FLAGS: 0/1

Now the same command on R2.:

R2#show standby
GigabitEthernet2 - Group 1
  State is Standby
    4 state changes, last state change 00:00:27
  Virtual IP address is 192.168.12.254
  Active virtual MAC address is 0000.0c07.ac01 (MAC Not In Use)
    Local virtual MAC address is 0000.0c07.ac01 (v1 default)
  Hello time 3 sec, hold time 10 sec
    Next hello sent in 1.584 secs
  Preemption enabled
  Active router is 192.168.12.1, priority 150 (expires in 11.408 sec)
  Standby router is local
  Priority 100 (default 100)
  Group name is "HSRP-GROUP1" (cfgd)
  FLAGS: 0/1
GigabitEthernet2 - Group 2
  State is Active
    2 state changes, last state change 00:01:41
  Virtual IP address is 192.168.12.253
  Active virtual MAC address is 0000.0c07.ac02 (MAC In Use)
    Local virtual MAC address is 0000.0c07.ac02 (v1 default)
  Hello time 3 sec, hold time 10 sec
    Next hello sent in 0.304 secs
  Preemption enabled
  Active router is local
  Standby router is 192.168.12.1, priority 100 (expires in 10.608 sec)
  Priority 150 (configured 150)
  Group name is "HSRP-GROUP2" (cfgd)
  FLAGS: 1/1

Notice that the two groups have completely different virtual MAC addresses: 0000.0c07.ac01 for group 1, 0000.0c07.ac02 for group 2, even though they live on the same physical interface. That’s what lets the switch learn each group’s virtual MAC on a different port when a different router is active for it.

You can also look at each individual group. Here is R1:

R1#show standby GigabitEthernet2 1
GigabitEthernet2 - Group 1
  State is Active
    2 state changes, last state change 00:00:38
  Virtual IP address is 192.168.12.254
  Active virtual MAC address is 0000.0c07.ac01 (MAC In Use)
    Local virtual MAC address is 0000.0c07.ac01 (v1 default)
  Hello time 3 sec, hold time 10 sec
    Next hello sent in 2.560 secs
  Preemption enabled
  Active router is local
  Standby router is 192.168.12.2, priority 100 (expires in 10.768 sec)
  Priority 150 (configured 150)
  Group name is "HSRP-GROUP1" (cfgd)
  FLAGS: 1/1

And here is R2, which is Active for group 2 with priority 150:

R2#show standby GigabitEthernet2 2
GigabitEthernet2 - Group 2
  State is Active
    2 state changes, last state change 00:01:41
  Virtual IP address is 192.168.12.253
  Active virtual MAC address is 0000.0c07.ac02 (MAC In Use)
    Local virtual MAC address is 0000.0c07.ac02 (v1 default)
  Hello time 3 sec, hold time 10 sec
    Next hello sent in 0.208 secs
  Preemption enabled
  Active router is local
  Standby router is 192.168.12.1, priority 100 (expires in 10.512 sec)
  Priority 150 (configured 150)
  Group name is "HSRP-GROUP2" (cfgd)
  FLAGS: 1/1

ARP

On R1, the virtual IP for group 1 (192.168.12.254) resolves to virtual MAC 0000.0c07.ac01, since R1 is active for that group. On R2, the virtual IP for group 2 (192.168.12.253) resolves to virtual MAC 0000.0c07.ac02, since R2 is active for that group. Each router only installs an ARP entry for the virtual IP of the group it’s active for. R1 doesn’t show an entry for 192.168.12.253, and R2 doesn’t show one for 192.168.12.254. We can see it on the routers:

R1#show arp
Protocol  Address          Age (min)  Hardware Addr   Type   Interface
Internet  192.168.12.1            -   0c00.5fbb.5c01  ARPA   GigabitEthernet2
Internet  192.168.12.2            9   0c00.17e9.9201  ARPA   GigabitEthernet2
Internet  192.168.12.254          -   0000.0c07.ac01  ARPA   GigabitEthernet2
Internet  192.168.13.1            -   0c00.19a6.8c02  ARPA   GigabitEthernet3
Internet  192.168.13.3            9   0c00.0807.0101  ARPA   GigabitEthernet3
R2#show arp
Protocol  Address          Age (min)  Hardware Addr   Type   Interface
Internet  192.168.12.1            9   0c00.5fbb.5c01  ARPA   GigabitEthernet2
Internet  192.168.12.2            -   0c00.17e9.9201  ARPA   GigabitEthernet2
Internet  192.168.12.253          -   0000.0c07.ac02  ARPA   GigabitEthernet2
Internet  192.168.23.2            -   0c00.b3f9.5902  ARPA   GigabitEthernet3
Internet  192.168.23.3            9   0c00.9278.6302  ARPA   GigabitEthernet3

MAC Address Table

We can also look at the MAC address table of SW1.

SW1 learns each HSRP virtual MAC on a different port: group 1’s virtual MAC (0000.0c07.ac01) on the port toward R1 (Et0/3), and group 2’s virtual MAC (0000.0c07.ac02) on the port toward R2 (Et1/0). This confirms two independent forwarding paths exist for the two HSRP groups on the same shared segment. Here it is:

SW1#show mac address-table
          Mac Address Table
-------------------------------------------

Vlan    Mac Address       Type        Ports
----    -----------       --------    -----
   1    0000.0c07.ac01    DYNAMIC     Et0/3
   1    0000.0c07.ac02    DYNAMIC     Et1/0
   1    0c00.17e9.9201    DYNAMIC     Et1/0
   1    0c00.5fbb.5c01    DYNAMIC     Et0/3
   1    aac1.ab53.44e6    DYNAMIC     Et0/2
   1    aac1.ab58.9a78    DYNAMIC     Et0/3
   1    aac1.ab6b.be93    DYNAMIC     Et1/0
   1    aac1.ab6d.f236    DYNAMIC     Et1/0
   1    aac1.ab9b.5702    DYNAMIC     Et0/1
   1    aac1.abb6.7a38    DYNAMIC     Et0/2
   1    aac1.abc6.1bfb    DYNAMIC     Et0/3
   1    aac1.abf3.24d6    DYNAMIC     Et0/1
Total Mac Addresses for this criterion: 12

Ping and Traceroute

The final proof of load sharing comes from the two end hosts. Each host’s default gateway is a different HSRP virtual IP:

  • H1 uses 192.168.12.254 (group 1, Active on R1).
  • H2 uses 192.168.12.253 (group 2, Active on R2).

A trace from each host toward R3’s loopback should show a different first-hop router, confirming H1’s traffic egresses via R1 and H2’s traffic egresses via R2. First, a simple ping confirms basic reachability from each host:

lab@H1:~$ ping -c 4 3.3.3.3
PING 3.3.3.3 (3.3.3.3) 56(84) bytes of data.
64 bytes from 3.3.3.3: icmp_seq=2 ttl=254 time=0.617 ms
64 bytes from 3.3.3.3: icmp_seq=3 ttl=254 time=0.703 ms
64 bytes from 3.3.3.3: icmp_seq=4 ttl=254 time=0.675 ms

--- 3.3.3.3 ping statistics ---
4 packets transmitted, 3 received, 25% packet loss, time 3075ms
rtt min/avg/max/mdev = 0.617/0.665/0.703/0.035 ms
lab@H2:~$ ping -c 4 3.3.3.3
PING 3.3.3.3 (3.3.3.3) 56(84) bytes of data.
64 bytes from 3.3.3.3: icmp_seq=2 ttl=254 time=0.623 ms
64 bytes from 3.3.3.3: icmp_seq=3 ttl=254 time=0.491 ms
64 bytes from 3.3.3.3: icmp_seq=4 ttl=254 time=0.657 ms

--- 3.3.3.3 ping statistics ---
4 packets transmitted, 3 received, 25% packet loss, time 3075ms
rtt min/avg/max/mdev = 0.491/0.590/0.657/0.071 ms

This works, but ping alone doesn’t tell us which router forwarded the traffic. For that, we need a traceroute. Let’s try this on H1:

lab@H1:~$ nping --icmp --traceroute -c 4 3.3.3.3

Starting Nping 0.7.80 ( https://nmap.org/nping )
SENT (0.0101s) ICMP [192.168.12.10 > 3.3.3.3 Echo request (type=8/code=0) id=55128 seq=1] IP [ttl=1 id=59536 iplen=28 ]
RCVD (0.0257s) ICMP [192.168.12.1 > 192.168.12.10 TTL=0 during transit (type=11/code=0) ] IP [ttl=255 id=0 iplen=56 ]
SENT (1.0107s) ICMP [192.168.12.10 > 3.3.3.3 Echo request (type=8/code=0) id=55128 seq=2] IP [ttl=2 id=59536 iplen=28 ]
RCVD (1.0114s) ICMP [3.3.3.3 > 192.168.12.10 Echo reply (type=0/code=0) id=55128 seq=2] IP [ttl=254 id=59536 iplen=28 ]
SENT (2.0117s) ICMP [192.168.12.10 > 3.3.3.3 Echo request (type=8/code=0) id=55128 seq=3] IP [ttl=3 id=59536 iplen=28 ]
RCVD (2.0126s) ICMP [3.3.3.3 > 192.168.12.10 Echo reply (type=0/code=0) id=55128 seq=3] IP [ttl=254 id=59536 iplen=28 ]
SENT (3.0136s) ICMP [192.168.12.10 > 3.3.3.3 Echo request (type=8/code=0) id=55128 seq=4] IP [ttl=4 id=59536 iplen=28 ]
RCVD (3.0145s) ICMP [3.3.3.3 > 192.168.12.10 Echo reply (type=0/code=0) id=55128 seq=4] IP [ttl=254 id=59536 iplen=28 ]
 
Max rtt: 15.587ms | Min rtt: 0.675ms | Avg rtt: 4.477ms
Raw packets sent: 4 (112B) | Rcvd: 4 (140B) | Lost: 0 (0.00%)
Nping done: 1 IP address pinged in 3.02 seconds

The first hop reported back to H1 is 192.168.12.1 ,R1, exactly as expected, since R1 is active for HSRP group 1 (H1’s gateway). By TTL 2, the packet already reaches R3’s loopback directly, confirming the OSPF path from R1 onward is just one more hop.

Now the same trace from H2:

lab@H2:~$ nping --icmp --traceroute -c 4 3.3.3.3

Starting Nping 0.7.80 ( https://nmap.org/nping )
SENT (0.0100s) ICMP [192.168.12.20 > 3.3.3.3 Echo request (type=8/code=0) id=20575 seq=1] IP [ttl=1 id=18232 iplen=28 ]
RCVD (0.0238s) ICMP [192.168.12.2 > 192.168.12.20 TTL=0 during transit (type=11/code=0) ] IP [ttl=255 id=0 iplen=56 ]
SENT (1.0108s) ICMP [192.168.12.20 > 3.3.3.3 Echo request (type=8/code=0) id=20575 seq=2] IP [ttl=2 id=18232 iplen=28 ]
RCVD (1.0114s) ICMP [3.3.3.3 > 192.168.12.20 Echo reply (type=0/code=0) id=20575 seq=2] IP [ttl=254 id=18232 iplen=28 ]
SENT (2.0118s) ICMP [192.168.12.20 > 3.3.3.3 Echo request (type=8/code=0) id=20575 seq=3] IP [ttl=3 id=18232 iplen=28 ]
RCVD (2.0127s) ICMP [3.3.3.3 > 192.168.12.20 Echo reply (type=0/code=0) id=20575 seq=3] IP [ttl=254 id=18232 iplen=28 ]
SENT (3.0137s) ICMP [192.168.12.20 > 3.3.3.3 Echo request (type=8/code=0) id=20575 seq=4] IP [ttl=4 id=18232 iplen=28 ]
RCVD (3.0145s) ICMP [3.3.3.3 > 192.168.12.20 Echo reply (type=0/code=0) id=20575 seq=4] IP [ttl=254 id=18232 iplen=28 ]
 
Max rtt: 13.776ms | Min rtt: 0.575ms | Avg rtt: 3.997ms
Raw packets sent: 4 (112B) | Rcvd: 4 (140B) | Lost: 0 (0.00%)
Nping done: 1 IP address pinged in 3.02 seconds

H2’s first hop is 192.168.12.2 R2, since R2 is active for HSRP group 2 (H2’s gateway). Both hosts sit on the same 192.168.12.0/24 subnet, yet each one’s traffic egresses through a different router: H1 via R1, H2 via R2. This is the whole point of MHSRP load sharing: two gateways actively forwarding traffic on one shared segment, with no VLANs or subinterfaces involved.

Configurations

Want to take a look for yourself? Here you will find the final configuration of each device.

R1

hostname R1
!
ip cef
!
interface GigabitEthernet2
 description Shared segment toward SW1/H1/H2
 ip address 192.168.12.1 255.255.255.0
 standby 1 ip 192.168.12.254
 standby 1 priority 150
 standby 1 preempt
 standby 1 name HSRP-GROUP1
 standby 2 ip 192.168.12.253
 standby 2 preempt
 standby 2 name HSRP-GROUP2
!
interface GigabitEthernet3
 description Link to R3
 ip address 192.168.13.1 255.255.255.0
!
router ospf 1
 router-id 1.1.1.1
 network 192.168.12.0 0.0.0.255 area 0
 network 192.168.13.0 0.0.0.255 area 0
!
end

R2

hostname R2
!
ip cef
!
interface GigabitEthernet2
 description Shared segment toward SW1/H1/H2
 ip address 192.168.12.2 255.255.255.0
 standby 1 ip 192.168.12.254
 standby 1 preempt
 standby 1 name HSRP-GROUP1
 standby 2 ip 192.168.12.253
 standby 2 priority 150
 standby 2 preempt
 standby 2 name HSRP-GROUP2
!
interface GigabitEthernet3
 description Link to R3
 ip address 192.168.23.2 255.255.255.0
!
router ospf 2
 router-id 2.2.2.2
 network 192.168.12.0 0.0.0.255 area 0
 network 192.168.23.0 0.0.0.255 area 0
!
end

R3

hostname R3
!
ip cef
!
interface Loopback0
 ip address 3.3.3.3 255.255.255.255
!
interface GigabitEthernet2
 description Link to R1
 ip address 192.168.13.3 255.255.255.0
!
interface GigabitEthernet3
 description Link to R2
 ip address 192.168.23.3 255.255.255.0
!
router ospf 3
 router-id 3.3.3.3
 network 3.3.3.3 0.0.0.0 area 0
 network 192.168.13.0 0.0.0.255 area 0
 network 192.168.23.0 0.0.0.255 area 0
!
end

Conclusion

You have now learned how Multigroup HSRP (MHSRP) lets two independent HSRP groups run on a single physical interface. This lets two routers on the same shared subnet each act as Active gateway for a different group, instead of leaving one router idle.

We configured standby 1 and standby 2 on R1 and R2’s shared interface, tuned priority and standby preempt so each router won one group, and verified the split with show standby briefARP entries, switch MAC tables, and traceroutes from H1 and H2 showing traffic egress through different gateways. I hope you enjoyed this lesson. If you have any questions, please leave a comment!


Ask a question or start a discussion by visiting our Community Forum