[FHRP] GLBP에 대해

  1. GLBP
  2. GLBP 설정

1. GLBP

Gateway Load Balancing Protocol

그림1. GLBP

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 설정

토폴로지1. 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 상태, 가상 IP, Standby 라우터를 확인 할 수 있다.

[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>

답글 남기기

이메일 주소는 공개되지 않습니다.