Profile picture

[네트워크] 게이트웨이 이중화 (VRRP) 구성해보기

JaehyoJJAng2023년 05월 27일

▶ 게이트웨이 이중화

PC, 서버들은 인터넷과 같은 외부 네트워크로 패킷을 전송할 때, 게이트웨이를 이용해서 전송한다.

이 때, 게이트웨이에 장애가 발생하면 외부 네트워크로의 접근이 불가능해진다.

따라서 2개 이상의 게이트웨이를 사용할 것을 권장하는데, 게이트웨이를 2개 이상 사용하여 안정적인 네트워크 환경을 구성하는 것을 게이트웨이 이중화라고 부른다.

▸ 이중화 종류

게이트웨이 이중화를 하는데 쓰이는 방법에는 대표적으로 2가지가 존재한다.

  • HSRP(Host Standby Redundancy Protocol)
  • VRRP(Vritual Router Redundancy Protocol)
HSRP VRRP
시스코 독점 프로토콜 [시스코 전용 장비] IEEE 표준 [모든 장비 호환]
16 groups 255 groups
1 active, 1standby, 여러 개의 후보 라우터 1 master, 여러 개의 백업 라우터

HSRP와 VRRP는 기능 상에 큰 차이는 없고, 설정 상에는 조금 차이가 있다.

HSRP는 주로 VLAN에 설정을 하고, VRRP는 벤더마다 VLAN이 다르기 때문에 주로 물리 인터페이스에 설정한다.

그리고 HSRP와 VRRP는 게이트웨이 장애 시 게이트웨이를 복구하는 기능을 제공하지만

부하 분산 기능을 제공하고 있지는 않다.

즉, 대기 모드에 있는 백업 장비의 경우 그냥 말 그대로 대기만 하고 있는 상태인거다.

여러 그룹을 만들고 여러 기본 게이트웨이를 할당하여 부하 분산을 가능하게 할 수도 있지만

복잡한 설정을 해주어야 하고, 그로 인해 관리적인 부담이 발생하게 된다.

따라서 Cisco사에서는 **GLBP(Gateway Load Balancing Protocol)**라는 프로토콜을 설계하였다.

GLBP는 게이트웨이를 복구 해주는 기능 + 부하 분산 기능이 함께 들어있는 프로토콜 이라고 보면 된다.

시스코 전용 프로토콜이며, 실무에서는 자주 사용되지 않는다.


▸ VRRP

VRRP는 IBM에서 개발한 게이트웨이 이중화 프로토콜이다.

Single Virtual Router 방식의 구조를 띄고 있으며, 물리 인터페이스에 설정 하게되어서 가상 버추얼 그룹을 하나밖에 만들지 못한다.
(VLAN에 설정 시 여러 개의 그룹을 생성하여 사용 가능)


주 라우터를 Master, 예비 라우터를 Backup 라우터라고 부른다.

Master, Backup 라우터 선출은 우선 순위를 기준으로 정하는데 기본 값은 100이다.

또한, 가상 라우터의 IP를 라우터의 Real IP로도 지정이 가능하다. (HSRP의 경우 Real IP 설정 불가능)

예를 들어, R1의 gi0/5 인터페이스에 할당된 Real IP가 10.10.10.1 이라고 가정했을 때,

가상 라우터 IP를 설정할 때 10.10.10.1로도 지정해도 되고, 다른 IP 10.10.10.10 이렇게도 지정이 가능하다는 애기이다.

반대로 HSRP의 경우 가상 라우터 IP를 리얼 IP와 겹치지 않도록 10.10.10.1이 아닌 다른 주소를 사용해야 한다.

그리고 R1에 Real IP로 가상 라우터의 IP를 지정하게 되는 경우 R1 라우터가 자동적으로 Master로 선출 된다.


VRRP Packet

Master 라우터가 Backup 라우터에게 VRRP Advertisement Packet을 전송함으로써

자신이 살아있음을 알린다. 1초마다 반복적으로 전송되는 것이 기본 값이며, 멀티 캐스트 224.0.0.18 주소로 전송한다.
(그룹에게 전송하는 메시지이므로 멀티캐스트 방식으로 전송)
image


VRRP Command

Master

track <track object number> interface <interface> line-protocol

interface g0/0
vrrp 1 ip 10.10.10.254
vrrp 1 priority 120
vrrp 1 preempt
vrrp 1 track 1 decrement 30
end
show vrrp all [or brief]
명령어 설명
vrrp 1 그룹 번호가 1번이라는 것 [다른 번호 지정 가능, VLAN에 설정한다면 VLAN 번호와 맞추는 것을 권장 (1 ~ 255번까지)]
vrrp 1 10.10.10.254 가상 라우터의 IP 주소
vrrp 1 priority 120 우선 순위 값. 기본 값은 100임 (우선순위가 높은 라우터가 Master로 선출됨)
vrrp 1 preempt 가상 라우터를 끌어오는 옵션
이 옵션이 있어야 장애가 발생했다 복구되었을 때 이 라우터가 다시 Master가 될 수 있음
track 1 interface g0/2 line-protocol track 1 이라는 오브젝트를 생성
인터페이스 g0/2번을 모니터링
vrrp 1 track 1 decrement 30 track 1 오브젝트의 내용
인터페이스 g0/2번이 다운되면 우선순위를 30 감소 시킴
그렇게 되면 마스터 라우터의 우선순위가 120 - 30 = 90이 되므로 Backup 라우터가 Master 라우터가 됨

Backup

interface g0/0
vrrp 1 ip 10.10.10.254
vrrp 1 priority 100 [기본 값이 100이기 때문에 굳이 주지 않아도 됨.]
vrrp 1 preempt
end
show vrrp all [or brief]

▶ 실습 LAB

VRRP를 실습할 LAB은 아래와 같다.
image


eve-ng에서 구성한 LAB은 아래와 같다. image


▸ 인터페이스 정보

장비명 인터페이스 IP
DSW-1 VLAN2 192.168.219.1/30
DSW-1 VLAN10 192.168.219.129/27
DSW-1 VLAN20 192.168.219.161/27
DSW-1 VLAN 10 Virtual IP(VRRP) 192.168.219.158/27
DSW-1 VLAN 20 Virtual IP(VRRP) 192.168.219.190/27
DSW-2 VLAN2 192.168.219.2/30
DSW-2 VLAN10 192.168.219.130/27
DSW-2 VLAN20 192.168.219.162/27
DSW-2 VLAN 10 Virtual IP(VRRP) 192.168.219.158/27
DSW-2 VLAN 20 Virtual IP(VRRP) 192.168.219.190/27

▶ 백본 설정

▸ 백본 설정

DSW-1 스위치

0. 스패닝 트리 우선 순위 설정 (Master)

spanning-tree vlan 2,10,20 priority 4096

DSW-1(백본 #1)를 Root Bridge로 선정하며, DSW-2(백본 #2)를 후순위로 지정


1. VLAN 데이터 생성

vlan 10
name HOST_NETWORK
exit

vlan 20
name SVR_FARM
exit

2. VLAN Interface 생성

# VLAN 10 설정
int vlan 10
des #### HOST NETWORK ####
ip address 192.168.219.129 255.255.255.224
no ip proxy-arp
no ip redirects
no ip unreachables
vrrp 10 ip 192.168.219.158 # 가상 게이트웨이 IP 지정
vrrp 10 timers learn
vrrp 10 preempt delay minimum 10
vrrp 10 priority 200 # 우선순위 지정
exit

# VLAN 20 설정
int vlan 20
des #### SVR_FARM NETWORK ####
ip address 192.168.219.161 255.255.255.224
no ip proxy-arp
no ip redirects
no ip unreachables
vrrp 20 ip 192.168.219.190
vrrp 20 timers learn
vrrp 20 preempt delay minimum 10
vrrp 20 priority 200

3. L2 스위치와 연결된 인터페이스 포트 설정

int g0/2 # ASW-1와 연결된 인터페이스
switchport mode access
switchport access vlan 10
description #### ASWGi0/2 ####
exit

int g0/3 # ASW-2와 연결된 인터페이스
switchport mode access
switchport access vlan 20
description #### SVR Gi0/3 ####

이제 백본 #1에 대한 인터페이스 IP 설정 및 L2 스위치와의 연결 작업은 끝났다.


4. DSW-1(백본 #01) to DSW-2(백본 #02) 연결

4-1 백본 01과 백본 02간 연결할 Connected IP를 VLAN으로 생성

vlan 2
name BB_LACP
exit

interface vlan 2
des #### DSW-2(BB-02) LACP ####
ip address 192.168.219.1 255.255.255.252
no ip proxy-arp
no ip redirects
no ip unreachables

VLAN 2번의 경우 백본 간 연결을 위한 VLAN으로 사용자 IP가 아닌 Connected IP로 사용되기 때문에 vrrp 설정을 하지 않는다.


5. 포트 채널 생성

interface range gi0/0-1
channel-group 1 mode active
channel-protocol lacp
exit

interface port-channel 1
sw mo tr
sw tr allowed vlan 2,10,20
exit

DSW-2 스위치

0. 스패닝 트리 우선 순위 설정 (Backup)

spanning-tree vlan 2,10,20 priority 8192

DSW-2가 후순위가 되도록 우선순위를 높여주자.


1. VLAN 데이터 생성

vlan 10
name HOST_NETWORK
exit

vlan 20
name SVR_FARM
exit

2. VLAN Interface 생성

# VLAN 10 설정
int vlan 10
des #### HOST NETWORK ####
ip address 192.168.219.130 255.255.255.224
no ip proxy-arp
no ip redirects
no ip unreachables
vrrp 10 ip 192.168.219.158 # 가상 게이트웨이 IP 지정
vrrp 10 timers learn
exit

# VLAN 20 설정
int vlan 20
des #### SVR_FARM NETWORK ####
ip address 192.168.219.162 255.255.255.224
no ip proxy-arp
no ip redirects
no ip unreachables
vrrp 20 ip 192.168.219.190
vrrp 20 timers learn

DSW-2(BB-02)의 VRRP 설정은 우선순위 설정 및 딜레이 타임 설정을 넣지 않는다.


3. L2 스위치와 연결된 인터페이스 포트 설정

int g0/2 # ASW-1와 연결된 인터페이스
switchport mode access
switchport acc vlan 10
description #### ASWGi0/2 ####
exit

int g0/3 # ASW-2와 연결된 인터페이스
switchport mode access
switchport access vlan 20
description #### SVR Gi0/3 ####

이제 백본 #1에 대한 인터페이스 IP 설정 및 L2 스위치와의 연결 작업은 끝났다.


4. DSW-1(백본 #01) to DSW-2(백본 #02) 연결

4-1 백본 01과 백본 02간 연결할 Connected IP를 VLAN으로 생성

vlan 2
name BB_LACP
exit

interface vlan 2
des #### DSW-1(BB-01) LACP ####
ip address 192.168.219.0.2 255.255.255.252
no ip proxy-arp
no ip redirects
no ip unreachables

VLAN 2번의 경우 백본 간 연결을 위한 VLAN으로 사용자 IP가 아닌 Connected IP로 사용되기 때문에 vrrp 설정을 하지 않는다.


5. 포트 채널 생성

interface range gi0/0-1
channel-group 1 mode active
channel-protocol lacp
exit

interface port-channel 1
sw mo tr
sw tr allowed vlan 2,10,20
exit

▸ L2 스위치 설정

ASW-1 스위치

1. 스패닝트리 모드를 rapid-pvst로 변경

spanning-tree mode rapid-pvst

2. 호스트와 연결된 포트 설정

int range Gi0/0-10
desc #### HR TEAM ####
no shutdown
sw mo ac
sw ac vlan 10
spanningtree portfast
spanningtree bpduguard enable
!

3. 백본과 연결된 포트 설정

## BB-01
interface Gi0/0
desc ### BB-01 ###
sw mo ac # VLAN 10만 설정되어있으므로 트렁크로 설정할 필요가 없음.
sw ac vlan 10

## BB-02
## 해당 포트의 경우 Blocking 됨.
interface Gi0/1
desc ### BB-02 ###
sw mo ac
sw ac vlan 10

ServerFarm 스위치

1. 스패닝트리 모드를 rapid-pvst로 변경

spanning-tree mode rapid-pvst

2. 호스트와 연결된 포트 설정

int range Gi0/0-10
desc #### Server FARM ####
no shutdown
sw mo ac
sw ac vlan 20
spanningtree portfast
spanningtree bpduguard enable
!

3. 백본과 연결된 포트 설정

## BB-01
interface Gi0/0
desc ### BB-01 ###
sw mo ac # VLAN 20만 설정되어있으므로 트렁크로 설정할 필요가 없음.
sw ac vlan 20

## BB-02
## 해당 포트의 경우 Blocking 됨.
interface Gi0/1
desc ### BB-02 ###
sw mo ac
sw ac vlan 20

▶ 통신 테스트

서버쪽에서 VLAN10, VLAN20 가상 IP로 ping을 보내보자.

ping -c 5 192.168.219.158 # VLAN 10 가상 IP
ping -c 5 192.168.219.190 # VLAN 20 가상 IP

image


Loading script...