VRRP [ 게이트웨이 이중화 ]
출처: https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=sik7854&logNo=221869000354
2020. 3. 23. 19:18
게이트웨이 이중화란 ?
호스트 & 서버들은 인터넷과 같은 외부 네트워크로 패킷을 전송할 때 , 게이트웨이를 이용해서 전송합니다.
이 때 , 게이트웨이에 장애가 발생하게 되면 외부 네트워크에 접근이 불가능합니다. [ 인터넷이 안된다 ]
따라서 2개 이상의 게이트웨이를 사용하는 것을 권장하고 있습니다.
게이트웨이를 2개 이상 사용하여 안정적인 네트워크 환경을 구성하는 것을 게이트웨이 이중화라고 부릅니다.
게이트웨이 이중화를 하는데 쓰이는 방법에는 대표적으로 2가지가 있습니다.
HSRP( Host Standby Redundancy Protocol )를 이용하는 방법
VRRP(Virutal Router Redundancy Protocol )를 이용하는 방법
HSRP
|
VRRP
|
시스코 독점 프로토콜 [ 시스코 장비 전용 ]
|
IEEE 표준 [ 모든 장비 ]
|
16 groups
|
255 groups
|
1 active , 1 standby , 여러 개의 후보 라우터
|
1 master , 여러 개의 백업 라우터
|
HSRP와 VRRP는 기능 상에서는 별 차이가 없습니다.
설정 상에는 조금 차이가 있습니다.
HSRP는 주로 VLAN에 설정을 하고 , VRRP는 벤더마다 VLAN이 달라서 주로 물리 인터페이스에 설정합니다.
그리고 HSRP와 VRRP는 게이트웨이 장애 시 게이트웨이를 복구하는 기능을 제공하지만
부하 분산 기능을 제공하지는 않습니다.
즉 대기 모드에 있는 백업 라우터는 놀고만 있는다는 말입니다.
여러 그룹을 만들고 여러 기본 게이트웨이를 할당하여 부하 분산을 가능하게 할 수 있지만
설정에 손이 더 가고 관리적인 부담이 발생하게 됩니다.
따라서 Cisco에서 GLBP(Gateway Load Balancing Protocol)라는 프로토콜을 설계했습니다.
GLBP는 게이트웨이를 복구 해주는 기능 + 부하 분산 기능이 함께 들어가 있는 프로토콜이라고 보시면 됩니다.
시스코 전용 프로토콜이고 실무에서는 자주 사용되지 않는다고 합니다.
저는 VRRP를 통해 게이트웨이 이중화를 실습해보려고 합니다.
VRRP
- VRRP는 IBM에서 개발한 게이트웨이 이중화 솔루션입니다.
- Single Virtual Router 방식입니다.
물리 인터페이스에 설정하게되어서 가상 버추얼 그룹을 하나밖에 만들지 못한다는 말입니다.
(VLAN에 설정하면 여러 개의 그룹을 생성하여 사용이 가능합니다)
- 주 라우터를 master , 예비 라우터를 backup 라우터라고 부릅니다.
- Master , Backup 라우터로 선출은 우선순위를 기준으로 정한다. [ 기본값 : 100 ]
- 가상 라우터의 IP를 라우터의 리얼 IP로도 설정이 가능하다. [ HSRP는 리얼 IP로 설정이 불가능 ]
예를 들어 R1 라우터의 IP가 10.10.10.1 이라고 가정하고 ,
가상 라우터 IP를 설정할 때 10.10.10.1로 지정해도 되고 , 다른 IP 10.10.10.5 이렇게 지정해도 된다는 말
HSRP는 가상 라우터 IP를 R1라우터의 IP와 다르게 지정해야 함.
그리고 만약 R1 라우터의 IP로 가상 라우터의 IP를 지정하게 되는 경우
R1라우터가 자동으로 Master로 선출이 된다.
- VRRP Advertisement Packet [ Master만 전송 ]
Master라우터가 Backup 라우터에게 VRRP Advertisement Packet을 전송함으로써
자신이 살아있음을 알린다. 1초마다 반복적으로 전송되는 것이 기본값이며
멀티캐스트 224.0.0.18 주소로 전송을 시킨다.
[ 그룹에게 전송하는 메시지이므로 멀티캐스트 방식으로 전송 ]
VRRP 설정 및 구성
실습 환경 : GNS3 2.2.5 Version
준비 : GNS3와 GNS3 VM이 설치 및 연결되어 있고 , router IOS 장비가 장착되어 있는 상태여야 합니다.
https://blog.naver.com/sik7854/221850277677
구성하는 법은 위의 VLAN 글에 올려져 있습니다.
먼저 간단하게 vrrp를 테스트할 토폴로지를 구성했습니다.
구성도
vrrp만 간단하게 테스트하기 위함이라 PC1 , PC2 , Internet 부분도 라우터로 구성하였습니다.
VPCS로 구성하여도 상관은 없습니다.
이제 각각 라우터 설정을 해주어야 하는데
먼저 기본적인 IP 설정과 라우팅 설정을 해준 후 vrrp 설정하도록 진행해보려 합니다.
[PC1]
PC1 이후로는 명령어를 줄여서 쳤습니다.
[PC2]
[ Master ]
[ Backup ]
[ Internet ]
PC1 IP 설정 확인
PC1 라우팅 설정 확인
설정해주시고 위의 그림처럼 설정이 잘 되었는지 확인해주시면 되겠습니다.
여기까지가 IP 설정 및 라우팅 설정하는 부분이였습니다.
이제 vrrp 설정을 진행하도록 하겠습니다.
[ master ]
vrrp 1 = 그룹 번호가 1번이란 것 [ 다른 번호로 지정해줄 수 있음 1 - 255까지 가능 ]
vrrp 1 ip 10.10.10.254 = 가상 라우터의 IP 주소를 적는 옵션
vrrp 1 priority 120 = 우선순위 값을 적는 옵션으로 기본값 100 [ 이 우선순위가 높은 라우터가 Master 라우터가 됨 ]
vrrp 1 preempt [ 가상 라우터를 끌어오는 옵션 ] -> 이 옵션이 있어야 장애가 발생했다 복구되었을 때 이 라우터가 다시 Master 라우터가 됨
track 1 interface e 0/2 line-protocol = track 1이라는 오브젝트를 형성 | 인터페이스 0/2번을 모니터링 하는
vrrp 1 track 1 decrement 30 = track 1 오브젝트의 내용 인터페이스 0/2번이 다운되면 우선순위를 30 감소시키라는 뜻
그렇게 되면 Master 라우터의 우선순위가 120 - 30 = 90이 되므로 Backup 라우터가 Master 라우터가 된다.
[ track 명령어를 통해 다양한 이벤트를 감시할 수 있습니다. ]
[ Backup ]
show vrrp brief라고 치면 요약해서 나오고 all이라고 치면 전체 정보를 볼 수 있습니다. 해석해보면
Ethernet 0/0의 vrrp 그룹 1로 설정이 되어 있고
상태는 Master 라우터이라 나와있고
가상 라우터의 IP와 MAC주소가 나와있습니다.
광고 간격은 1초 [ Master라우터에서 백업 라우터에 자신이 살아있다고 알리는 메시지입니다 기본 값 : 1초 간격 ]
Preemption 설정이 활성화 되어 있고
우선순위 값이 120이며
Track 1 상태가 업이 되면(e 0/2가 다운이 되면) 우선순위가 30감소하게 설정되어 있습니다.
이제 설정은 모두 해주었고 테스트를 진행해보겠습니다.
먼저 Ping이 잘 되는지 확인해줍니다.
PC1 -> Master , Backup
PC1 -> Internet
PC2 -> Master , Backup
PC2 -> Internet
정상적으로 동작이 된다면
빨간 화살표가 보이는 부분의 인터페이스를 shutdown시켜보겠습니다.
이론대로라면 Backup이 Master 라우터가 될 것이고 패킷도 Backup 라우터를 통해 주고받아질 것입니다.
[ Master ]
[ Backup ]
[ PC1 ]
e0/0 포트 끊기 전 통신 Master를 통해 패킷 전송되는 것 확인
Master Router의 e0/0 포트 다운
Backup 라우터가 Master 라우터가 됨
Backup라우터를 통해 패킷이 전해지는 것 확인
e 0/0 포트가 다운되었을 때 Master에서 Backup 라우터로 잘 전환되는 것을 확인할 수 있었습니다.
이번엔
e 0/2 포트가 다운되었을 경우에도 잘 전환되는지 확인을 해봐야 될 것입니다.
e0/2 포트 다운
우선순위가 90으로 감소된 것 확인
Backup이 정상적으로 Master가 되는 것 확인
참고 글
'자료수집' 카테고리의 다른 글
전산 개념_Failover Takeover (0) | 2022.09.01 |
---|---|
개발자 역량 측정 메트릭 (0) | 2022.08.22 |
용어 (0) | 2022.08.10 |
[자료수집] OpenCV + CUDA 직접 빌드하기 (Windows/Linux 종합) (0) | 2022.07.30 |
[자료수집] 그래픽 카드별 CUDA 및 Opencv 설정 (0) | 2022.07.30 |