νƒœκ·Έ 보관물: GLBP

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