Startseite FHRP - First Hop Redundancy Protocol
Eintrag
Abbrechen

FHRP - First Hop Redundancy Protocol

FHRP ist eine Technik, mit der das Default-Gateway eines Netzes redundant ausgelegt wird. Es werden hier virtuelle MAC-Adressen und virtuelle IP-Adressen verwendet. Der Client benutzt als Gateway die virtuelle IP-Adresse, welche von einer Routergruppe bereitgestellt wird. Es gibt mehrere Protokolle um FHRP durchzuführen. Wichtig ist, dass der Ausfall eines Routers rechtzeitig bemerkt wird, damit eines der Backupsysteme übernehmen kann. 

Folgender Testaufbau:

Netzwerkplan

Zur Prüfung des Uplinks von R1 und R2 wird die IP von PC verwendet. Das dient nur als Beispiel! In einer produktiven Umgebung sollte der nächste Hop geprüft werden und kein PC.

Folgende Grundkonfiguration auf R1 und R2:

1
2
3
4
5
6
7
8
track 1 interface GigabitEthernet1/0 line-protocol
track 20 ip sla 20

ip sla 20
 icmp-echo 10.0.0.4 source-interface GigabitEthernet1/0
 tag icmp_2_pc_outside
 frequency 5
ip sla schedule 20 life forever start-time now

Durch das “Tracken” des Uplink-Interfaces wird festgestellt, ob der Link noch vorhanden ist, durch das Pingen des PCs wird festegestellt, ob noch IP-Traffic fließt. Sollte einer der Tracker auf den Status “down” wechseln, wird der zweite Router aktiv. Beide Tracker sollten so nicht in einer produktiv Umgebung verwendet werden und dienen nur als Beispiel!

VRRP

VRRP ist in RFC 5978 beschrieben. Folgende Konfigurationen auf R1 und R2:

R1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
interface GigabitEthernet0/0.20
 description VLAN20
 encapsulation dot1Q 20
 ip address 10.20.20.254 255.255.255.0
 no ip redirects
 no ip proxy-arp
 no ip route-cache
 vrrp 20 description VLAN20-Master
 vrrp 20 ip 10.20.20.1
 vrrp 20 priority 110
 vrrp 20 authentication md5 key-string 0 geheim
 vrrp 20 track 1 decrement 50
 vrrp 20 track 20 decrement 50
end

R2

1
2
3
4
5
6
7
8
9
10
11
12
13
interface GigabitEthernet0/0.20
 description VLAN20
 encapsulation dot1Q 20
 ip address 10.20.20.253 255.255.255.0
 no ip redirects
 no ip proxy-arp
 no ip route-cache
 vrrp 20 description VLAN20-Backup
 vrrp 20 ip 10.20.20.1
 vrrp 20 authentication md5 key-string 0 geheim
 vrrp 20 track 1 decrement 50
 vrrp 20 track 20 decrement 50
end

Die Beschreibung (“name”) ist optional. Durch das Setzen einer Priorität wird R1 zum VRRP-Master für das Netz 10.20.20.0/24. Durch das Tracken des Uplink-Interfaces (track 1) und der Verbindung zur 10.0.0.4 (track 20) wird bei einem Ausfall die Priorität des eingesetzten FHRP-Protkolls um 50 verringert. Dadurch wird der zweite Router zur aktiven Einheit. Dies gilt ebenfalls für HSRP und GLBP.

Ausfall VRRP

Normaler Zustand

1
2
3
4
5
6
7
R1#sh vrrp bri
Interface          Grp Pri Time  Own Pre State   Master addr     Group addr
Gi0/0.20           20  110 3570       Y  Master  10.20.20.254    10.20.20.1

R2#sh vrrp br
Interface          Grp Pri Time  Own Pre State   Master addr     Group addr
Gi0/0.20           20  100 3609       Y  Backup  10.20.20.254    10.20.20.1

Wechsel des Routers bei Ausfall des Uplinks

1
2
3
4
5
6
7
8
9
10
11
12
13
*Apr 28 14:32:23.331: %TRACKING-5-STATE: 20 ip sla 20 state Up->Down
R1#
*Apr 28 14:32:26.631: %VRRP-6-STATECHANGE: Gi0/0.20 Grp 20 state Master -> Backup
R1#

R1#sh vrrp br
Interface          Grp Pri Time  Own Pre State   Master addr     Group addr
Gi0/0.20           20  60  3570       Y  Backup  10.20.20.253    10.20.20.1
R1#

R2#sh vrr br
Interface          Grp Pri Time  Own Pre State   Master addr     Group addr
Gi0/0.20           20  100 3609       Y  Master  10.20.20.253    10.20.20.1

Damit ist R2 aktiv.

HSRP

HSRP ist in RFC 2281 beschrieben. Folgende Konfigurationen auf R1 und R2:

R1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
interface GigabitEthernet0/0.30
 description VLAN30
 encapsulation dot1Q 30
 ip address 10.30.30.254 255.255.255.0
 no ip redirects
 no ip proxy-arp
 no ip route-cache
 standby version 2
 standby 30 ip 10.30.30.1
 standby 30 preempt
 standby 30 authentication md5 key-string 0 geheim
 standby 30 name VLAN30-Backup
 standby 30 track 1 decrement 50
 standby 30 track 20 decrement 50
​end

R2

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
interface GigabitEthernet0/0.30
 description VLAN30
 encapsulation dot1Q 30
 ip address 10.30.30.253 255.255.255.0
 no ip redirects
 no ip proxy-arp
 no ip route-cache
 standby version 2
 standby 30 ip 10.30.30.1
 standby 30 priority 110
 standby 30 preempt
 standby 30 authentication md5 key-string 0 geheim
 standby 30 name VLAN30-Master
 standby 30 track 1 decrement 50
 standby 30 track 20 decrement 50
end

Ausfall HSRP

Normaler Zustand (Achtung hier ist R2 Master)

1
2
3
4
5
6
7
8
9
10
11
R2#sh standby brief
                     P indicates configured to preempt.
                     |
Interface   Grp  Pri P State   Active          Standby         Virtual IP
Gi0/0.30    30   110 P Active  local           10.30.30.254    10.30.30.1

R1#sh standby brief
                     P indicates configured to preempt.
                     |
Interface   Grp  Pri P State   Active          Standby         Virtual IP
Gi0/0.30    30   100 P Standby 10.30.30.253    local           10.30.30.1

Wechsel des Routers bei Ausfall des Uplinks

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
R2#
*Apr 28 18:31:03.403: %TRACKING-5-STATE: 20 ip sla 20 state Up->Down
R2#
*Apr 28 18:31:06.663: %HSRP-5-STATECHANGE: GigabitEthernet0/0.30 Grp 30 state Speak -> Standby

R1#
*Apr 28 18:31:06.427: %HSRP-5-STATECHANGE: GigabitEthernet0/0.30 Grp 30 state Standby -> Active

R2#sh standby brief
                     P indicates configured to preempt.
                     |
Interface   Grp  Pri P State   Active          Standby         Virtual IP
Gi0/0.30    30   10  P Standby 10.30.30.254    local           10.30.30.1

R1#sh standby brief
                     P indicates configured to preempt.
                     |
Interface   Grp  Pri P State   Active          Standby         Virtual IP
Gi0/0.30    30   100 P Active  local           10.30.30.253    10.30.30.1

Damit ist R1 aktiv.

GLBP

GLBP hat keinen RFC und ist wie HSRP Cisco properitär. Folgende Konfigurationen auf R1 und R2:

R1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
interface GigabitEthernet0/0.40
 description VLAN40
 encapsulation dot1Q 40
 ip address 10.40.40.254 255.255.255.0
 no ip redirects
 no ip proxy-arp
 no ip route-cache
 glbp 40 ip 10.40.40.1
 glbp 40 priority 110
 glbp 40 preempt
 glbp 40 authentication md5 key-string 0 geheim
 glbp 40 name VLAN40-Master
 glbp 40 weighting track 1 decrement 60
 glbp 40 weighting track 20 decrement 50
end

R2

1
2
3
4
5
6
7
8
9
10
11
12
13
14
interface GigabitEthernet0/0.40
 description VLAN40
 encapsulation dot1Q 40
 ip address 10.40.40.253 255.255.255.0
 no ip redirects
 no ip proxy-arp
 no ip route-cache
 glbp 40 ip 10.40.40.1
 glbp 40 preempt
 glbp 40 authentication md5 key-string 0 geheim
 glbp 40 name VLAN40-Backup
 glbp 40 weighting track 1 decrement 60
 glbp 40 weighting track 20 decrement 50
end

Ausfall GLBP

Normaler Zustand

1
2
3
4
5
6
7
8
9
10
11
R1#sh glbp br
Interface   Grp  Fwd Pri State    Address         Active router   Standby router
Gi0/0.40    40   -   110 Active   10.40.40.1      local           10.40.40.253
Gi0/0.40    40   1   -   Listen   0007.b400.2801  10.40.40.253    -
Gi0/0.40    40   2   -   Active   0007.b400.2802  local           -

R2#sh glbp brief
Interface   Grp  Fwd Pri State    Address         Active router   Standby router
Gi0/0.40    40   -   100 Standby  10.40.40.1      10.40.40.254    local
Gi0/0.40    40   1   -   Active   0007.b400.2801  local           -
Gi0/0.40    40   2   -   Listen   0007.b400.2802  10.40.40.254    -

Wechsel des Routers bei Ausfall des Uplinks

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
R1#
*Apr 28 18:38:28.247: %TRACKING-5-STATE: 20 ip sla 20 state Up->Down
R1#
*Apr 28 18:39:02.255: %GLBP-6-FWDSTATECHANGE: GigabitEthernet0/0.40 Grp 40 Fwd 1 state Active -> Listen
*Apr 28 18:39:47.555: %GLBP-6-STATECHANGE: GigabitEthernet0/0.40 Grp 40 state Active -> Init

R2#
*Apr 28 18:38:52.271: %GLBP-6-FWDSTATECHANGE: GigabitEthernet0/0.40 Grp 40 Fwd 1 state Listen -> Active
*Apr 28 18:39:44.651: %GLBP-6-STATECHANGE: GigabitEthernet0/0.40 Grp 40 state Standby -> Active

R1#sh glbp brief
Interface   Grp  Fwd Pri State    Address         Active router   Standby router
Gi0/0.40    40   -   110 Init     10.40.40.1      unknown         unknown
Gi0/0.40    40   1   -   Init     0007.b400.2801  unknown         -
Gi0/0.40    40   2   -   Init     0007.b400.2802  unknown         -

R2#sh glbp brief
Interface   Grp  Fwd Pri State    Address         Active router   Standby router
Gi0/0.40    40   -   100 Active   10.40.40.1      local           unknown
Gi0/0.40    40   1   -   Active   0007.b400.2801  local           -
Gi0/0.40    40   2   -   Active   0007.b400.2802  local           -

Damit ist R2 aktiv geworden.