[FHRP] VRRP에 대해

  1. VRRP
  2. VRRP 설정
  3. VRRP 부하분산

1. VRRP

Virtual Router Redundancy Protocol

표준 게이트웨이 이중화 프로토콜이다. HSRP와 달리 여러 벤더 장비에서 사용할 수 있다.

그림1. VRRP

VRRP 역할

Virtual Router Master :
게이트웨이 역할을 하는 라우터.
Master 라우터 선출은 ‘가상IP와 실제IP가 동일한 라우터’ → ‘VRRP의 우선순위가 높은 라우터’ → ‘인터페이스 IP가 높은 라우터’ 순이다.

Virtual Router Backup :
Master 라우터 장애 시 역할을 이어받는 라우터.

VRRP 특징

  • 목적지 IP : 224.0.0.18 , Multicast.
  • IPv4 패킷 내 ‘Protocol’ 필드 : 112번
  • Master 라우터는 1초마다 VRRP 우선순위 와 상태를 광고한다.
  • 실제 설정된 인터페이스 IP를 가상IP로 사용할 수 있다.

VRRP 인증

공격자가 Master 라우터로 선출되는 것을 방지하기 위해 Plain-Text, MD5 인증을 설정할 수 있다.


2. VRRP 설정

기본설정VRRP 설정VRRP 설정 확인VRRP 인증

[기본]
– IP 설정
각 장비의 인터페이스
(PC GW는 Virtual IP로 설정)

– OSPF 라우팅
R1 fa0/0, fa1/0
R2 fa0/1, fa1/0
SW2 fa0/0, fa0/1, loopback 0

[VRRP 설정]

R1(config)# track 1 int fa1/0 line-protocol
R1(config-track)# exit
R1(config)#
R1(config)# int fa1/0
R1(config-if)# vrrp 1 ip 10.10.100.253
R1(config-if)# vrrp 1 priority 105
R1(config-if)# vrrp 1 preempt delay minimum 180
R1(config-if)# vrrp 1 timers advertise 1
R1(config-if)# vrrp 1 timers learn
R1(config-if)# vrrp 1 track 1


R2(config)# int fa1/0
R2(config-if)# vrrp 1 ip 10.10.100.253
R2(config-if)# vrrp 1 timers advertise 1
R2(config-if)# vrrp 1 timers learn

2: 감시할 인터페이스나 경로를 지정한다. line-protocol 옵션을 사용하면 해당 인터페이스의 Layer 2 상태에 따라 Up / Down 상태로 판단한다. 경로를 지정하고자 한다면, “track 2 ip route 10.10.0.1/32 reachability” 이렇게 할 수 있다.
6: vrrp 그룹은 1-255 사이로 지정할 수 있다.
7: 기본 Priority는 100이다. R1을 Master 라우터로 선정하기 위해 Priority 105로 설정했다.
8: Master 라우터가 장애로 인해 Backup 라우터로 변경되었을 때, 장애 복구 이후 다시 Master 라우터로 동작할 수 있게 한다. 기본적으로 인터페이스가 다시 활성화(장애복구)됐을 때, 바로 Master 라우터로 돌아가는데 라우팅 테이블 미완성으로 제대로 된 통신을 하지 못하는 경우가 발생할 수 있다. 그래서 인터페이스가 다시 활성화되고나서 180초 이후 Master로 동작되도록 설정했다.
9: vrrp 광고 주기를 1초로 지정한다. 사실 기본값이 1초이므로 광고 주기를 그대로 1초로 사용할거라면, 별도로 설정하지 않아도 된다. VRRP 라우터들끼리 광고 주기가 반드시 동일해야 한다. 서로 다르다면 VRRP가 동작하지 않는다.
10: Master 라우터에 설정된 VRRP 광고 주기 값을 배우도록 한다. 지금으로써는 추후 Master상태에서 Backup으로 변경될 때, 적용된다. 앞서 이야기한 광고 주기가 달라 VRRP가 동작하지 않는 상황을 방지하는 설정이다.

[VRRP 설정확인]
– show vrrp brief

R1이 Master 라우터 , R2가 Backup 라우터가 된 것을 확인할 수 있다.

– show vrrp

가상 IP, 라우터의 우선순위, Master 라우터 등을 확인할 수 있다.

[VRRP 인증]
– Plain-Text 인증

R1(config)# int fa1/0
R1(config-if)# vrrp 1 authentication text <WORD>


R2(config)# int fa1/0
R2(config-if)# vrrp 1 authentication text <WORD>

– MD5 인증 (Key-String)

R1(config)# int fa1/0
R1(config-if)# vrrp 1 authentication md5 key-string <WORD>


R2(config)# int fa1/0
R2(config-if)# vrrp 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)# vrrp 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)# vrrp 1 authentication md5 key-chain <NAME>

3. VRRP 부하 분산

MHSRP처럼 VRRP도 각 그룹별로 Master 라우터를 지정하여 부하 분산을 할 수 있다.

R1과 R2를 VRRP 1, 2 그룹으로 나누고,
각각 10.10.100.253 / 10.10.100.254를 할당한다.
PC의 GW도 각각 지정한다.
이렇게 VRRP 부하 분산을 할 수 있다.

[VRRP 부하 분산 설정]

R1(config)# track 1 int fa1/0 line-protocol
R1(config-track)# exit
R1(config)#
R1(config)# int fa1/0
R1(config-if)# vrrp 1 ip 10.10.100.253
R1(config-if)# vrrp 1 priority 105
R1(config-if)# vrrp 1 preempt delay minimum 180
R1(config-if)# vrrp 1 timers advertise 1
R1(config-if)# vrrp 1 timers learn
R1(config-if)# vrrp 1 track 1
R1(config-if)# 
R1(config-if)# vrrp 2 ip 10.10.100.254
R1(config-if)# vrrp 2 timers advertise 1
R1(config-if)# vrrp 2 timers learn

R2(config)# track 1 int fa1/0 line-protocol
R2(config-track)# exit
R2(config)#
R2(config)# int fa1/0
R2(config-if)# vrrp 1 ip 10.10.100.253
R2(config-if)# vrrp 1 timers advertise 1
R2(config-if)# vrrp 1 timers learn
R2(config-if)# 
R2(config-if)# vrrp 2 ip 10.10.100.254
R2(config-if)# vrrp 2 priority 105
R2(config-if)# vrrp 2 preempt delay minimum 180
R2(config-if)# vrrp 2 timers advertise 1
R2(config-if)# vrrp 2 timers learn
R2(config-if)# vrrp 2 track 1

답글 남기기

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