1. GLBP
Gateway Load Balancing Protocol

Cisco에서 HSRP 기능을 강화하기 위해 GLBP를 개발했다.
게이트웨이 이중화는 물론, 별도의 설정없이도 부하 분산을 제공하는 것이다.
1-1. GLBP 역할
Group 당
AVG 라우터 1개, Standby 라우터 1개, 나머지 라우터는 Listen 상태.
만일, AVG 라우터가 Down 됐다면,
Standby 라우터 → AVG 라우터,
Listen 상태 라우터 중 하나 → Standby 라우터가 된다.
AVG ( Active Virtual Gateway) 역할
1. 각 라우터들(멤버들)에게 가상 MAC을 할당한다.
이 라우터들을 가상 MAC의 AVF(Active Virtual Forwarder)라고 한다.
2. 게이트웨이 주소에 대한 ARP 요청에 응답한다.
PC에서 게이트웨이 IP에 대한 ARP 요청을 하면, AVF에 할당했던 MAC들 중 하나로 응답한다. 즉, 자동으로 부한 분산이 되는 것이다.
AVG가 결정되는 우선순위
높은 GLBP Priority → 높은 인터페이스 IP
1-2. GLBP 특성
- Group 당 단일 Virtual IP와 최대 4개의 MAC을 사용한다.
- 출발지 / 목적지 IP : 224.0.0.102 , Multicast
- UDP 3222
- 3초 주기로 GLBP 정보 광고
1-3. GLBP 인증
공격자의 장비가 AVG 또는 AVF 되는 GLBP Spoofing 공격을 방지하고자 인증을 설정한다. 여타 FHRP처럼 Plain-Text, MD5 인증을 설정할 수 있다.
2. GLBP 설정

기본 설정 → GLBP 설정 → GLBP 설정 확인 → GLBP 인증 설정
[기본]
– IP 설정
각 장비의 인터페이스
(PC GW는 Virtual IP로 설정)
– OSPF 라우팅
R1 fa0/0, fa1/0
R2 fa0/1, fa1/0
SW2 fa0/0, fa0/1, loopback 0
[GLBP 설정]
- R1(config)# track 1 int fa0/0 line-protocol R1(config-track)# exit R1(config)# R1(config)# int fa1/0 R1(config-if)# glbp 1 ip 10.10.100.254 R1(config-if)# glbp 1 priority 105 R1(config-if)# glbp 1 timers 2 6 R1(config-if)# glbp 1 preempt delay minimum 60 R1(config-if)# glbp 1 forwarder preempt delay minimum 50 R1(config-if)# glbp 1 weighting 100 lower 90 upper 100 R1(config-if)# glbp 1 load-balancing round-robin R1(config-if)# glbp 1 weighting track 1 decrement 20 R2(config)# track 1 int fa0/1 line-protocol R2(config-track)# exit R2(config)# R2(config)#int fa1/0 R2(config-if)# glbp 1 ip 10.10.100.254 R2(config-if)# glbp 1 timers 2 6 R2(config-if)# glbp 1 weighting 100 lower 95 R2(config-if)# glbp 1 weighting track 1 R2(config-if)# -
2: 감시할 인터페이스나 경로를 지정한다. line-protocol 옵션을 사용하면 해당 인터페이스의 Layer 2 상태에 따라 Up / Down 상태로 판단한다. 경로를 지정하고자 한다면, “track 2 ip route 10.10.0.1/32 reachability” 이렇게 할 수 있다.
6: GLBP 그룹 번호는 0-1023 사이 값를 넣을 수 있다. 여기까지의 설정만으로 GLBP가 동작한다.
7: GLBP 우선순위를 설정한다. 0 -255 사이 값을 넣을 수 있다.
8: 기본 Hello Timer 3초, Hold Timer 10초지만, Hello 2 Hold 6으로 설정했다. 2초 주기로 Hello를 전송하고, 6초동안 Hello를 받지못하면 상대에게 장애가 발생했다고 간주한다.
9: 장애 발생으로 인해 다른 라우터로 AVG 역할을 위임했다가 장애 복구 시 60초 후 다시 AVG 역할을 수행한다. 기본적으로 비활성화 되어있다.
10: 장애 발생으로 인해 다른 라우터로 AVF 역할을 위임했다가 장애 복구 시 50초 후 다시 AVF 역할을 수행한다. 기본 30초로 활성화되어있다.
11: 먼저, R1의 전송 가중치를 100으로 설정한다. 가중치가 90이 되면 AVF의 역할을 넘기고, 100이 되면 다시 AVF 역할을 수행한다.
12: 부하분산 방식을 round-robin으로 설정한다.
13: track 1이 Down되었을 때, 가중치 20을 감소한다.
[GLBP 설정확인]
– show glbp brief

[GLBP 인증]
– Plain-Text 인증
R1(config)# int fa1/0 R1(config-if)# glbp 1 authentication text <WORD> R2(config)# int fa1/0 R2(config-if)# glbp 1 authentication text <WORD>
– MD5 인증 (Key-String)
R1(config)# int fa1/0 R1(config-if)# glbp 1 authentication md5 key-string <WORD> R2(config)# int fa1/0 R2(config-if)# glbp 1 authentication md5 key-string <WORD>
– MD5 인증 (Key-Chain)
R1(config)# key chain <NAME> R1(config-keychain)# key [0-2147483647] R1(config-keychain-key)# key-string <WORD> R1(config-keychain-key)# exit R1(config-keychain)# exit R1(config)# R1(config)# int fa1/0 R1(config-if)# glbp 1 authentication md5 key-chain <NAME> R2(config)# key chain <NAME> R2(config-keychain)# key [0-2147483647] R2(config-keychain-key)# key-string <WORD> R2(config-keychain-key)# exit R2(config-keychain)# exit R2(config)# R2(config)# int fa1/0 R2(config-if)# glbp 1 authentication md5 key-chain <NAME>