ํƒœ๊ทธ ๋ณด๊ด€๋ฌผ: FHRP

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

[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

[FHRP] HSRP์— ๋Œ€ํ•ด

First Hop Redundancy Protocol

๊ฒŒ์ดํŠธ์›จ์ด ์ด์ค‘ํ™” ํ”„๋กœํ† ์ฝœ์ด๋‹ค.
๋™์ž‘ ์ค‘์ธ ๊ฒŒ์ดํŠธ์›จ์ด๊ฐ€ Down๋์„ ๋•Œ, ๋‹ค๋ฅธ ์žฅ๋น„๊ฐ€ ๊ฒŒ์ดํŠธ์›จ์ด ์—ญํ• ์„ ์œ„์ž„๋ฐ›๋Š” ๊ฒƒ์ด๋‹ค.

๋‹จ, FHRP๋กœ ์ด์ค‘ํ™”ํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ๋ผ์šฐํŒ…์„ ํ†ตํ•ด ์ด์ค‘ํ™” ๊ตฌ์„ฑํ•˜๋Š” ๊ฒƒ์ด ๋” ํšจ์œจ์ ์ผ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ž˜ ์„ ํƒํ•ด์„œ ์‚ฌ์šฉํ•ด์•ผํ•œ๋‹ค.

FHRP์—๋Š” ํฌ๊ฒŒ 3๊ฐ€์ง€ ํ”„๋กœํ† ์ฝœ์ด ์žˆ๋‹ค. ์˜ค๋Š˜์€ HSRP์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž.
โ”Œ โ”€ HSRP
โ”œ โ”€ VRRP
โ”” โ”€ GLBP

  1. HSRP
  2. HSRP ํŒจํ‚ท ๊ตฌ์กฐ
  3. HSRP ์„ค์ •
  4. MHSRP

1. HSRP

Hot Standby Router Protocol

๊ทธ๋ฆผ1. HSRP

Cisco ์—์„œ ๊ฐœ๋ฐœํ•œ ๊ฒŒ์ดํŠธ์›จ์ด ์ด์ค‘ํ™” ํ”„๋กœํ† ์ฝœ์ด๋‹ค.

1-1. HSRP ์—ญํ• 

HSRP๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์žฅ๋น„ ์ค‘ ํ•˜๋‚˜๊ฐ€ Active ๋ผ์šฐํ„ฐ, ๋‚˜๋จธ์ง€ ํ•˜๋‚˜๋Š” Standby ๋ผ์šฐํ„ฐ๋กœ ์ง€์ •๋œ๋‹ค.

Active ๋ผ์šฐํ„ฐ
๊ฒŒ์ดํŠธ์›จ์ด ์—ญํ• ์„ ํ•˜๋Š” ์žฅ๋น„. ๋‚ด๋ถ€ ํด๋ผ์ด์–ธํŠธ/์žฅ๋น„๋“ค์€ ๊ฐ€์ƒ IP๋กœ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค.

Standby ๋ผ์šฐํ„ฐ
Active ๋ผ์šฐํ„ฐ๊ฐ€ ์ž˜ ๋™์ž‘ํ•˜๋Š” ์ง€ ๊ฐ์‹œํ•˜๋Š” ์žฅ๋น„. Active ๋ผ์šฐํ„ฐ๊ฐ€ ์ œ๋Œ€๋กœ ๋™์ž‘ํ•˜์ง€ ์•Š์„ ๋•Œ, Active ๋ผ์šฐํ„ฐ ์—ญํ• ์„ ์ด์–ด ๋ฐ›๋Š”๋‹ค.

1-2. HSRP ๋ฒ„์ „

HSRP ๋ฒ„์ „์€ 1, 2๊ฐ€ ์žˆ๋‹ค. ๋ฒ„์ „ 1๊ณผ ๋ฒ„์ „ 2๋Š” ์„œ๋กœ ํ˜ธํ™˜ํ•  ์ˆ˜ ์—†๋‹ค.
์ธํ„ฐํŽ˜์ด์Šค๋งˆ๋‹ค ๊ฐ ๋‹ค๋ฅธ ๋ฒ„์ „์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

HSRP version 1
– ๊ธฐ๋ณธ์œผ๋กœ ๋™์ž‘ํ•˜๋Š” ๋ฒ„์ „.
– ๋ชฉ์ ์ง€ IP : 224.0.0.2 , Multicast , UDP 1985
– ๊ธฐ๋ณธ MAC : 0000.0c07.acNN
– HSRP ๊ทธ๋ฃน๋ฒˆํ˜ธ : 0 – 255
์‹œ์Šค์ฝ” ๊ทธ๋ฃน ๊ด€๋ฆฌ ํ”„๋กœํ† ์ฝœ๊ณผ ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ IP๊ฐ€ ์ค‘๋ณต๋˜์–ด ๊ฐ™์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค. MAC ๋’ค 2์ž๋ฆฌ๋Š” ๊ทธ๋ฃน ๋ฒˆํ˜ธ์ด๋‹ค.

HSRP version 2
– ๊ธฐ๋ณธ์œผ๋กœ ๋™์ž‘ํ•˜๋Š” ๋ฒ„์ „.
– ๋ชฉ์ ์ง€ IP : 224.0.0.102 , Multicast , UDP 1985
– ๊ธฐ๋ณธ MAC : 0000.0c9f.fNNN
– HSRP ๊ทธ๋ฃน๋ฒˆํ˜ธ : 0 – 4095
version 1์—์„œ ์‹œ์Šค์ฝ” ๊ทธ๋ฃน ๊ด€๋ฆฌ ํ”„๋กœํ† ์ฝœ ๋™์‹œ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์—ˆ์œผ๋‚˜, version 2์—์„œ๋Š” ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ IP๊ฐ€ ๋ณ€๊ฒฝ๋˜์–ด ๋™์‹œ์— ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๋‹ค.

1-3. HSRP ์ƒํƒœ

โ‘  Initial State
์•„์ง HSRP๊ฐ€ ๋™์ž‘ํ•˜์ง€ ์•Š๋Š” ์ƒํƒœ์ด๋‹ค.

โ‘ก Learn State
์•„์ง ๊ฐ€์ƒ IP๊ฐ€ ๊ฒฐ์ •๋˜์ง€ ์•Š์€ ์ƒํƒœ์ด๋‹ค.
Active ๋ผ์šฐํ„ฐ๋กœ๋ถ€ํ„ฐ Hello Message๋ฅผ ๋Œ€๊ธฐํ•œ๋‹ค.

โ‘ข Listen State
๊ฐ€์ƒ IP๊ฐ€ ๊ฒฐ์ •๋œ ์ƒํƒœ์ด๋‹ค.
Active / Standby ๋ผ์šฐํ„ฐ๋กœ๋ถ€ํ„ฐ Hello Message๋ฅผ ๋Œ€๊ธฐํ•œ๋‹ค.

โ‘ฃ Speak State
์ฃผ๊ธฐ์ ์œผ๋กœ Hello Message๋ฅผ ์ „์†กํ•œ๋‹ค.
Active / Standby ๋ผ์šฐํ„ฐ ์„ ์ถœ์— ์ฐธ์—ฌํ•œ๋‹ค.

โ‘ค Active State / Standby State

1-4. HSRP ์ธ์ฆ

HSRP Spoofing(๊ณต๊ฒฉ์ž์˜ ์žฅ๋น„๊ฐ€ HSRP Active ๋ผ์šฐํ„ฐ๊ฐ€ ๋˜๋Š” ๊ฒƒ)์„ ๋ง‰๊ธฐ ์œ„ํ•ด ์ธ์ฆ์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค.

Plain-text ๋˜๋Š” MD5๋กœ ์ธ์ฆ์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.


2. HSRP ํŒจํ‚ท ๊ตฌ์กฐ

HSRP ํŒจํ‚ท ํ˜•์‹
  • Version (1 Byte) : HSRP ๋ฒ„์ „.
  • Op Code (1 Byte) : ํŒจํ‚ท ์ข…๋ฅ˜.
    • 0 – Hello packet
    • 1 – Coup packet
      ์ž์‹ ์ด Active ์—ญํ• ์„ ํ•˜๊ณ ์žํ•  ๋•Œ.
    • 2 – Resign packet
      Active ์—ญํ• ์„ ๋‹ค๋ฅธ ๋ผ์šฐํ„ฐ๋กœ ๋„˜๊ฒจ์ค„ ๋•Œ.
  • State (1 Byte) : HSRP ์ƒํƒœ.
  • Hello Time (1 Byte) : Hello Message ์ฃผ๊ธฐ (์ดˆ ๋‹จ์œ„)
  • Hold Time (1 Byte) : Hold Time ๋‚ด Hello Message๋ฅผ ์ˆ˜์‹ ํ•˜์ง€ ๋ชปํ•˜๋ฉด, ํ•ด๋‹น ์žฅ๋น„๋Š” Down๋œ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผ. (์ดˆ ๋‹จ์œ„)
  • Priority (1 Byte) : Active / Standby ๋ผ์šฐํ„ฐ๋ฅผ ์„ ์ถœํ•  ๋•Œ ์‚ฌ์šฉ. ๋†’์€ ์šฐ์„ ์ˆœ์œ„ ์žฅ๋น„๊ฐ€ Active๋กœ ์„ ์ถœ.
  • Group (1 Byte) : HSRP ๊ทธ๋ฃน ๋ฒˆํ˜ธ.
  • Authentication Data (8 Byte) : HSRP์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์•”ํ˜ธ.
  • Virtual IP Address (4 Byte) : HSRP ๊ทธ๋ฃน์˜ ๊ฐ€์ƒ IP ์ฃผ์†Œ.

3. HSRP ์„ค์ •

ํ† ํด๋กœ์ง€1. HSRP ์˜ˆ์‹œ

๊ธฐ๋ณธ์„ค์ • โ†’ HSRP ์„ค์ • โ†’ HSRP ์„ค์ • ํ™•์ธ โ†’ HSRP ์ธ์ฆ ์„ค์ •

[๊ธฐ๋ณธ]
– Access ํฌํŠธ ์„ค์ •
SW1 fa2/1
SW2 fa2/3
SW3 fa2/0, fa2/1, fa2/3
SW4 fa2/1, fa2/10, fa2/11

– IP ์„ค์ •
๊ฐ ์žฅ๋น„์˜ ์ธํ„ฐํŽ˜์ด์Šค
(PC GW๋Š” Virtual IP๋กœ ์„ค์ •)

– OSPF ๋ผ์šฐํŒ…
SW1 fa0/0
SW2 fa0/0
R1 fa0/0, fa1/0, loopback 0

[HSRP ์„ค์ •]

SW1(config)# int vlan 120
SW1(config-if)# standby 1 ip 10.10.100.254
SW1(config-if)# standby 1 track f0/0
SW1(config-if)# standby 1 priority 105
SW1(config-if)# standby 1 preempt delay minimum 180


SW2(config)# int vlan 120
SW2(config-if)# standby 1 ip 10.10.100.254
SW2(config-if)# standby 1 preempt

3: ๋ฒ„์ „์„ ๋ณ„๋„๋กœ ์„ค์ •ํ•˜์ง€ ์•Š์œผ๋ฉด, Version 1์ด๋ฏ€๋กœ ๊ทธ๋ฃน๋ฒˆํ˜ธ๋Š” 0 -255 ์‚ฌ์ด ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
4: f0/0 ์ด Down๋  ๊ฒฝ์šฐ ์šฐ์„ ์ˆœ์œ„๋ฅผ 10 ๋‚ฎ์ถ˜๋‹ค.
5: ๊ธฐ๋ณธ Priority๋Š” 100์ด๋‹ค. SW1์„ Active ๋ผ์šฐํ„ฐ๋กœ ์„ค์ •ํ•˜๊ธฐ ์œ„ํ•ด 105๋กœ ์„ค์ •ํ–ˆ๋‹ค. ๋˜ํ•œ, 6๋ฒˆ์งธ ์ค„ ์„ค์ •์— ์˜ํ•ด f0/0์ด Down๋˜๋ฉด, ์šฐ์„ ์ˆœ์œ„ 10์ด ๊ฐ์†Œ๋˜์–ด 95๊ฐ€ ๋œ๋‹ค. ์ด ๋•Œ, Standby ๋ผ์šฐํ„ฐ๋Š” ๊ณ„์† ์šฐ์„ ์ˆœ์œ„๊ฐ€ 100์ด๋ฏ€๋กœ Standby ๋ผ์šฐํ„ฐ๊ฐ€ Active๋กœ ๋™์ž‘ํ•˜๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๋‹ค. ๋”ฐ๋ผ์„œ ์šฐ์„ ์ˆœ์œ„๋Š” 101-109 ์‚ฌ์ด์˜ ๊ฐ’์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ํŽธ๋ฆฌํ•˜๋‹ค๊ณ  ํ•œ๋‹ค.
6: Active ๋ผ์šฐํ„ฐ๊ฐ€ Standby ๋ผ์šฐํ„ฐ๋กœ ๋ณ€๊ฒฝ๋˜์—ˆ์„ ๋•Œ, ๋‹ค์‹œ Active ๋ผ์šฐํ„ฐ ์—ญํ• ๋กœ ์ˆ˜ํ–‰ํ•˜๊ฒŒ ํ•œ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ๋Š” ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ์‚ด์•„๋‚ฌ์„ ๋•Œ ๋ฐ”๋กœ Active ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•˜์ง€๋งŒ, ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”์ด ์™„์„ฑ๋˜์ง€ ๋ชปํ•ด ํŠน์ • ๋ชฉ์ ์ง€๋กœ ๋ผ์šฐํŒ…์ด ์•ˆ๋  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ๋‹ค์‹œ ํ™œ์„ฑํ™”๋˜์–ด๋„ 180์ดˆ ํ›„ Active ๋ผ์šฐํ„ฐ๋กœ ๋™์ž‘ํ•˜๊ฒŒ๋” ์„ค์ •ํ•œ๋‹ค.

[HSRP ํ™•์ธ]
– show standby brief

SW1์€ Active , SW2๋Š” Standby ์ƒํƒœ์ธ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

– show standby

๊ทธ๋ฃน 1 , Virtual IP , ์ƒ๋Œ€ HSRP ๋ผ์šฐํ„ฐ์— ๋Œ€ํ•œ ์ •๋ณด , ์šฐ์„ ์ˆœ์œ„๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

[HSRP ์ธ์ฆ ์„ค์ •]

– Plain-text ์ธ์ฆ

SW1(config)# int vlan 120
SW1(config-if)# standby 1 authentication text <WORD>


SW2(config)# int vlan 120
SW2(config-if)# standby 1 authentication text <WORD>

– MD5 ์ธ์ฆ (Key-String ์‚ฌ์šฉ)

SW1(config-if)# standby 1 authentication md5 key-string <WORD>

SW2(config-if)# standby 1 authentication md5 key-string <WORD>

– MD5 ์ธ์ฆ (Key-Chain ์‚ฌ์šฉ)

SW2(config)# key chain <NAME>
SW2(config-keychain)# key [0-2147483647]
SW2(config-keychain-key)# key-string <WORD>
SW2(config-keychain-key)# exit
SW2(config-keychain)# exit
SW2(config)#
SW2(config)# int vlan 120
SW2(config-if)# standby 1 authentication md5 key-chain <NAME>


SW1(config)# key chain <NAME>
SW1(config-keychain)# key [0-2147483647]
SW1(config-keychain-key)# key-string <WORD>
SW1(config-keychain-key)# exit
SW1(config-keychain)# exit
SW1(config)#
SW1(config)# int vlan 120
SW1(config-if)# standby 1 authentication md5 key-chain <NAME>
๏ปฟ

4. MHSRP

Multiple HSRP

HSRP = Interface 1 ๊ฐœ — HSRP Group 1 ๊ฐœ
MHSRP = Interface 1 ๊ฐœ — HSRP Group ์—ฌ๋Ÿฌ ๊ฐœ

๊ธฐ์กด HSRP๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๋ฉด, Active ๋ผ์šฐํ„ฐ๋กœ๋งŒ ๋ผ์šฐํŒ…์ด ๋œ๋‹ค.
์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ ์ž MHSRP๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

ํ† ํด๋กœ์ง€2. MHSRP ์˜ˆ์‹œ

SW1๊ณผ SW2๋ฅผ HSRP ๋‘ ๊ทธ๋ฃน์œผ๋กœ ๋‚˜๋ˆ„๊ณ ,
๊ฐ๊ฐ 10.10.100.253 / 10.10.100.254๋ฅผ ํ• ๋‹นํ•œ๋‹ค.
PC์˜ GW๋„ ๊ฐ๊ฐ ์ง€์ •ํ•œ๋‹ค.
์ด๋ ‡๊ฒŒ MHSRP๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

[MHSRP ์„ค์ •]

SW1(config)# int vlan 120
SW1(config-if)# standby 1 ip 10.10.100.253
SW1(config-if)# standby 1 priority 105
SW1(config-if)# standby 1 preempt delay minimum 180
SW1(config-if)# standby 1 track f0/0
SW1(config-if)#
SW1(config-if)# standby 2 ip 10.10.100.254
SW1(config-if)# standby 2 preempt


SW2(config)# int vlan 120
SW2(config-if)# standby 1 ip 10.10.100.253
SW2(config-if)# standby 1 preempt
SW2(config-if)#
SW2(config-if)# standby 2 ip 10.10.100.254
SW2(config-if)# standby 2 priority 105
SW2(config-if)# standby 2 preempt delay minimum 180
SW2(config-if)# standby 2 track f0/0