소개
이 문서에서는 HSRP를 사용하여 멀티홈 BGP(Border Gateway Protocol) 네트워크에서 이중화를 제공하는 방법을 설명합니다.
사전 요구 사항
요구 사항
다음 주제에 대한 지식을 보유하고 있으면 유용합니다.
사용되는 구성 요소
이 문서는 특정 소프트웨어 및 하드웨어 버전으로 한정되지 않습니다.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
표기 규칙
문서 규칙에 대한 자세한 내용은 Cisco 기술 팁 표기 규칙을 참조하십시오.
배경 정보
이 문서에서는 별개의 두 ISP(Internet Service Provider)에 연결되어 있는 멀티홈 BGP(Border Gateway Protocol) 네트워크에서 이중화를 제공하는 방법을 설명합니다. 한 ISP에 대한 연결 실패 시 트래픽은 HSRP(Hot Standby Router Protocol)와 BGP set as-path {tag | prepend as-path-string} 명령 및 HSRP(Hot Standby Router Protocol)
이 문서의 컨피그레이션 목적은 다음 네트워크 정책을 달성하는 것입니다.
-
네트워크 192.168.21.0/24의 호스트에서 발생하며 인터넷으로 향하는 모든 아웃바운드 트래픽은 R1을 통해 ISP-A로 라우팅되어야 합니다. 그러나 해당 링크가 실패하거나 R1이 실패할 경우 모든 아웃바운드 트래픽은 수동 개입 없이 R2를 통해 ISP-B로(그리고 나서 인터넷으로) 다시 라우팅되어야 합니다.
-
인터넷에서 자동 시스템 AS 100으로 향하는 모든 인바운드 트래픽은 R1을 통해 라우팅되어야 합니다. ISP-A에서 R1로의 링크에 오류가 발생할 경우 인바운드 트래픽은 ISP-B를 통해 R2로 자동으로 다시 라우팅되어야 합니다.
이러한 요구 사항은 BGP와 HSRP의 두 가지 기술을 통해 충족할 수 있습니다.
완전 이중화 아웃바운드 경로의 첫 번째 목표는 HSRP를 통해 실현할 수 있습니다. 일반적으로 PC에는 라우팅 정보를 수집하고 교환할 수 있는 기능이 없습니다. 기본 게이트웨이의 IP 주소는 PC에 정적으로 구성되며, 게이트웨이 라우터가 다운되면 PC는 로컬 네트워크 세그먼트를 벗어난 모든 디바이스에 대한 연결이 끊어집니다. 이는 대체 게이트웨이가 있는 경우에도 마찬가지입니다. HSRP는 이러한 요구 사항을 충족하도록 설계되었습니다. 자세한 내용은 핫 스탠바이 라우터 프로토콜 기능 이해를 참조하십시오.
두 번째 목표는 BGP set as-path prepend 명령으로 달성할 수 있으며, 이를 통해 BGP는 접두사 192.168.21.0/24에 대한 R2-ISP-B 링크를 통해 더 긴 AS 경로를 전파할 수 있습니다(자체 AS 번호를 두 번 이상 접두사로 붙임). 따라서 AS 100의 외부에서 오는 192.168.21.0/24으로 향하는 모든 트래픽은 ISP-A에서 R1 링크까지 더 짧은 AS 경로를 사용합니다. 기본 경로(ISP-A에서 R1로)가 실패하면 모든 트래픽이 네트워크 192.168.21.0/24에 도달하기 위해 더 긴 AS 경로(ISP-B에서 R2로)를 사용합니다. BGP set as-path prepend 명령에 대한 자세한 내용은 Examine Border Gateway Protocol Case Studies 문서의 AS_PATH Attribute 다이어그램을 참조하십시오.
구성
이 섹션에는 이 문서에서 설명하는 기능을 구성하기 위한 정보가 표시됩니다.
네트워크 다이어그램
이 문서에서는 여기에 표시된 네트워크 설정을 사용합니다.
이 다이어그램에서 라우터 1(R1) 및 라우터 2(R2)는 각각 ISP-A(AS 300) 및 ISP-B(AS 400)와의 eBGP(external BGP) 피어링이 있는 AS 100에 있습니다. 라우터 6(R6)은 ISP-A 및 ISP-B와의 eBGP 피어링이 있는 AS 600의 일부입니다. R1. R2에는 최적의 라우팅을 보장하기 위해 필요한 iBGP 피어링이 있습니다. 예를 들어 AS 400 내부 경로에 연결하려고 하면 R1은 AS 300보다 긴 경로를 사용하지 않습니다. R1은 대신 트래픽을 R2로 전달합니다.
R1 및 R2는 또한 공통 이더넷 세그먼트를 통해 HSRP에 대해 구성됩니다. 동일한 이더넷 세그먼트의 호스트에는 HSRP 대기 IP 주소 192.168.21.10을 가리키는 기본 경로가 있습니다.
설정
R1 |
Current configuration
hostname R1
!
interface serial 0
ip address 192.168.31.1 255.255.255.0
!
interface Ethernet1
ip address 192.168.21.1 255.255.255.0
standby 1 priority 105
standby 1 preempt delay minimum 60
standby 1 ip 192.168.21.10
standby 1 track Serial0
!--- The standby track serial command tracks the state of the Serial0 interface and brings down the !--- priority of standby group 1, if the interface goes down. The standby preempt delay minimum 60 command makes sure that !--- R1 preempts and takes over as active router again. This command also ensures that !--- the router waits 60 seconds before doing so in order to give BGP time enough to converge and populate the routing table. This avoids !--- traffic being sent to R1 before it is ready to forward it.
!
router bgp 100
no synchronization
network 192.168.21.0
neighbor 192.168.21.2 remote-as 100
neighbor 192.168.21.2 next-hop-self
neighbor 192.168.31.3 remote-as 300
no auto-summary
!
|
R2 |
Current configuration:
hostname R2
!
interface serial 0
ip address 192.168.42.2 255.255.255.0
!
interface Ethernet1
ip address 192.168.21.2 255.255.255.0
standby 1 priority 100
standby 1 preempt
standby 1 ip 192.168.21.10
!
!
router bgp 100
no synchronization
network 192.168.21.0
neighbor 192.168.21.1 remote-as 100
neighbor 192.168.21.1 next-hop-self
neighbor 192.168.42.4 remote-as 400
neighbor 192.168.42.4 route-map foo out
!--- It appends AS 100 to the BGP updates sent to AS 400 in order to make it a backup for the ISP-A to R1 path.
no auto-summary
!
access-list 1 permit 192.168.21.0
! route-map foo permit 10
match ip address 1
set as-path prepend 100
end |
다음을 확인합니다.
이 섹션에서는 컨피그레이션이 제대로 작동하는지 확인하는 데 사용할 수 있는 정보를 제공합니다.
명령 출력 및 특정 패턴에 따라 CLI Analyzer에는 도움말과 추가 정보를 제공하는 링크와 툴팁이 포함될 수 있습니다.
참고: 등록된 Cisco 사용자만 내부 Cisco 툴 및 정보에 액세스할 수 있습니다.
어떤 네트워크에서든 이중화를 구성할 때 다음 두 가지를 고려해야 합니다.
로컬 네트워크에서 목적지로 이동하는 패킷
이 예에서 로컬 네트워크는 192.168.21.0/24입니다. 라우터 R1 및 R2는 인터페이스 Ethernet1에 연결된 이더넷 세그먼트에서 HSRP를 실행하고 있습니다. R1은 대기 우선순위가 105인 HSRP 활성 라우터로 구성되고 R2는 대기 우선순위가 100으로 구성됩니다. R1의 standby 1 track Serial0(s0) 명령을 사용하면 HSRP 프로세스에서 해당 인터페이스를 모니터링할 수 있습니다. 인터페이스 상태가 다운되면 HSRP 우선순위가 감소합니다. 인터페이스 s0의 라인 프로토콜이 다운되면 HSRP 우선순위가 95로 감소합니다(우선순위가 감소되는 기본값은 10). 이렇게 하면 다른 HSRP 라우터 R2의 우선순위가 더 높습니다(우선순위 100). R2는 HSRP 활성 라우터가 되어 활성 HSRP 주소 192.168.21.10으로 향하는 트래픽을 끌어옵니다.
R1의 인터페이스 s0이 작동 중일 때 활성 HSRP 라우터를 보려면 show standby 명령을 실행합니다.
R1#show standby
Ethernet1 - Group 1
Local state is Active, priority 105, may preempt
Hellotime 3 sec, holdtime 10 sec
Next hello sent in 0.338
Virtual IP address is 192.168.21.10 configured
Active router is local
Standby router is 192.168.21.2 expires in 8.280
Virtual mac address is 0000.0c07.ac01
13 state changes, last state change 00:46:10
IP redundancy name is "hsrp-Et0-1"(default)
Priority tracking 1 interface, 1 up:
Interface Decrement State
Serial0 10 Up
R2#show standby
Ethernet1 - Group 1
State is Standby
56 state changes, last state change 00:05:13
Virtual IP address is 192.168.21.10
Active virtual MAC address is 0000.0c07.ac01
Local virtual MAC address is 0000.0c07.ac01 (default)
Hello time 3 sec, hold time 10 sec
Next hello sent in 1.964 secs
Preemption enabled
Active router is 192.168.21.1, priority 105 (expires in 9.148 sec)
Standby router is local
Priority 100 (default 100)
IP redundancy name is "hsrp-Et0-1" (default)
R1#show standby ethernet 1 brief
P indicates configured to preempt.
|
Interface Grp Prio P State Active addr Standby addr Group addr
Et1 1 105 P Active local 192.168.21.2 192.168.21.10
R1#
R2#show standby ethernet 1 brief
P indicates configured to preempt.
|
Interface Grp Prio P State Active Standby Virtual IP
Et1 1 100 P Standby 192.168.21.1 local 192.168.21.10
R2#
show standby 명령은 우선순위가 더 높은 105이므로 R1을 활성 HSRP 라우터로 표시합니다. R1은 활성 라우터이므로 R1은 대기 IP 주소 192.168.21.10을 소유합니다. 기본 게이트웨이로 구성된 호스트의 모든 IP 트래픽은 R1을 통해 192.168.21.10 경로로 전달됩니다.
라우터 R1의 s0 인터페이스를 중단하면 R1의 HSRP가 standby track serial 0 명령으로 구성되므로 HSRP 활성 라우터가 변경됩니다. Serial 0 인터페이스 프로토콜이 다운되면 HSRP는 R1의 우선순위를 10(기본값)씩 95로 줄입니다. R1은 상태를 Standby(대기)로 변경합니다. R2는 활성 라우터로 대체되므로 대기 IP 주소 192.168.21.10을 소유합니다. 따라서 192.168.21.0/24 세그먼트의 호스트에서 오는 모든 트래픽은 R2를 통해 트래픽을 라우팅합니다. debug 및 show 명령 출력도 동일하게 확인합니다.
R1(config)#interface s0
R1(config-if)#shut
%STANDBY-6-STATECHANGE: Standby: 1: Ethernet1 state Active -> Speak
%LINK-5-CHANGED: Interface Serial0, changed state to administratively down
%LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0, changed state to down
%STANDBY-6-STATECHANGE: Standby: 1: Ethernet1 state Speak -> Standby
%LINK-3-UPDOWN: Interface Serial0, changed state to down:
%STANDBY-6-STATECHANGE: Standby: 1: Ethernet1 state Active -> Speak
%LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0, changed state to down
%STANDBY-6-STATECHANGE: Standby: 1: Ethernet1 state Speak -> Standby
R1이 대기 라우터가 됩니다.
R2가 활성 상태가 되면 다음과 유사한 출력이 표시됩니다.
R2#
%STANDBY-6-STATECHANGE: Standby: 1: Ethernet1 state Standby -> Active
R1 및 R2에서 show standby 명령을 실행할 경우, 인터페이스 s0이 R1에서 중단된 후 스탠바이 우선순위를 확인합니다.
R1#show standby
Ethernet1 - Group 1
Local state is Standby, priority 95 (confgd 105), may preempt
Hellotime 3 sec, holdtime 10 sec
Next hello sent in 0.808
Virtual IP address is 192.168.21.10 configured
Active router is 192.168.21.2, priority 100 expires in 9.008
Standby router is local
15 state changes, last state change 00:00:40
IP redundancy name is "hsrp-Et0-1" (default)
Priority tracking 1 interface, 0 up:
Interface Decrement State
Serial0 10 Down (administratively down)
R1#
R2#show standby
Ethernet1 - Group 1
State is Active
57 state changes, last state change 00:00:33
Virtual IP address is 192.168.21.10
Active virtual MAC address is 0000.0c07.ac01
Local virtual MAC address is 0000.0c07.ac01 (bia)
Hello time 3 sec, hold time 10 sec
Next hello sent in 2.648 secs
Preemption enabled
Active router is local
Standby router is 192.168.21.1, priority 95 (expires in 7.096 sec)
Priority 100 (default 100)
IP redundancy name is "hsrp-Et0-1" (default)
R2#
R2#
R1#sh standby ethernet 1 brief
P indicates configured to preempt.
|
Interface Grp Prio P State Active addr Standby addr Group addr
Et0 1 95 P Standby 192.168.21.2 local 192.168.21.10
R1#
R2#sh standby ethernet 1 brief
P indicates configured to preempt.
|
Interface Grp Prio P State Active Standby Virtual IP
Et0 1 100 P Active local 192.168.21.1 192.168.21.10
R2#
R1의 대기 우선순위가 105에서 95로 감소했으며 R2가 활성 라우터가 되었습니다.
요약
ISP-A와 R1 간의 연결에 실패할 경우 HSRP는 R1에서 대기 그룹의 우선순위를 낮춥니다. R1은 활성 상태에서 대기 상태로 전환됩니다. R2는 대기 상태에서 활성 상태로 전환됩니다. 스탠바이 IP 주소 192.168.21.10은 R2에서 활성화되며, 인터넷으로 트래픽을 전송하는 호스트는 R2와 ISP-B를 사용하여 아웃바운드 트래픽에 대한 대체 경로를 제공합니다.
HSRP standby track 명령에 대한 자세한 내용은 Use the Standby Preempt and Standby Track Commands를 참조하십시오.
목적지에서 로컬 네트워크로 들어오는 패킷
배경 정보 섹션에 정의된 네트워크 정책에 따르면 ISP-A는 기본 경로이고 ISP-B는 192.168.21.0/24으로 들어오는 트래픽의 백업 경로이므로(ISP-A에 대한 대역폭 연결이 더 커지는 등의 이유로) R2의 ISP-B에 대해 발표된 BGP 업데이트에 고유한 AS 번호를 추가하여 ISP-B를 통한 AS 경로가 더 길게 나타나도록 할 수 있습니다. 이를 위해 BGP 인접 디바이스 192.168.42.4에 대한 경로 맵을 구성합니다. 해당 경로 맵에서 set as-path prepend 명령으로 사용자의 AS를 추가합니다. 인접 디바이스 192.168.42.4에 대한 아웃바운드 업데이트에 이 경로 맵을 적용합니다.
참고: 프로덕션 환경에서는 AS 번호를 두 번 이상 추가해야 발표된 경로의 선호도가 낮아집니다.
R1에서 ISP-A로, R2에서 ISP-B로 BGP 연결이 설정된 경우 네트워크 192.168.21.0에 대한 R6의 BGP 테이블입니다.
R6#
show ip bgp 192.168.21.0
BGP routing table entry for 192.168.21.0/24, version 30
Paths: (2 available, best #1)
Advertised to non peer-group peers:
192.168.64.4
300 100
192.168.63.3 from 192.168.63.3 (10.5.5.5)
Origin IGP, localpref 100, valid, external, best, ref 2
400 100 100
192.168.64.4 from 192.168.64.4 (192.168.64.4)
Origin IGP, localpref 100, valid, external
ISP-B의 AS 경로 {400 100 100}에 비해 AS 경로 길이가 더 작으므로 BGP는 ISP-A를 통해 최상의 경로를 AS {300 100}로 선택합니다. ISP-B에서 AS 경로 길이가 더 긴 이유는 R2의 AS 경로 앞에 컨피그레이션이 있기 때문입니다.
R1과 ISP-A 간에 연결이 끊어질 경우 R6는 ISP-B를 통해 대체 경로를 선택하여 AS 100의 네트워크 192.168.21.0/24에 연결해야 합니다.
R1(config)#interface s0
R1(config-if)#shut
%LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0, changed state to down
네트워크 192.168.21.0/24에 대한 R6의 BGP 테이블입니다.
R6#show ip bgp 192.168.21.0
BGP routing table entry for 192.168.21.0/24, version 31
Paths: (1 available, best #1)
Advertised to non peer-group peers:
192.168.63.3
400 100 100
192.168.64.4 from 192.168.64.4 (192.168.64.4)
Origin IGP, localpref 100, valid, external, best
멀티홈 네트워크의 BGP 컨피그레이션에 대한 자세한 내용은 Configure BGP with Two Different Service Providers를 참조하십시오.
관련 정보