부록 B: BGP 고급 라우팅

이 부록에서는 BGP(Border Gateway Protocol)의 Dell SonicWALL 구현, BGP 작동 방식 및 네트워크에 사용하도록 BGP를 구성하는 방법을 간략하게 소개합니다.

이 문서에 포함된 섹션은 다음과 같습니다.

BGP 개요

고지 사항

BGP 구성

BGP 구성 확인

IPv6 BGP

BGP 용어

BGP 개요

다음 섹션에서는 BGP에 대해 간략하게 설명합니다.

BGP란?

배경 정보

자치 시스템

BGP 토폴로지 유형

BGP를 사용해야 하는 이유

BGP의 작동 원리

BGP란?

BGP는 적절히 정의되고 별도로 관리되는 네트워크 도메인인 AS(자치 시스템) 간에 라우팅 정보를 전달하는 데 사용되는 대규모 라우팅 프로토콜입니다. BGP 지원을 통해 Dell SonicWALL 보안 어플라이언스는 네트워크 AS의 경계에 있는 기존의 BGP 라우터를 대체할 수 있습니다. 현재 Dell SonicWALL의 BGP 구현은 네트워크가 인터넷 공급자로 하나의 ISP를 사용하고 해당 공급자에 대한 연결 하나가 있는 "단일 공급자/단일 홈" 환경에 가장 적합합니다. Dell SonicWALL BGP는 또한 네트워크가 단일 ISP를 사용하지만 공급자에 대해 소수의 개별 경로가 있는 "단일 공급자/멀티 홈" 환경도 지원합니다. BGP는 SonicOS GUI의 네트워크 > 라우팅 페이지에서 사용하도록 설정한 다음 SonicOS CLI(명령줄 인터페이스)를 통해 완전히 구성할 수 있습니다.

배경 정보

라우팅 프로토콜은 네트워크를 통해 전송되는 패킷일 뿐 아니라, 개별 라우터 및 라우터 그룹이 네트워크 토폴로지를 검색 구성 및 통신하는 데 사용하는 모든 메커니즘을 구성하기도 합니다. 라우팅 프로토콜은 지정된 프로토콜을 따르는 각 참가자에 종속적인 분산 알고리즘을 사용하며 네트워크 노드 간의 링크 상태가 변경되면 동적으로 네트워크 도메인 내의 경로가 변경되는 경우에 가장 유용합니다.

라우팅 프로토콜은 대개 다음과 같이 두 데이터베이스와 상호 작용합니다.

• RIB(라우팅 정보 데이터베이스) - 라우팅 프로토콜 자체에 필요한 모든 경로 정보를 저장하는 데 사용됩니다.

• FIB(전달 정보 데이터베이스) - 실제 패킷 전달에 사용됩니다.

RIB에서 선택된 최적의 경로는 FIB를 채우는 데 사용됩니다. 라우팅 프로토콜에서 라우팅 업데이트를 수신하거나 장치의 연결이 변경되는 경우 RIB와 FIB는 모두 동적으로 변경됩니다.

라우팅 프로토콜에는 다음 두 가지 기본 클래스가 있습니다.

IGP(Interior Gateway Protocol) - IGP는 AS 내부에 있는 네트워크 내 경로를 전달하도록 설계된 라우팅 프로토콜입니다. IGP에는 두 가지 세대가 있습니다. 1세대는 distance-vector 프로토콜로 구성됩니다. 2세대는 link-state 프로토콜입니다. distance-vector 프로토콜은 상대적으로 간단하지만 대규모 라우터로 확장되는 경우 문제가 발생합니다. link-state 프로토콜은 다소 복잡하지만 확장 기능이 탁월합니다. 기존 distance-vector 프로토콜에는 IGRP(Interior Gateway Routing Protocol), EIGRP(Enhanced Interior Gateway Routing Protocol), RIP(Routing Information Protocol) 및 향상 버전의 RIP인 RIPv2가 있습니다. IGRP 및 EIGRP는 Cisco 독점 프로토콜입니다. 현재 사용되고 있는 link-state 프로토콜에는 OSPF(Open Shortest Path First)와 거의 사용되지 않는 IS-IS(Intermediate System to Intermediate System) 프로토콜이 있습니다.

SonicOS는 고객이 Dell 제품을 IGP 네트워크에 사용하도록 지원하고 기존의 개별 라우터에 대한 추가 비용이 발생하지 않도록 가장 일반적인 라우팅 Interior Gateway Protocol인 OSPFv2 및 RIPv1/v2 프로토콜을 지원합니다.

EGP(Exterior Gateway Protocol) - 일반적인 표준 Exterior Gateway Protocol은 BGP(정확한 명칭: BGP4)입니다. BGP는 AS(자치 시스템)라고 하는 적절히 정의된 네트워크 도메인 간에 라우팅 정보 및 정책을 전달하는 대규모 라우팅 프로토콜입니다. 자치 시스템은 다른 자치 시스템과는 상관없이 별도로 관리되는 네트워크 도메인입니다. BGP는 자치 시스템 간에 경로 및 경로 정책을 전달하는 데 사용됩니다. ISP는 일반적으로 BGP를 사용하여 경로 및 경로 정책을 고객은 물론 다른 ISP에게 전달합니다.

각 자치 시스템에는 16비트 숫자가 할당되어 있습니다. IP 주소처럼 AS 번호도 공용 또는 개인 번호일 수 있습니다. 공용 AS 번호는 제한된 리소스로, 요소 수에 따라 프로비저닝됩니다. ISP가 2개 이상인 대규모 멀티 홈 네트워크 환경의 ISP 고객은 일반적으로 공용 AS를 사용하는 반면, 소규모 네트워크 고객의 경우 ISP 공급자에 의해 관리되는 개인 AS가 제공됩니다.

Dell 제품이 엔터프라이즈 수준의 요구 사항을 지원하도록 진화됨에 따라 기존 BGP 라우터 대신 Dell 제품을 AS 경계에 설치하려는 고객이 있을 수도 있습니다. 이러한 토폴로지를 지원하기 위해 BGP가 추가되었습니다.

Note SonicOS에서는 BGP를 지원하는 플랫폼에서 BGP4+를 지원하거나 BGP4의 IPv6 지원(RFC 2545)을 제공합니다.

자치 시스템

각 자치 시스템에는 16비트 숫자가 할당되어 있습니다. IP 주소처럼 AS 번호도 공용 또는 개인 번호일 수 있습니다. 공용 AS 번호는 제한된 리소스로, 요소 수에 따라 프로비저닝됩니다. ISP가 2개 이상인 대규모 멀티 홈 네트워크 환경의 ISP 고객은 일반적으로 공용 AS를 사용하는 반면, 소규모 네트워크 고객의 경우 ISP 공급자에 의해 관리되는 개인 AS가 제공됩니다.

BGP 토폴로지 유형

BGP는 매우 유연하면서도 복잡한 라우팅 프로토콜입니다. 따라서 BGP 라우터는 인터넷 코어 라우터, 중간 ISP 라우터, ISP CPE(Customer Premises Equipment) 또는 소규모 개인 BGP 네트워크의 라우터 등 다양한 토폴로지 설정으로 배치될 수 있습니다. 서로 다른 토폴로지에 필요한 BGP 경로 수는 300,000개 이상(코어 라우터의 경우)부터 0개(단일 ISP를 사용하고 AS 외부의 모든 대상에 기본 라우팅을 사용하는 ISP 고객의 경우)에 이르기까지 다양합니다. ISP 고객은 ISP로부터 받는 경로의 수와 관계없이 에지 라우터(CPE)에서 ISP로 BGP를 실행해야 하는 경우가 종종 있습니다. 이렇게 하면 ISP 고객은 외부 환경에 보급할 네트워크를 제어할 수 있습니다. 고객이 자신이 소유하고 있지 않은 네트워크 또는 네트워크 집계를 보급하여 인터넷 트래픽을 그러한 네트워크로 블랙홀링할 우려는 항상 있습니다. 실제로 ISP 공급자는 고객(BGP 강도 중 하나)이 제공하는 잘못된 보급을 신중히 필터링하기 때문에 그런 상황이 발생할 가능성은 거의 없습니다.

BGP 네트워크의 기본적인 세 가지 종류는 다음과 같습니다.

• 단일 공급자/단일 홈 - 네트워크가 단일 ISP(단일 공급자)로부터 단일 경로(단일 홈)를 받습니다. ISP 고객이 해당 ISP로부터 받는 경로 수는 AS의 특성에 따라 다릅니다. 인터넷 공급자로 하나의 ISP만 사용하고 해당 공급자(단일 공급자/단일 홈)에 대한 단일 연결이 있는 ISP 고객의 경우 AS 외부로 대상이 지정된 모든 트래픽이 ISP로 이동하므로 어떤 경로든 받을 필요가 없습니다. 이러한 고객은 여전히 내부 네트워크 일부 또는 전부를 ISP로 보급할 수 있습니다.

• 단일 공급자/멀티 홈 - 네트워크가 단일 ISP(단일 공급자)로부터 여러 경로(멀티 홈)를 받습니다. 단일 ISP를 사용하지만 ISP에 대한 연결이 여러 개인 ISP 고객은 각 ISP 게이트웨이에서 기본 경로(0.0.0.0/0)만 받습니다. ISP 연결이 끊어지면 연결된 CPE 라우터에서 내부 라우터로 전송되어 보급된 기본 경로는 철회되고 인터넷 트래픽은 ISP 연결이 설정된 CPE 라우터로 이동합니다. 고객의 내부 네트워크도 각 CPE 라우터 게이트웨이의 ISP로 보급되므로 고객에 대한 특정 연결이 끊어진 경우 ISP는 대체 경로를 사용할 수 있습니다.

• 다중 공급자/멀티 홈 - ISP(다중 공급자/멀티 홈) 여러 개를 사용하는 ISP 고객은 각 ISP에 대해 하나 이상의 개별 게이트웨이 라우터를 갖습니다. 이 경우 고객의 AS는 공용 AS이며 전송 또는 비전송 AS일 수 있습니다. 전송 AS는 다른 ISP를 통해 연결할 수 있는 네트워크로 대상이 지정된 하나의 ISP에서 트래픽을 받아 전달합니다(트래픽 대상이 고객 AS에 없음). 비전송 AS는 해당 AS로 대상이 지정된 트래픽만 받습니다. 기타 모든 트래픽은 차단됩니다. 전송 AS의 BGP 라우터는 대개 각 ISP의 전체 BGP 경로 테이블 중 상당 부분(대부분의 경우 전체)을 받습니다.

BGP를 사용해야 하는 이유

• 인터넷 상의 대규모 네트워크 사용자가 아닌 경우에도 BGP는 다음과 같은 멀티 호밍, 부하 분산 및 중복성을 위한 표준이라고 할 수 있습니다.

– 단일 공급자/단일 홈 – BGP의 강력한 후보는 아니지만 여전히 네트워크를 ISP에 보급하는 데 사용할 수 있습니다. 단일 홈 네트워크는 RIR의 공용 AS에 적합하지 않습니다.

– 단일 공급자/멀티 홈 – 일반적으로 RFC2270 제안에 따라 단일 개인 AS(64512 - 65535)를 사용하여 BGP의 이점을 얻을 수 있는 동시에 공용 ASN을 유지할 수 있습니다.

– 다중 공급자/멀티 홈 – 중복성이 탁월하며 일반적으로 각 ISP에 대한 전용 라우터에 사용됩니다. 공용 ASN이 필요합니다. 대용량 메모리 공간

• 경로 요약을 통해 라우팅을 확장할 수 있습니다.

BGP의 작동 원리

BGP는 통신에 TCP 포트 179를 사용합니다. BGP는 path-vector 프로토콜로 간주되며 대상에 대한 전반적인 경로 설명을 포함합니다. BGP 인접 항목은 내부(iBGP) 또는 외부(eBGP) 항목일 수 있습니다.

• iBGP – 인접 항목이 동일한 AS에 있습니다.

• eBGP – 인접 항목이 다른 AS에 있습니다.

경로는 다양한 경로 특성으로 태그가 지정된 UPDATE 메시지에서 보급됩니다. AS_PATH 및 NEXT_HOP은 BGP 업데이트 메시지에서 경로를 설명하는 가장 중요한 특성입니다.

• AS_PATH: 경로가 이동하는 AS를 나타냅니다. 아래의 예에서 AS_PATH는 AS 7675에서 AS 12345로 연결됩니다. 내부 BGP의 경우 AS_PATH는 원본과 대상 모두에 동일한 AS를 지정합니다.

• NEXT_HOP: 경로가 이동하는 다음 라우터의 IP 주소를 나타냅니다. AS 경계 간에 보급된 경로는 경계 라우터의 NEXT_HOP 주소를 상속합니다. BGP는 내부 라우팅 프로토콜을 사용하여 NEXT_HOP 주소에 연결합니다.

BGP_AS_path-next_hop.jpg

 

BGP Finite State Machine

BGP를 정의하는 RFC 1771은 다음 상태 시스템 측면에서 BGP의 작업을 설명합니다. 다이어그램 뒤에 나오는 표에서는 다양한 상태에 대한 추가 정보를 제공합니다.

Figure 99:29 BGP Finite State Machine

Appendix_B_BGP00324.jpg

 

설명

유휴

새 BGP 세션을 설정하거나 기존 세션을 다시 설정한 후에 시작 이벤트를 기다리고 있습니다. 오류가 발생하는 경우 Idle 상태로 폴백됩니다. 시작 이벤트가 완료되면 BGP가 초기화되어 연결 재시도 타이머를 재설정하고 TCP 전송 연결을 시작하고 연결을 수신 대기합니다.

연결

TCP 레이어가 작동하면 OpenSent로 전환되고 OPEN을 전송합니다. TCP가 없는 경우 Active로 전환됩니다. 연결 재시도 타이머가 만료되면 Connect 상태를 유지한 상태로 타이머를 재설정하고 전송 연결을 시작합니다. 그렇지 않으면 Idle 상태로 전환됩니다.

활성

피어와의 TCP 연결을 설정하기 위해 시도합니다. 성공하면 OpenSent로 전환되고 OPEN을 전송합니다. 연결 재시도가 만료되면 타이머를 다시 시작하고 Connect 상태로 폴백됩니다. 또한 다른 피어의 연결을 능동적으로 수신 대기합니다. 다른 이벤트가 발생하는 경우 유휴 상태로 되돌아갑니다.

연결-활성 플래핑은 TCP 재전송 또는 피어 연결 실패와 같은 TCP 전송 문제를 나타냅니다.

OpenSent

피어로부터 OPEN 메시지를 기다리고 있습니다. 메시지가 수신되면 유효성 검사가 수행됩니다. 유효성 검사에 실패하면 NOTIFICATION을 전송하고 Idle 상태로 전환됩니다. 유효성 검사에 성공하면 KEEPALIVE를 전송하고 연결 유지 타이머를 재설정합니다. 대기 시간을 협상하며 값이 작을수록 우선권을 갖습니다. 0인 경우 보류 타이머 및 연결 유지 타이머가 다시 시작되지 않습니다.

OpenConfirm

KEEPALIVE 또는 NOTIFICATION을 기다립니다. KEEPALIVE가 수신되면 Established로 전환됩니다. UPDATE 또는 KEEPALIVE가 수신되면 보류 타이머가 다시 시작됩니다(협상된 대기 시간이 0인 경우는 제외). NOTIFICATION이 수신되면 Idle로 전환됩니다.

주기적 KEEPALIVE 메시지가 전송됩니다. TCP 레이어가 해제되면 Idle로 전환됩니다. 오류가 발생하면 오류 코드와 함께 NOTIFICATION을 전송하고 Idle로 전환됩니다.

Established

세션이 작동하고 피어와 업데이트를 교환합니다. NOTIFICATION이 수신되면 Idle로 전환됩니다. 업데이트에 오류가 있는지 확인합니다. 오류가 있는 경우 NOTIFICATION을 전송하고 Idle 상태로 전환됩니다. 대기 시간이 만료되면 TCP 연결을 끊습니다.

BGP 메시지

BGP 통신에 포함되는 메시지 유형은 다음과 같습니다.

• Open – TCP 세션이 설정된 후 BGP 피어 간에 전달되는 첫 번째 메시지입니다. 피어링 세션을 설정하는 데 필요한 정보(예: ASN, 대기 시간, 복수 제품 확장 등의 기능, 경로 새로 고침)를 포함합니다.

• Update – 이 메시지는 경로 알림 또는 철회와 같은 경로 정보를 포함합니다.

• Keepalive – TCP 레이어를 작동 상태로 유지하고 연결 유지 상태를 보급하기 위한 주기적 메시지입니다.

• Notification – BGP 세션 종료 요청입니다. 치명적이지 않은 알림에는 오류 코드 "cease"가 포함됩니다. 하위 코드는 다음과 같은 추가 세부 정보를 제공합니다.

하위 코드

설명

1 – 연결되는 최대 접두사 수

구성된 "neighbor maximum-prefix" 값이 초과되었습니다.

2 – 관리자에 의한 종료

세션이 관리자에 의해 종료되었습니다.

3 – 구성되지 않은 피어

피어 구성이 제거되었습니다.

4 – 관리자에 의한 재설정

세션이 관리자에 의한 재설정되었습니다.

5 – 연결 거부됨

BGP 세션 거부(가끔씩 일시적 거부)

6 – 기타 구성 변경

특정 이유로 세션이 관리자에 의한 재설정되었습니다.

• 경로 새로 고침 – 해당 경로를 재전송하라는 피어의 요청입니다.

BGP 특성

BGP 업데이트 메시지의 특성은 다음과 같습니다.

코드

1

ORIGIN

2

AS_PATH

3

NEXT_HOP

4

MULTI_EXIT_DISC

5

LOCAL_PREF

6

ATOMIC_AGGREGATE

7

AGGREGATOR

8

COMMUNITY

9

ORIGINATOR_ID

10

CLUSTER_LIST

11

DPA

12

ADVERTISER (기록)

13

RCID_PATH CLUSTER_ID (기록)

14

MP_REACH_NLRI

15

MP_UNREACH_NLRI

16

EXTENDED COMMUNITIES

17

AS4_PATH

18

AS4_AGGREGATOR

19

SAFI 관련 특성(SSA)(더 이상 사용되지 않음)

20

커넥터 특성(더 이상 사용되지 않음)

21

AS_PATHLIMIT(더 이상 사용되지 않음)

22

PMSI_TUNNEL

23

터널 캡슐화 특성

24

트래픽 엔지니어링

25

IPv6 주소 관련 확장 커뮤니티

26

AIGP(임시 - 2011년 2월 23일 만료)

27-254

할당되지 않음

255

개발용으로 예약됨

BGP 특성에 대한 자세한 내용은 다음 사이트를 참조하십시오. http://www.iana.org/assignments/bgp-parameters/bgp-parameters.xml

고지 사항

• 범위 - 현재 SonicOS는 512에서 2,048 사이의 정책 기반 경로(PBR)를 지원합니다. 이는 전체 라우팅 테이블이나 심지어 부분 라우팅 테이블에 사용하기에도 충분치 못한 범위입니다. RIB에 있는 경로의 수는 PBR(FIB)에 설치된 수보다 많을 수 있습니다. 라우팅 프로토콜을 통해 여러 경합 경로가 수신된 경우에 이런 상황이 발생합니다. RIB에 특정 네트워크 대상에 대한 여러 경합 경로가 포함된 경우 이들 경로 중 하나만 선택하여 FIB에 설치됩니다.

따라서 현재로서는 SonicOS 구현이 단일 공급자/단일 홈 고객에 가장 적합한 구현입니다. 기본 경로가 ISP에서 수신되거나 고객이 극히 적은 수의 ISP 관련 경로를 수신하는 경우에는 단일 공급자/멀티 홈 설치도 적합할 수 있습니다. 후자의 경우 내부 라우터는 AS 외부의 대상에 대한 최적의 경로를 사용하지만 ISP의 네트워크 도메인(부분 경로라고 함) 범위를 벗어나지는 않습니다.

• 부하 분산 - SonicOS 또는 Zebos('최대 경로' 기능)에서는 다중 경로가 지원됩니다. 이로 인해 네트워크를 분할하지 않고는 부하 분산이 불가능합니다.

• 루프백 - 현재 루프백 인터페이스는 지원되지 않습니다.

• NAT - BGP는 라우팅에 사용됩니다. NAT와 함께 사용할 수 없습니다.

• VPN 업데이트 - 현재 VPN을 통한 BGP 업데이트는 작동하지 않습니다.

• 비대칭 경로 - 현재 상태 저장 방화벽은 비대칭 경로, 특히 여러 방화벽에 걸쳐 있는 경로를 처리하지 않습니다.

BGP 구성

다음 섹션에서는 SonicOS에 맞게 BGP 고급 라우팅을 구성하는 방법을 설명합니다.

BGP용 IPSec 구성

기본 BGP 구성

BGP 경로 선택 프로세스

AS_PATH Prepending

MED(Multiple Exit Discriminator)

BGP 커뮤니티

동기화 및 자동 요약

잘못된 전송 AS 방지

로드 공유에 멀티 홈 BGP 사용

BGP용 IPSec 구성

BGP는 순수 패킷을 전송합니다. 따라서 강력한 보안을 유지하기 위해서는 BGP 세션용으로 사용할 IPSec 터널을 구성하는 것이 좋습니다. IPSec 터널과 BGP의 구성은 서로 간에 독립적입니다. IPSec 터널은 전적으로 SonicOS GUI의 VPN 구성 섹션에서 구성되는 반면, BGP는 네트워크 > 라우팅 페이지에서 사용하도록 설정한 다음 SonicOS 명령줄 인터페이스에서 구성합니다. IPSec을 통해 BGP를 구성하는 경우 먼저 IPSec 터널을 구성하고 터널을 통한 연결을 확인한 후 BGP를 구성합니다.

다음 절차에서는 Dell SonicWALL과 원격 BGP 피어 간의 샘플 IPSec 구성을 보여 줍니다. 여기서 Dell SonicWALL은 X0 네트워크에서 192.168.168.75/24를 사용하도록 구성되고 원격 피어는 X0 네트워크에서 192.168.168.35/24를 사용하도록 구성됩니다.

1. VPN > 설정 페이지로 이동하고 VPN 정책 섹션 아래의 추가 단추를 클릭합니다. VPN 정책 창이 표시됩니다.

BGP_IPsec_general.jpg

 

2. 정책 유형 풀다운 메뉴에서 사이트 투 사이트가 선택되었는지 확인합니다.

Note IPSec을 통한 BGP에는 사이트 투 사이트 VPN 터널을 사용해야 합니다. BGP에는 터널 인터페이스가 작동하지 않습니다.

3. 원하는 인증 방법을 선택합니다. 이 예에서는 미리 공유한 비밀 사용 IKE를 사용합니다.

4. VPN 정책의 이름을 입력합니다.

5. IPsec 기본 게이트웨이 이름 또는 주소 필드에 원격 피어의 IP 주소(이 예에서는 192.168.168.35 사용)를 입력합니다.

6. IPsec 보조 게이트웨이 이름 또는 주소 필드에 0.0.0.0을 입력합니다.

7. 공유 비밀을 입력하고 확인합니다.

8. 로컬 IKE ID 필드에 Dell SonicWALL의 IP 주소(이 예에서는 192.168.168.75 사용)를 입력합니다.

9. 피어 IKE ID 필드에 원격 피어의 IP 주소(192.168.168.35)를 입력합니다.

10. 네트워크 탭을 클릭합니다.

BGP_IPsec_network.jpg

 

11. 로컬 네트워크에 대해 목록에서 로컬 네트워크 선택 풀다운 메뉴에서 X0 IP를 선택합니다.

12. 원격 네트워크에 대해 목록에서 목적지 네트워크 선택 풀다운 메뉴에서 원격 피어의 IP 주소를 선택합니다. 이 예에서는 192.168.168.35를 사용합니다. 원격 IP 주소가 목록에 없는 경우 새 주소 개체 만들기를 선택하여 IP 주소를 위한 주소 개체를 만듭니다.

13. 제안 탭을 클릭합니다. 기본 IPSec 제안을 사용하거나 사용자 요구에 맞게 사용자 지정할 수 있습니다.

14. 고급 탭을 클릭합니다.

15. 연결 유지 사용 확인란을 선택합니다.

16. 확인을 클릭합니다.

이제 Dell SonicWALL 어플라이언스에 VPN 정책이 구성되었습니다. 다음으로, 원격 피어에 해당 IPSec 구성을 완료합니다. 이 구성이 완료되면 VPN > 설정 페이지로 돌아가서 VPN 정책으로 IPSec 터널을 시작할 수 있게 사용 확인란을 선택합니다.

Dell SonicWALL에서 ping 진단을 사용하여 GP 피어 IP 주소를 ping하고 Wireshark를 사용하여 요청 및 응답이 ESP 패킷에서 캡슐화되는지 확인합니다.

Note 이 예에 구성된 대로 라우팅된 트래픽은 BGP에 사용되는 IPSEC 터널을 통과하지 않습니다. 해당 트래픽은 전송되어 순수 상태로 수신됩니다. 라우팅된 네트워크 트래픽 모두가 아니라 BGP의 보안을 유지하는 것이 목표이기 때문에 이는 가장 바람직한 동작일 수 있습니다.

IPSec 구성에 대한 자세한 내용은 SonicOS 관리자 가이드의 VPN 장을 참조하십시오.

기본 BGP 구성

Dell SonicWALL 보안 어플라이언스에서 BGP를 구성하려면 다음 작업을 수행합니다.

1. SonicOS GUI에서 네트워크 > 라우팅 페이지로 이동합니다.

2. 라우팅 모드 풀다운 메뉴에서 고급 라우팅을 선택합니다.

3. BGP 풀다운 메뉴에서 사용(CLI로 구성)을 선택합니다.

Note BGP를 사용하려면 SonicOS 확장 라이선스가 필요합니다. 라이선스를 관리하려면 시스템 > 라이선스 페이지를 확인하십시오.

GUI를 통해 BGP를 사용하도록 설정한 후 SonicOS CLI(명령줄 인터페이스)를 사용하여 BGP를 구체적으로 구성합니다. SonicOS CLI 연결 방법에 대한 자세한 내용은 다음 위치에 있는 SonicOS 명령줄 인터페이스 가이드를 참조하십시오. http://www.SonicWALL.com/us/support/230_3623.html

4. 콘솔 인터페이스를 통해 SonicOS CLI에 로그인합니다.

5. configure 명령을 입력하여 구성 모드를 시작합니다.

6. route ars-bgp 명령을 입력하여 BGP CLI를 시작합니다. 다음과 같은 프롬프트가 표시됩니다.

ZebOS version 7.7.0 IPIRouter 7/2009

ARS BGP>

 

7. 이제 BGP 비구성 모드로 전환되었습니다. ?를 입력하여 비구성 명령 목록을 표시합니다.

8. show running-config를 입력하여 구성을 실행하는 현재 BGP를 표시합니다.

9. BGP 구성 모드를 시작하려면 configure terminal 명령을 입력합니다. ?를 입력하여 구성 명령 목록을 표시합니다.

10. 구성을 마쳤으면 write file 명령을 입력합니다. 장치가 고가용성 쌍 또는 클러스터에 속해 있는 경우 구성 변경 내용이 자동으로 다른 장치로 전달됩니다.

BGP 경로 선택 프로세스

다음과 같은 특성을 사용하여 BGP 경로 선택 프로세스를 구성할 수 있습니다.

특성

설명

가중치

가중치가 가장 높게 설정된 인접 항목에서 알려진 경로가 선호됩니다. 로컬 라우터와만 관련이 있습니다.

로컬 기본 설정

관리자에 의해 인접 항목에서 알려진 경로가 선호됩니다. 전체 AS와 공유됩니다.

네트워크 또는 집계 경로

로컬에서 network 및 aggregate-address 명령으로 발생한 경로가 선호됩니다.

AS_PATH

AS_PATH가 가장 짧은 경로가 선호됩니다.

원본

원본 유형이 가장 낮은 경로(UPDATE 메시지로 보급됨)가 선호됩니다. IGP < EGP < 불완전 순입니다.

MED(Multi Exit Discriminator)

시작되는 AS에 대한 경로의 인접 항목에 대한 경로 기본 설정 정보를 제공합니다.

최신 상태

가장 최근 수신된 경로가 선호됩니다.

라우터 ID

하위 라우터 ID를 사용하는 라우터의 경로가 선호됩니다.

가중치

weight 명령은 주소 계열별로 인접 항목에서 알려진 모든 경로에 가중치 값을 할당합니다. 동일한 접두사가 둘 이상의 피어에서 알려진 경우 가중치가 가장 높은 경로가 우선권을 갖습니다. 가중치는 로컬 라우터와만 관련이 있습니다.

set weight 명령을 사용하여 할당된 가중치가 이 명령을 사용하여 할당된 가중치보다 우선합니다.

피어 그룹에 대해 가중치가 설정된 경우 피어 그룹의 모든 구성원은 동일한 가중치를 갖습니다. 이 명령은 피어 그룹 구성원에 다른 가중치를 할당하는 경우에도 사용할 수 있습니다.

다음 예에서는 가중치 구성을 보여 줍니다.

router bgp 12345

neighbor 12.34.5.237 remote-as 12345

neighbor 12.34.5.237 weight 60

 

router bgp 12345

neighbor group1 peer-group

neighbor 12.34.5.237 peer-group group1

neighbor 67.78.9.237 peer-group group1

neighbor group1 weight 60

로컬 기본 설정

로컬 기본 설정 특성은 어플라이언스의 라우팅 테이블에 있는 각 외부 경로의 기본 설정 수준을 나타내는 데 사용됩니다. 로컬 기본 설정 특성은 동일한 AS의 장치로 전송되는 모든 업데이트 메시지에 포함됩니다. 로컬 기본 설정은 외부 AS로 전달되지 않습니다. 다음 그림에는 로컬 기본 설정이 인접 AS 간의 경로에 어떤 영향을 미치는지 보여 주는 샘플 토폴로지가 나와 있습니다.

Figure 99:30 BGP 로컬 기본 설정 토폴로지

Appendix_B_BGP00325.jpg

 

다음 BGP 구성은 SNWL1 및 SNWL2에서 입력됩니다. SNWL2의 로컬 기본 설정이 높을수록 SNWL2가 AS 12345(Dell SonicWALL AS)에서 외부 AS로 보급되는 선호 경로가 될 수 있습니다.

SNWL1 구성

SNWL2 구성

x0 = 12.34.5.228

x1 = 172.16.228.45

------------------

router bgp 12345

neighbor 172.16.228.228 remote-as 7675

neighbor 12.34.5.237 remote-as 12345

bgp default local-preference 150

x0 = 12.34.5.237

x1 = 10.1.1.2

------------------

router bgp 12345

neighbor 10.1.1.1 remote-as 8888

neighbor 12.34.5.228 remote-as 12345

bgp default local-preference 200

경로 맵에 사용되는 로컬 기본 설정

경로 맵은 액세스 제어 목록과 유사합니다. 어플라이언스가 경로를 처리하는 방법을 결정하는 일련의 Permit 및/또는 Deny 문으로 구성됩니다. 경로 맵은 아웃바운드 트래픽이 아니라 인바운드 트래픽에 적용됩니다. 다음 다이어그램에서는 경로 맵을 사용하여 로컬 기본 설정을 구성하는 샘플 토폴로지를 보여 줍니다.

Figure 99:31 경로 맵을 사용한 BGP 로컬 기본 설정 토폴로지

Appendix_B_BGP00326.jpg

 

다음 BGP 구성은 SNWL1 및 SNWL2에서 입력됩니다.

SNWL1 구성

SNWL2 구성

x1 = 172.16.228.45

 

 

------------------

router bgp 12345

neighbor 172.16.228.228 remote-as 7675

neighbor 12.34.5.237 remote-as 12345

bgp default local-preference 150

x0 = 12.34.5.237

x1 = 10.1.1.2

x4 = 10.4.4.1

------------------

router bgp 12345

neighbor 10.1.1.1 remote-as 9999

neighbor 10.1.1.1 route-map rmap1 in

neighbor 12.34.5.237 remote-as 12345

....

ip as-path access-list 100 permit ^8888$

...

route-map rmap1 permit 10

match as-path 100

set local-preference 200

 

route-map rmap1 permit 20

set local-preference 150

SNWL2(rmap1)에서 구성된 경로 맵은 neighbor 10.1.1.1의 인바운드 경로에 적용되도록 구성되었습니다. 다음 두 가지 permit 조건이 있습니다.

• route-map rmap1 permit 10: 이 permit 조건은 AS 8888의 트래픽을 허용하고 AS 8888의 경로를 로컬 기본 설정 200으로 설정하도록 구성된 access list 100과 일치시킵니다.

• route-map rmap1 permit 10: 이 permit 조건은 access list 100과 일치하지 않는 다른 모든 트래픽(즉, 8888 이외의 다른 AS에서 오는 트래픽)을 로컬 기본 설정 150으로 설정합니다.

AS_PATH Prepending

AS_Path Prepending은 경로 업데이트 시작 부분에 다른 AS 번호를 추가하는 특성입니다. 이렇게 하면 경로의 길이가 더 길어지므로 선호도가 낮아집니다.

AS_Path Prepending은 아웃바운드 또는 인바운드 경로에 적용됩니다. 인접 항목에 의해 억제되는 경우 AS_Path Prepending은 준수되지 않을 수 있습니다.

아웃바운드 경로 구성

인바운드 경로 구성

router bgp 12345

bgp router-id 10.50.165.233

network 12.34.5.0/24

neighbor 10.50.165.228 remote-as 7675

neighbor 10.50.165.228 route-map long out

!

route-map long permit 10

set as-path prepend 12345 12345

router bgp 7675

bgp router-id 10.50.165.228

network 7.6.7.0/24

neighbor 10.50.165.233 remote-as 12345

neighbor 10.50.165.233 route-map prepend in

!

route-map prepend permit 10

set as-path prepend 12345 12345

 

이 구성으로 경로는 neighbor 10.50.165.233에 설치되고 AS_Path Prepended로 12345 12345가 사용됩니다. show ip bgp 명령을 입력하여 다음 내용을 확인할 수 있습니다.

ARS BGP>show ip bgp

BGP table version is 98, local router ID is 10.50.165.228

Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, l - labeled

S Stale

Origin codes: i - IGP, e - EGP, ? - incomplete

 

Network Next Hop Metric LocPrf Weight Path

*> 12.34.5.0/24 10.50.165.233 0 0 12345 12345 12345 i

*> 7.6.7.0/24 0.0.0.0 100 32768 i

 

Total number of prefixes 2

MED(Multiple Exit Discriminator)

set metric 명령은 다음과 같이 경로 맵에서 경로 선호도를 높이거나 낮추는 데 사용할 수 있습니다.

router bgp 7675

network 7.6.7.0/24

neighbor 10.50.165.233 remote-as 12345

neighbor 10.50.165.233 route-map highmetric out

!

route-map highmetric permit 10

set metric 300

 

MED(Multi Exit Discriminator)는 경로 기본 설정에 영향을 미치는 데 사용할 수 있는 선택적 특성입니다. 이 특성은 비전이적입니다. 즉, 단일 어플라이언스에 구성되며 업데이트 메시지의 인접 항목으로 보급되지 않습니다. 이 섹션에서는 bgp always-compare-med 및 bgp deterministic-med 명령을 사용합니다.

bgp always-compare-med 명령

bgp always-compare-med 명령을 사용하면 서로 다른 AS의 경로에 대한 MED 값을 비교하여 경로를 선택할 수 있습니다. MED가 낮은 경로가 선호됩니다.

예를 들어 BGP 테이블에서 다음 경로를 고려하여 always-compare-med 명령을 사용하도록 설정합니다.

Route1: as-path 7675, med 300

Route2: as-path 200, med 200

Route3: as-path 7675, med 250

 

Route2의 MED가 가장 낮으므로 이 경로가 선택됩니다.

always-compare-med 명령을 사용하지 않도록 설정한 경우 AS 경로가 서로 다르기 때문에 Route1과 Route2를 비교할 때 MED는 고려되지 않습니다. MED는 Route1과 Route3에서만 비교됩니다.

bgp deterministic-med 명령

선택한 경로는 bgp deterministic-med 명령의 영향도 받습니다. 이 명령은 동일한 자치 시스템에서 서로 다른 피어에 의해 보급된 경로 중에서 선택할 때 MED를 비교합니다.

bgp deterministic-med 명령을 사용하도록 설정한 경우 동일한 AS의 경로가 함께 그룹화되고 각 그룹별로 최적의 경로가 비교됩니다. BGP 테이블에 다음 내용이 표시되는 경우,

Route1: as-path 200, med 300, internal

Route2: as-path 400, med 200, internal

Route3: as-path 400, med 250, external

 

BGP는 Route1의 그룹과 Route2 및 Route3의 두 번째 그룹(동일한 AS)을 갖습니다.

각 그룹에서 최적의 경로가 비교됩니다. Route1은 AS 200의 유일한 경로이기 때문에 그룹의 최적 경로입니다.

Route1은 Route2와 비교되며 그룹 AS 400의 최적 경로입니다(하위 MED).

두 경로가 동일한 AS에 포함되어 있지 않으므로 비교 시 MED는 고려되지 않습니다. 따라서 외부 BGP 경로가 내부 BGP 경로보다 선호되어 Route3이 최적 경로가 됩니다.

BGP 커뮤니티

커뮤니티란 일부 공통 속성을 공유하며 전이적 BGP 커뮤니티 특성으로 구성될 수 있는 접두사 그룹입니다. 접두사에는 2개 이상의 커뮤니티 특성이 있을 수 있습니다. 라우터는 특성 하나, 일부 또는 전체에 따라 처리될 수 있습니다. BGP 커뮤니티는 일종의 태그로 간주할 수 있습니다. 다음은 BGP 커뮤니티 구성의 예입니다.

router bgp 12345

bgp router-id 10.50.165.233

network 12.34.5.0/24

network 23.45.6.0/24

neighbor 10.50.165.228 remote-as 7675

neighbor 10.50.165.228 send-community

neighbor 10.50.165.228 route-map comm out

!

access-list 105 permit 12.34.5.0/24

access-list 110 permit 23.45.6.0/24

!

route-map comm permit 10

match ip address 105

set community 7675:300

!

route-map comm permit 20

match ip address 110

set community 7675:500

!

router bgp 7675

bgp router-id 10.50.165.228

network 7.6.7.0/24

neighbor 10.50.165.233 remote-as 12345

neighbor 10.50.165.233 route-map shape in

!

ip community-list 1 permit 7675:300

ip community-list 2 permit 7675:500

!

route-map shape permit 10

match community 1

set local preference 120

 

route-map shape permit 20

match community 2

set local preference 130

동기화 및 자동 요약

동기화 설정은 IGP에 해당 경로가 있는지에 따라 라우터가 iBGP 인접 항목에서 알려진 경로를 보급할지 여부를 제어합니다. 동기화를 사용하는 경우 BGP는 OSPF 또는 RIP를 통해 연결할 수 있는 경로만 보급합니다(Exterior Gateway Protocol은 BGP(Border Gateway Protocol)와 대조됨). 동기화는 BGP 경로 보급 문제를 일으키는 일반적인 원인입니다.

자동 요약 설정은 경로를 클래스 방식으로 보급할지 여부를 제어합니다. 자동 요약은 BGP 구성 문제를 일으키는 또 다른 일반적인 원인입니다.

기본적으로 자동 요약 및 동기화는 Zebos에서 사용하지 않도록 설정되어 있습니다.

잘못된 전송 AS 방지

앞서 설명한 것처럼 AS 피어는 전송 피어(한 외부 AS에서 다른 외부 AS로의 트래픽 허용)일 수도 있고 비전송 피어(모든 트래픽은 해당 AS에서 발생하거나 종료되어야 함)일 수도 있습니다. 전송 피어는 매우 큰 라우팅 테이블을 갖게 되므로, 일반적으로 Dell SonicWALL 보안 어플라이언스를 전송 피어로 구성해야 하는 경우는 없습니다.

Figure 99:32 전송 피어와 비전송 피어

Appendix_B_BGP00327.jpg

 

어플라이언스가 실수로 전송 피어로 전환되지 못하게 하려면 다음과 같이 인바운드 및 아웃바운드 필터를 구성해야 합니다.

아웃바운드 필터

로컬 AS에서 발생한 경로만 허용합니다.

ip as-path access-list 1 permit ^$

 

router bgp 12345

bgp router-id 10.50.165.233

network 12.34.5.0/24

neighbor 10.50.165.228 remote-as 7675

neighbor 10.50.165.228 filter-list 1 out

neighbor 172.1.1.2 remote-as 9999

neighbor 10.50.165.228 filter list 1 out

 

자체 접두사만 허용합니다.

ip prefix-list myPrefixes seq 5 permit 12.34.5.0/24

ip prefix-list myPrefixes seq 10 permit 23.45.6.0/24

 

router bgp 12345

bgp router-id 10.50.165.233

network 12.34.5.0/24

network 23.45.6.0/24

neighbor 10.50.165.228 remote-as 7675

neighbor 172.1.1.2 remote-as 9999

neighbor 10.50.165.228 prefix-list myPrefixes out

neighbor 172.1.1.2 prefix-list myPrefixes out

인바운드 필터

자체 접두사와 개인 인바운드 접두사를 모두 삭제합니다.

ip prefix-list unwantedPrefixes seq 5 deny 12.34.5.0/24 le 32

ip prefix-list unwantedPrefixes seq 10 deny 23.45.6.0/24 le 32

ip prefix-list unwantedPrefixes seq 20 deny 10.0.0.0/8 le 32

ip prefix-list unwantedPrefixes seq 21 deny 172.16.0.0/12 le 32

ip prefix-list unwantedPrefixes seq 22 deny 192.168.0.0/16 le 32

ip prefix-list unwantedPrefixes seq 30 permit 0.0.0.0/0 le 32

 

router bgp 12345

bgp router-id 10.50.165.233

network 12.34.5.0/24

network 23.45.6.0/24

neighbor 10.50.165.228 remote-as 7675

neighbor 172.1.1.2 remote-as 9999

neighbor 10.50.165.228 prefix-list unwantedPrefixes in

neighbor 172.1.1.2 prefix-list unwantedPrefixes in

로드 공유에 멀티 홈 BGP 사용

다음 토폴로지에서는 Dell SonicWALL 보안 어플라이언스가 멀티 홈 BGP 네트워크를 사용하여 두 ISP 간에 로드를 공유하는 예를 보여 줍니다.

Figure 99:33

Appendix_B_BGP00328.jpg

로드 공유를 위한 멀티 홈 BGP 토폴로지

Dell SonicWALL 보안 어플라이언스는 다음과 같이 구성됩니다.

router bgp 12345

bgp router-id 10.50.165.233

network 12.34.5.0/24

neighbor 10.50.165.228 remote-as 7675

neighbor 10.50.165.228 route-map ISP1 out

neighbor 172.1.1.2 remote-as 9999

neighbor 10.50.165.228 route-map ISP2 out

!

route-map ISP1 permit 10

match ip address 1

set weight 100

 

route-map ISP1 permit 20

match ip address 2

 

route-map ISP2 permit 10

match ip address 1

route-map ISP2 permit 20

match ip address 2

set weight 100

access-list 1 permit 12.34.5.0/25

access-list 2 deny 12.34.5.0/25

access-list 2 permit any

BGP 구성 확인

다음 섹션에서는 BGP 구성을 확인하는 방법에 대해 설명합니다.

BGP 경로 보기

BGP 로깅 구성

BGP 경로 보기

아래 그림에서는 BGP가 서로 다른 두 AS에 있는 두 라우터로 연결되도록 Dell SonicWALL 보안 어플라이언스가 구성된 기본 BGP 토폴로지를 보여 줍니다.

Figure 99:34 BGP 토폴로지

Appendix_B_BGP00329.jpg

 

이 네트워크에서 FIB의 경로는 SonicOS GUI에서 보거나 CLI를 사용하여 볼 수 있습니다.

GUI에서 FIB 경로 보기

BGP 구성 요약은 SonicOS GUI에서 네트워크 > 라우팅 페이지를 통해 볼 수 있습니다. 이를 위해서는 페이지 상단에서 라우팅 모드 풀다운 메뉴 옆에 있는 BGP 상태 단추를 클릭하면 됩니다. BGP 상태 창에 show ip bgp summary 및 show ip bgp neighbor 명령의 출력이 표시됩니다.

FIB의 BGP 경로는 SonicOS GUI에서 네트워크 > 라우팅 페이지의 라우팅 정책 테이블에서도 볼 수 있습니다.

BGP_FIB_in_GUI.jpg

 

 

CLI에서 FIB 경로 보기

CLI에서 FIB 경로를 보려면 다음 명령을 실행합니다.

SonicWALL> configure

(config[SonicWALL])> route ars-nsm

 

ZebOS version 7.7.0 IPIRouter 7/2009

ARS NSM>show ip route

Codes: K - kernel, C - connected, S - static, R - RIP, B - BGP

O - OSPF, IA - OSPF inter area

N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

E1 - OSPF external type 1, E2 - OSPF external type 2

i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area

* - candidate default

 

B 7.6.7.0/24 [20/0] via 10.50.165.228, X1, 05:08:31

B 199.199.0/16 [20/0] via 10.50.165.237, X1, 05:08:31

C 10.50.165.192/26 is directly connected, X1

C 127.0.0.0/8 is directly connected, lo0

C 12.34.5.0/24 is directly connected, X0

CLI에서 RIB 경로 보기

CLI에서 RIB 경로를 보려면 show ip bgp 명령을 입력합니다.

ARS BGP>show ip bgp

BGP table version is 98, local router ID is 10.50.165.233

Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, l - labeled

S Stale

Origin codes: i - IGP, e - EGP, ? - incomplete

 

Network Next Hop Metric LocPrf Weight Path

*> 7.6.7.0/24 10.50.165.228 0 0 7675 i

*> 12.34.5.0/24 0.0.0.0 100 32768 i

*> 199.199.0.0/16 10.50.165.228 0 0 7675 9999 i

 

Total number of prefixes 3

Note 마지막 경로는 AS7675를 통해 알려진 AS9999 경로입니다.

BGP 로깅 구성

Dell SonicWALL BGP는 BGP 트래픽과 관련된 로그 이벤트를 표시하는 포괄적인 디버그 명령 옵션을 제공합니다. BGP 로깅은 CLI에서 debug bgp 명령과 다음 키워드를 사용하여 구성할 수 있습니다.

BGP 디버그 키워드

설명

all

모든 BGP 디버깅을 사용합니다.

dampening

BGP 감소에 디버깅을 사용합니다.

events

BGP 이벤트에 디버깅을 사용합니다.

filters

BGP 필터에 디버깅을 사용합니다.

fsm

BGP FSM(Finite State Machine)에 디버깅을 사용합니다.

keepalives

BGP 연결 유지에 디버깅을 사용합니다.

nht

NHT 메시지에 디버깅을 사용합니다.

nsm

NSM 메시지에 디버깅을 사용합니다.

updates

인바운드/아웃바운드 BGP 업데이트에 디버깅을 사용합니다.

BGP 디버깅을 사용하지 않으려면 "no" 형식의 명령을 입력합니다. 예를 들어 이벤트 디버깅을 사용하지 않으려면 no debug events 명령을 입력하십시오.

BGP 로그 메시지는 SonicOS GUI의 로그 > 보기페이지에서도 볼 수 있습니다. BGP 메시지는 로그 메시지에서 고급 라우팅 범주의 일부로 표시됩니다.

BGP_log_view.jpg

 

위의 메시지는 업데이트가 수신된 원본 라우터가 어플라이언스에 직접 연결되어 있지 않기 때문에 발신 RIB에 대한 업데이트가 거부되었음을 나타냅니다.

직접 연결되어 있지 않은 BGP 피어를 허용하려면 neighbor 명령에 ebgp-multihop 키워드를 사용하십시오. 예를 들어 다음과 같이 입력합니다.

neighbor 10.50.165.228 ebgp-multihop

 

IPv6 BGP

IPv6 BGP(Border Gateway Protocol)는 AS(자치 시스템) 간에 IPv6 라우팅 정보를 전달합니다. IPv6 BGP를 지원하는 Dell SonicWALL 보안 어플라이언스는 네트워크 AS의 경계에 있는 기존의 BGP 라우터를 대체할 수 있습니다.

IPv6 BGP는 네트워크 > 라우팅 페이지에서 사용하도록 설정하지만 SonicOS CLI(명령줄 인터페이스)에서 구성해야 합니다.

SonicOS 5.9.0.2에는 다음 제한이 적용됩니다.

• IPv6 BGP는 NSA 플랫폼에서만 지원됩니다.

• IPv6 BGP는 IPv6 기능 및 ZebOS(Zebra OS)를 사용합니다.

• MPLS/VPN 및 멀티캐스트는 IPv6 BGP에서 지원되지 않습니다.

여러 자치 시스템 구성

AS(자치 시스템)에 여러 BGP 라우터가 있는 경우 각 AS는 서로 전송 서비스 역할을 할 수 있습니다. 서로 다른 AS의 라우터 간에 실행되는 BGP는 eBGP(외부 BGP)를 사용합니다. 같은 AS의 라우터 간에 실행되는 BGP는 iBGP(내부 BGP)를 사용합니다.

다음 다이어그램에서는 AS 200이 AS 100 및 AS 300의 전송 AS입니다.

ebgp_ibgp_AS_diagram.jpg

 

위 다이어그램에 나와 있는 것처럼 여러 AS를 구성하려면 다음과 같이 라우터 RTA, RTB 및 RTC를 구성합니다.

RTA:

router bgp 100

neighbor 129.213.1.1 remote−as 200

 

address-family ipv6

redistribute connected

neighbor 129.213.1.1 activate

RTB:

router bgp 200

neighbor 129.213.1.2 remote−as 100

neighbor 175.220.1.2 remote−as 200

 

address-family ipv6

redistribute connected

neighbor 129.213.1.2 activate

neighbor 175.220.1.2 activate

RTC:

router bgp 200

neighbor 175.220.212.1 remote−as 200

 

address-family ipv6

neighbor 175.220.212.1 activate

neighbor 175.220.212.1 activate

 

기본 BGP over IPv6 구성

IPv6 주소 패밀리나 IPv4 주소 패밀리를 통해 IPv4 또는 IPv6 경로 정보를 운반하도록 IPv6 BGP 피어 라우터를 구성할 수 있습니다.

AS6501_AS6502.jpg

 

 

기본 BGP over IPv6을 구성하려면 다음과 같이 라우터 R1 및 R2를 구성합니다.

R1:

router bgp 6501

bgp router−id 1.1.1.1

neighbor 2011:11:11:11::2 remote−as 6502

 

address−family ipv6

neighbor 2011:11:11:11::2 activate

exit−address−family

R2:

router bgp 6502

bgp router−id 2.2.2.2

neighbor 2011:11:11:11::1 remote−as 6501

 

address−family ipv6

network 1010::1/128

network 2020::1/128

neighbor 2011:11:11:11::1 activate

 

EBGP 멀티홉 구성

EBGP 멀티홉을 사용하면 직접 연결되어 있지 않은 두 외부 피어 간에 인접 항목 연결을 설정할 수 있습니다. 멀티홉은 eBGP에만 사용 가능하며 iBGP에는 사용할 수 없습니다. 방화벽의 외부 인접 항목에 직접 연결이 없는 경우 ebgp−multihop 명령을 사용하여 인접 항목 연결을 설정할 수 있습니다.

EBGP 멀티홉을 구성하려면 다음과 같이 라우터 R1 및 R2를 구성합니다.

R1:

router bgp 6501

bgp router−id 1.1.1.1

neighbor 2011:11:11:11::2 remote−as 6502

neighbor 2011:11:11:11::2 ebgp−multihop

 

address−family ipv6

neighbor 2011:11:11:11::2 activate

exit−address−family

 

R2:

router bgp 6502

bgp router−id 2.2.2.2

neighbor 2011:11:11:11::1 remote−as 6501

neighbor 2011:11:11:11::1 ebgp−multihop

 

address−family ipv6

network 1010::1/128

network 2020::1/128

neighbor 2011:11:11:11::1 activate

IPv6 BGP 아웃바운드 경로 필터 구성

IPv6 BGP ORF(아웃바운드 경로 필터)를 사용하면 출발지에서 원치 않는 라우팅 업데이트를 필터링하여 피어 라우터 간에 전송되는 BGP 업데이트 수를 최소화할 수 있습니다.

IPv6 BGP ORF(아웃바운드 경로 필터)를 구성하려면 다음과 같이 라우터 R1 및 R2를 구성합니다.

R1:

router bgp 6501

bgp router−id 1.1.1.1

neighbor 2011:11:11:11::2 remote−as 6502

 

address−family ipv6

redistribute connected

neighbor 2011:11:11:11::2 activate

neighbor 2011:11:11:11::2 prefix-list pref1 in

neighbor 2011:11:11:11::2 prefix-list pref2 out

exit−address−family

 

ipv6 prefix-list pref1 seq 10 deny 1010::1/128

ipv6 prefix-list pref1 seq 20 permit any

ipv6 prefix-list pref2 seq 10 deny 1111::1/128

ipv6 prefix-list pref2 seq 20 permit any

R2:

router bgp 6502

bgp router−id 2.2.2.2

neighbor 2011:11:11:11::1 remote−as 6501

 

address−family ipv6

redistribute connected

neighbor 2011:11:11:11::1 activate

 

R1 및 R2에서 경로를 확인하려면 show bgp ipv6 unicast 명령을 사용합니다.
R1의 경로 IPv6 주소는 1010::1/128이어야 합니다.
R2의 경로 IPv6 주소는 1111::1/128이어야 합니다.

R1:

R1> show bgp ipv6 unicast

R2:

R2> show bgp ipv6 unicast

 

IPv6 BGP 배포 목록 구성

IPv6 BGP 배포 목록을 사용하면 출발지에서 원치 않는 라우팅 업데이트를 필터링하여 피어 라우터 간에 전송되는 BGP 업데이트 수를 최소화할 수 있습니다.

IPv6 BGP 배포 목록을 구성하려면 다음과 같이 라우터 R1 및 R2를 구성합니다.

R1:

router bgp 6501

bgp router−id 1.1.1.1

neighbor 2011:11:11:11::2 remote−as 6502

 

address−family ipv6

redistribute connected

neighbor 2011:11:11:11::2 activate

neighbor 2011:11:11:11::2 distribute-list acl1 in

neighbor 2011:11:11:11::2 distribute-list acl2 out

exit−address−family

 

ipv6 access-list acl1 deny 1010::1/128

ipv6 access-list acl1 permit any

ipv6 access-list acl2 deny 1111::1/128

ipv6 access-list acl2 permit any

R2:

router bgp 6502

bgp router−id 2.2.2.2

neighbor 2011:11:11:11::1 remote−as 6501

 

address−family ipv6

redistribute connected

neighbor 2011:11:11:11::1 activate

 

R1 및 R2에서 경로를 확인하려면 show bgp ipv6 unicast 명령을 사용합니다.
R1의 라우팅 IPv6 주소는 1010::1/128이어야 합니다.
R2의 라우팅 IPv6 주소는 1111::1/128이어야 합니다.

R1:

R1> show bgp ipv6 unicast

R2:

R2> show bgp ipv6 unicast

 

IPv6 BGP 경로 맵

IPv6 BGP 경로 맵을 사용하면 출발지에서 원치 않는 라우팅 업데이트를 필터링하여 피어 라우터 간에 전송되는 BGP 업데이트 수를 최소화할 수 있습니다.

IPv6 BGP 경로 맵을 구성하려면 다음과 같이 라우터 R1 및 R2를 구성합니다.

R1:

router bgp 6501

bgp router−id 1.1.1.1

neighbor 2011:11:11:11::2 remote−as 6502

 

address−family ipv6

redistribute connected

neighbor 2011:11:11:11::2 activate

neighbor 2011:11:11:11::2 route-map map1 in

neighbor 2011:11:11:11::2 route-map map2 out

exit−address−family

 

ipv6 access-list acl1 deny 1010::1/128

ipv6 access-list acl1 permit any

ipv6 access-list acl2 deny 1111::1/128

ipv6 access-list acl2 permit any

!

route-map map1 permit 1 match ipv6 address acl1

!

route-map map2 permit 1 match ipv6 address acl2

!

R2:

router bgp 6502

bgp router−id 2.2.2.2

neighbor 2011:11:11:11::1 remote−as 6501

 

address−family ipv6

redistribute connected

neighbor 2011:11:11:11::1 activate

 

R1 및 R2에서 경로를 확인하려면 show bgp ipv6 unicast 명령을 사용합니다.

R1:

R1> show bgp ipv6 unicast

 

R1의 경로 IPv6 주소는 1010::1/128이어야 합니다.

R2:

R2> show bgp ipv6 unicast

 

R2의 경로 IPv6 주소는 1111::1/128이어야 합니다.

AS 정규식 구성

일치 여부를 확인하여 AS에서 주소를 허용하거나 거부하는 데 사용할 정규식을 구성할 수 있습니다.

rta_rtr_rtc_diagram.png

 

 

RTB에서 보급하는 경로는 다음과 같습니다.

• 2004::/64

• 2003::/64

• 2002::/64

 

RTC에서 보급하는 경로는 다음과 같습니다.

• 5000::/64

• 6666::6/128

• 7777::7/128

 

라우터 RTA에서 경로를 확인하려면 show bgp ipv6 unicast 명령을 사용합니다.

RTA:

RTA> show bgp ipv6 unicast

 

BGP table version is 4, local router ID is 10.0.1.2

Status codes: s suppressed, d damped, h history, * valid, > best,
i - internal, l - labeled

S Stale

Origin codes: i - IGP, e - EGP, ? - incomplete

네트워크

다음 홉

메트릭

LocPrf

가중치

경로

*> 2002::/64

::ffff:a00:101

0

0

100

i

*> 2003::/64

::ffff:a00:101

0

0

100

i

*> 2004::/64

::ffff:a00:101

0

0

100

i

*> 5000::/64

::ffff:a00:101

0

0

100

400i

*> 6666::6/128

::ffff:a00:101

0

0

100

400

*> 7777::7/128

::ffff:a00:101

0

0

100

400

RTA에서 AS 정규식을 구성하고 AS100에서 시작되는 모든 경로를 거부하려면 다음과 같이 구성합니다.

router bgp 200

neighbor 10.0.1.1 remote-as 100

neighbor 10.0.1.1 update-source X2

neighbor 2004::1 remote-as 100

neighbor 2004::1 update-source X2

!

address-family ipv6

neighbor 10.0.1.1 activate

neighbor 10.0.1.1 filter-list 1 in

neighbor 2004::1 activate

exit-address-family

 

ip as-path access-list 1 deny ^100$

ip as-path access-list 1 permit .*

 

라우터 RTA에서 경로를 확인하려면 show bgp ipv6 unicast 명령을 사용합니다.

RTA:

RTA> show bgp ipv6 unicast

 

BGP table version is 4, local router ID is 10.0.1.2

Status codes: s suppressed, d damped, h history, * valid, > best,
i - internal, l - labeled

S Stale

Origin codes: i - IGP, e - EGP, ? - incomplete

네트워크

다음 홉

메트릭

LocPrf

가중치

Path

*> 5000::/64

::ffff:a00:101

0

0

100

400i

*> 6666::6/128

::ffff:a00:101

0

0

100

400i

*> 7777::7/128

::ffff:a00:101

0

0

100

400i

Total number of prefixes 3

 

AS 경로를 수정하여 AS100에서 러닝된 모든 경로를 거부하려면 다음과 같이 구성합니다.

RTA:

router bgp 200

neighbor 10.0.1.1 remote-as 100

neighbor 10.0.1.1 update-source X2

neighbor 2004::1 remote-as 100

neighbor 2004::1 update-source X2

!

address-family ipv6

neighbor 10.0.1.1 activate

neighbor 10.0.1.1 filter-list 1 in

neighbor 2004::1 activate

exit-address-family

 

ip as-path access-list 1 deny _100_

ip as-path access-list 1 permit .*

 

라우터 RTA에서 라우팅을 확인하려면 show bgp ipv6 unicast 명령을 사용합니다.

RTA:

RTA> show bgp ipv6 unicast

EBGP 경로 선택

경로는 해당 경로에서 실행되는 라우팅 프로토콜의 관리 거리를 기준으로 선택됩니다. 관리 거리가 짧은 라우팅 프로토콜에 관리 거리가 긴 라우팅 프로토콜보다 높은 우선 순위가 지정됩니다. EBGP의 관리 거리는 20입니다. OSPF의 관리 거리는 110입니다.

이 다이어그램에는 BGP 라우터에서 사용되는 라우팅 프로토콜과 3개 AS가 나와 있습니다.

bgp_route_selection.png

 

AS300의 RTC 라우터는 AS100과 AS200에 1000::/64 경로를 보급합니다.
RTC(AS300)에서 RTA(AS100)로의 경로는 OSPF를 실행합니다.
RTC(AS300)에서 RTB(AS200)로의 경로는 eBGP를 실행합니다.
RTA(AS100)에서 RTB(AS200)로의 경로는 eBGP를 실행합니다.

RTA(AS100)는 OSPF와 eBGP 둘 다에서 1000::/64 경로에 대한 업데이트를 수신합니다. eBGP에서 러닝된 경로가 선택되어 RTA의 라우팅 테이블에 추가됩니다. eBGP의 관리 거리가 OSPF의 관리 거리보다 짧기 때문입니다.

RTA:

router bgp 100

neighbor 3001::1 remote-as 200

!

address-family ipv6

distance bgp 150 150 150

neighbor 3001::1 activate

exit-address-family

RTB:

router bgp 200

bgp log-neighbor-changes

neighbor 1001::1 remote-as 300

neighbor 2003::1 remote-as 100

 

address-family ipv6

network 6666::6/128

neighbor 1001::1 activate

neighbor 2003::1 activate

exit-address-family

RTC:

router bgp 300

neighbor 3002::1 remote-as 200

!

address-family ipv6 network 1000::/64

neighbor 3002::1 activate

exit-address-family

 

라우터 RTA에서 경로를 확인하려면 show ipv6 route 명령을 사용합니다.

RTA> show ipv6 route

 

IPv6 Routing Table

 

Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF, I - IS-IS, B - BGP

Timers: Uptime

 

B 1000::/64 [20/0] via fe80::204:27ff:fe0c:b006, X1, 00:01:07

C 2003::/64 via ::, X1, 00:30:50

B 6666::6/128 [20/0] via fe80::204:27ff:fe0c:b006, X1, 00:01:07

C fe80::/64 via ::, X1, 00:30:53

 

RTC는 RTA에 직접 연결되므로 실제로는 BGP가 러닝한 경로보다 OSPF로부터의 경로가 더 효율적인 경로입니다. 라우팅 테이블에 대해 RTA와 RTC 간의 경로가 선택되도록 하려면 distance 명령을 사용하여 BGP 경로의 기본 관리 거리를 OSPF 경로보다 더 큰 관리 거리로 변경하면 됩니다. 예를 들면 다음과 같습니다.

distance bgp 150 150 150

 

backdoor neighbor 명령을 사용하여 BGP 경로를 기본 설정 경로로 설정할 수도 있습니다. 예를 들면 다음과 같습니다.

RTA:

router bgp 100

neighbor 3001::1 remote-as 200

!

address-family ipv6

network 1000::/64

backdoor neighbor 3001::1 activate

exit-address-family

 

라우터 RTA에서 라우팅을 확인하려면 show ipv6 route 명령을 사용합니다.

RTA> show ipv6 route

 

IPv6 Routing Table

 

Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF, I - IS-IS, B - BGP

Timers: Uptime

 

O 1000::/64 [110/2] via fe80::217:c5ff:feb4:57f2, X4, 00:30:53

C 2003::/64 via ::, X1, 오전 12:31:18

B 6666::6/128 [20/0] via fe80::204:27ff:fe0c:b006, X1, 오전 12:00:03

C fe80::/64 via ::, X1, 오전 12:31:21

IPv6 BGP 동기화

IPv6 BGP 동기화에서는 사용 가능한 모든 경로 및 네트워크의 IPv6 주소를 사용하여 모든 BGP 라우터를 업데이트된 상태로 유지합니다.

BGP 동기화에서는 AS(AS100)가 다른 AS(AS300)의 트래픽을 세 번째 AS(AS400)로 전달하는 경우 AS100의 모든 라우터가 IGP에서 해당 경로를 러닝할 때까지 BGP가 해당 경로를 보급하지 않습니다. 여기서 IGP는 iBGP입니다. AS100은 iBGP가 AS100 내의 모든 라우터로 해당 경로를 전파할 때까지 기다려야 합니다. 그리고 나면 eBGP가 경로를 외부 AS로 보급합니다.

이 예에서 RTB는 iBGP를 통해 주소 6666::6/128을 러닝한 후 RTD에 해당 주소를 보급합니다.

bgp_sync.png

 

Note RTB에서 6666::6/128에 고정 경로를 추가한 다음 다른 라우터가 6666::6/128에 연결할 수 있는지 확인하는 방법으로 IGP가 이미 경로 정보를 전달했다고 RTB가 인식하도록 할 수 있습니다.

이 예에서는 RTC(AS2)가 주소 6666::6/128을 RTA(AS100)에 보급합니다. AS100에서 RTA와 RTB는 iBGP를 실행하므로 RTB는 주소 6666::6/128을 러닝하며 다음 홉 5.5.5.5(RTC)를 통해 이 주소에 연결할 수 있습니다. 다음 홉은 iBGP를 통해 운반됩니다. 그러나 다음 홉(RTC)에 연결하려면 RTB는 RTE를 통해 트래픽을 보내야 하는데 RTE는 IP 주소 6666::6/128을 알지 못합니다.

RTB가 6666::6/128을 RTD(AS400)에 보급하는 경우 RTD에서 6666::6/128에 연결하려는 트래픽은 AS100에서 RTB 및 RTE를 통과해야 합니다. 하지만 RTE는 6666::6/128을 러닝하지 않았기 때문에 모든 패킷이 RTE에서 삭제됩니다.

AS100의 RTB에서 BGP 동기화를 구성하려면 다음과 같이 구성합니다.

RTB:

router bgp 100

neighbor 10.103.10.129 remote-as 100

neighbor 3001::1 remote-as 100

neighbor 3001::1 update-source X4

neighbor 5000::1 remote-as 400

neighbor 5000::1 update-source X2

!

address-family ipv6

synchronization

neighbor 10103.10.129 activate

neighbor 3001::1 activate

neighbor 5000::1 activate

exit-address-family

 

중간 AS를 통해 AS 간에 트래픽을 전달하지 않는 경우 동기화를 사용하지 않도록 설정할 수 있습니다. 중간 AS의 모든 라우터가 BGP를 실행하는 경우에도 동기화를 사용하지 않도록 설정할 수 있습니다. 동기화를 사용하지 않도록 설정하면 IGP에서 운반하는 경로 수를 줄이고 BGP의 수렴 속도를 높일 수 있습니다.

AS100의 RTB에서 BGP 동기화를 사용하지 않도록 설정하려면 다음과 같이 구성합니다.

RTB:

router bgp 100

neighbor 10.103.10.129 remote-as 100

neighbor 3001::1 remote-as 100

neighbor 3001::1 update-source X4

neighbor 5000::1 remote-as 400

neighbor 5000::1 update-source X2

!

address-family ipv6

neighbor 10103.10.129 activate

neighbor 3001::1 activate

neighbor 5000::1 activate

exit-address-family

 

BGP 경로 리플렉션

기본적으로 AS의 모든 iBGP 라우터는 완전 메시 구성을 사용해야 합니다. 각 라우터는 서로 피어로 구성되어 있어야 합니다.

경로 리플렉션을 사용하는 경우 모든 iBGP 라우터를 완전히 메시하지 않아도 됩니다. 즉 경로 리플렉션을 사용하면 AS에서 각 iBGP 라우터가 서로 통신할 필요가 없습니다. iBGP 라우터는 경로 리플렉터로 지정할 수 있으며 iBGP에서 러닝한 경로를 여러 iBGP 클라이언트로 전달할 수 있습니다.

경로 리플렉터로 구성된 라우터는 다른 모든 iBGP 라우터가 iBGP에서 러닝된 경로를 가져올 수 있는 단일 지점 역할을 합니다. 경로 리플렉터는 AS에 있는 다른 모든 라우터에 대해 피어가 아닌 서버처럼 작동합니다. 다른 모든 iBGP 라우터는 경로 리플렉터 클라이언트가 됩니다. 하나 이상의 경로 리플렉터 클라이언트를 포함하는 라우터는 계속 경로 리플렉터로 작동합니다.

bgp_route_reflector.png

 

AS에서 경로 리플렉션을 구성하려면 다음과 같이 구성합니다.

라우터 A:

interface Serial0/0

ipv6 address 2011:12:12:12::1/64

ipv6 ospf 10 area 0

 

interface Serial0/1

ipv6 address 2011:오후 1:13:13::1/64

ipv6 ospf 10 area 0

 

router bgp 100

 

bgp router−id 1.1.1.1

no bgp default ipv4−unicast

bgp log−neighbor−changes

neighbor 2011:22:22:22::22 remote−as 100

neighbor 2011:22:22:22::22 update−source Loopback0

neighbor 2011:33:33:33::33 remote−as 100

neighbor 2011:33:33:33::33 update−source Loopback0

!

address−family ipv6

neighbor 2011:22:22:22::22 activate

neighbor 2011:22:22:22::22 route−reflector−client

neighbor 2011:33:33:33::33 activate

neighbor 2011:33:33:33::33 route−reflector−client

exit−address−family

!

ipv6 router ospf 10

router−id 1.1.1.1

 

RRClient1:

interface Loopback0

ipv6 address 2011:22:22:22::22/128

ipv6 ospf 10 area 0

!

interface Loopback10

ipv6 address 1010:10:10:10::10/128

 

interface Serial0/0

ipv6 address 2011:12:12:12::2/64

ipv6 ospf 10 area 0

!

router bgp 100

bgp router−id 2.2.2.2

bgp log−neighbor−changes

neighbor 2011:11:11:11::11 remote−as 100

neighbor 2011:오전 11:11:11::11 update−source Loopback0

!

address−family ipv6

neighbor 2011:11:11:11::11 activate

network 1010:10:10:10::10/128

exit−address−family

!

ipv6 router ospf 10

router−id 2.2.2.2

RRClient2:

interface Loopback0

ipv6 address 2011:33:33:33::33/128

ipv6 ospf 10 area 0

!

interface Loopback20

ipv6 address 2020:20:20:20::20/128

!

interface Serial0/0

no ip address

ipv6 address 2011:13:13:13::2/64

ipv6 ospf 10 area 0

!

router bgp 100

bgp router−id 3.3.3.3

bgp log−neighbor−changes

neighbor 2011:11:11:11::11 remote−as 100

neighbor 2011:11:11:11::11 update−source Loopback0

!

address−family ipv6

neighbor 2011:11:11:11::11 activate

network 2020:20:20:20::20/128

exit−address−family

!

ipv6 router ospf 10

router−id 3.3.3.3

log−adjacency−changes

경로를 확인하려면 show bgp ipv6 unicast 명령을 사용합니다.

RRClient1:

RRClient1> show bgp ipv6 unicast

 

경로 2020:20:20:20::20/128이 표시되어야 합니다.

RRClient2:

RRClient2> show bgp ipv6 unicast

 

경로 1010:10:10:10::10/128이 표시되어야 합니다.

IPv6 BGP 로컬 기본 설정

로컬 기본 설정은 특정 네트워크에 대한 경로를 AS에서 해당 네트워크로의 기본 설정 종료 경로로 지정합니다. 로컬 기본 설정이 가장 높은 경로가 기본 설정 경로입니다. 로컬 기본 설정의 기본값은 100이지만 set local-preference 명령을 사용하여 변경할 수 있습니다.

IPv6_BGP_local_preference.jpg

 

AS에서 기본 설정 경로의 로컬 기본 설정을 구성하려면 다음과 같이 구성합니다.

R1:

interface Loopback0

ipv6 address 1111:111:111:A::/64 eui−64

ipv6 ospf 10 area 0

 

interface FastEthernet0/0

ipv6 address AB01:CD1:123:A::/64 eui−64

ipv6 ospf 10 area 0

!

interface Serial0/0

ipv6 address AB01:CD1:123:C::/64 eui−64

!

interface FastEthernet0/1

ipv6 address AB01:CD1:123:B::/64 eui−64

ipv6 ospf 10 area 0

!

ipv6 router ospf 10 router−id 1.1.1.1 log−adjacency−changes

redistribute connected route−map CONNECTED

!

route−map CONNECTED permit 10

match interface Serial0/0

!

router bgp 123

bgp router−id 1.1.1.1

neighbor 2222:222:222:A:C602:3FF:FEF0:0 remote−as 123

neighbor 2222:222:222:A:C602:3FF:FEF0:0 update−source Loopback0

neighbor 3333:333:333:A:C603:3FF:FEF0:0 remote−as 123

neighbor 3333:333:333:A:C603:3FF:FEF0:0 update−source Loopback0

neighbor AB01:CD1:123:C:C604:16FF:FE98:0 remote−as 101

neighbor AB01:CD1:123:C:C604:16FF:FE98:0 ebgp−multihop 5

!

address−family ipv6

neighbor 2222:222:222:A:C602:3FF:FEF0:0 activate

neighbor 2222:222:222:A:C602:3FF:FEF0:0 next−hop−self

neighbor 3333:333:333:A:C603:3FF:FEF0:0 activate

neighbor 3333:333:333:A:C603:3FF:FEF0:0 next−hop−self

neighbor AB01:CD1:123:C:C604:16FF:FE98:0 activate exit−address−family

 

R2:

interface Loopback0

ipv6 address 2222:222:222:A::/64 eui−64

ipv6 ospf 10 area 0

!

interface FastEthernet0/0

ipv6 address AB01:CD1:123:A::/64 eui−64

ipv6 ospf 10 area 0

!

interface FastEthernet0/1

ipv6 address AB01:CD1:123:D::/64 eui−64

ipv6 ospf 10 area 0

!

ipv6 router ospf 10 router−id 2.2.2.2 log−adjacency−changes

!

router bgp 123

bgp router−id 2.2.2.2

neighbor 1111:111:111:A:C601:3FF:FEF0:0 remote−as 123

neighbor 1111:111:111:A:C601:3FF:FEF0:0 update−source Loopback0

neighbor 3333:333:333:A:C603:3FF:FEF0:0 remote−as 123

neighbor 3333:333:333:A:C603:3FF:FEF0:0 update−source Loopback0

 

address−family ipv6

neighbor 1111:111:111:A:C601:3FF:FEF0:0 activate

neighbor 3333:333:333:A:C603:3FF:FEF0:0 activate

exit−address−family

 

R3:

interface Loopback0

ipv6 address 3333:333:333:A::/64 eui−64

ipv6 ospf 10 area 0

!

interface FastEthernet0/0

ipv6 address AB01:CD1:123:B::/64 eui−64

ipv6 ospf 10 area 0

!

interface Serial0/0

ipv6 address AB01:CD1:123:E::/64 eui−64

!

interface FastEthernet0/1

ipv6 address AB01:CD1:123:D::/64 eui−64

ipv6 ospf 10 area 0

!

ipv6 router ospf 10

router−id 3.3.3.3

redistribute connected route−map CONNECTED

!

router bgp 123

no synchronization

bgp router−id 3.3.3.3

neighbor 1111:111:111:A:C601:3FF:FEF0:0 remote−as 123

neighbor 1111:111:111:A:C601:3FF:FEF0:0 update−source Loopback0

neighbor 2222:222:222:A:C602:3FF:FEF0:0 remote−as 123

neighbor 2222:222:222:A:C602:3FF:FEF0:0 update−source Loopback0

neighbor AB01:CD1:123:E:C605:16FF:FE98:0 remote−as 202

neighbor AB01:CD1:123:E:C605:16FF:FE98:0 ebgp−multihop 5

!

address−family ipv6

neighbor 1111:111:111:A:C601:3FF:FEF0:0 activate

neighbor 1111:111:111:A:C601:3FF:FEF0:0 next−hop−self

neighbor 1111:111:111:A:C601:3FF:FEF0:0 route−map LOCAL_PREF out

neighbor 2222:222:222:A:C602:3FF:FEF0:0 activate

neighbor 2222:222:222:A:C602:3FF:FEF0:0 next−hop−self

neighbor 2222:222:222:A:C602:3FF:FEF0:0 route−map LOCAL_PREF out

neighbor AB01:CD1:123:E:C605:16FF:FE98:0 activate

exit−address−family

!

ipv6 prefix−list 10 seq 5 permit BC01:BC1:10:A::/64

!

route−map LOCAL_PREF permit 10

match ipv6 address prefix−list 10

set local−preference 500

!

route−map LOCAL_PREF permit 20

!

route−map CONNECTED permit 10

match interface Serial0/0

R4:

interface Serial0/0

ipv6 address AB01:CD1:123:C::/64 eui−64

!

interface Loopback10

ipv6 address BC01:BC1:10:A::/64 eui−64

!

interface Loopback11

ipv6 address BC02:BC1:11:A::/64 eui−64

!

interface Loopback12

ipv6 address BC03:BC1:12:A::/64 eui−64

 

router bgp 101

bgp router−id 4.4.4.4

neighbor AB01:CD1:123:C:C601:3FF:FEF0:0 remote−as 123

!

address−family ipv6

neighbor AB01:CD1:123:C:C601:3FF:FEF0:0 activate

network BC01:BC1:10:A::/64 network BC02:BC1:11:A::/64

network BC03:BC1:12:A::/64 exit−address−family

R5:

interface Serial0/0

ipv6 address AB01:CD1:123:E::/64 eui−64

clock rate 2000000

!

interface Loopback10

ipv6 address BC01:BC1:10:A::/64 eui−64

!

interface Loopback11

ipv6 address BC02:BC1:11:A::/64 eui−64

!

interface Loopback12

ipv6 address BC03:BC1:12:A::/64 eui−64

!

router bgp 202

bgp router−id 5.5.5.5

neighbor AB01:CD1:123:E:C603:3FF:FEF0:0 remote−as 123

neighbor AB01:CD1:123:E:C603:3FF:FEF0:0 ebgp−multihop 5

!

address−family ipv6

neighbor AB01:CD1:123:E:C603:3FF:FEF0:0 activate

network BC01:BC1:10:A::/64

network BC02:BC1:11:A::/64

network BC03:BC1:12:A::/64

exit−address−family

 

경로를 확인하려면 show bgp ipv6 unicast 명령을 사용합니다.

R2:

R2> show bgp ipv6 unicast

 

로컬 기본 설정을 구성하기 전에 R2는 러닝된 모든 IPv6 주소에 대한 다음 홉으로 R1을 포함합니다. R3의 로컬 기본 설정을 500으로 구성하고 나면 R2는 다른 기본 설정 종료 경로(접두사 BC01:BC1:10:A::/64)를 포함하게 됩니다. 이제 R2는 R3(이제 로컬 기본 설정으로 지정됨)의 종료 경로를 통해 접두사 BC01:BC1:10:A::/64에 연결할 수 있습니다.

BGP 피어 그룹 업데이트 정책

BGP 피어 그룹은 같은 업데이트 정책을 공유하는 BGP 인접 항목 그룹입니다. 업데이트 정책은 보통 경로 맵, 배포 목록 및 필터 목록에 의해 설정됩니다.

피어 그룹을 정의하고 해당 그룹에 인접 항목을 추가하면 해당 피어 그룹에 할당하는 모든 업데이트 정책이 피어 그룹에 포함된 모든 인접 항목에 적용됩니다. 따라서 각 인접 항목에 대해 정책을 정의할 필요가 없습니다.

피어 그룹의 구성원은 해당 피어 그룹의 모든 구성 설정을 상속합니다. 특정 구성원이 업데이트 정책을 재정의하도록 구성할 수는 있지만 이 경우 인바운드 트래픽에 대해 해당 정책이 설정되어 있어야 합니다. 정책이 아웃바운드 트래픽에 적용되는 경우에는 그룹 정책을 재정의하도록 구성원을 구성할 수 없습니다.

ipv6_bgp_peer_groups.jpg

 

IPv6 BGP 피어 그룹 및 해당 업데이트 정책을 구성하려면 다음과 같이 구성합니다.

R3:

router bgp 123

no synchronization

bgp router−id 3.3.3.3

neighbor interalmap peer-group

neighbor interalmap remote-as 123

neighbor 1111:111:111:A:C601:3FF:FEF0:0 peer-group interalmap

neighbor 2222:222:222:A:C602:3FF:FEF0:0 peer-group interalmap

neighbor AB01:CD1:123:E:C605:16FF:FE98:0 remote−as 202

neighbor AB01:CD1:123:E:C605:16FF:FE98:0 ebgp−multihop 5

!

address−family ipv6

neighbor interalmap activate

neighbor interalmap route-map 1 out

neighbor 1111:111:111:A:C601:3FF:FEF0:0 peer-group interalmap

neighbor 2222:222:222:A:C602:3FF:FEF0:0 peer-group interalmap

exit−address−family

!

ipv6 prefix−list 10 seq 5 permit BC01:BC1:10:A::/64

!

route-map 1 permit 10

match ipv6 address prefix-list 1 set tag 333

set metric 273

set local-preference 312

 

올바른 로컬 기본 설정 경로가 구성되었는지 확인하려면 show bgp ipv6 unicast 명령을 사용합니다.

R3:

R3> show bgp ipv6 unicast

 

IPv6 주소 BC01:BC1:10:A::/64가 AS100에서 R1 및 R2로 전달되며, 메트릭 및 로컬 기본 설정이 해당 경로 맵 설정으로 지정되어 있는지 확인합니다.

BGP 연합

단일 AS를 여러 AS로 나눈 다음 단일 AS 연합에 할당할 수 있습니다. BGP 연합을 구현하면 AS의 iBGP 메시 크기가 감소하며, 연합은 외부 피어에 단일 AS로 계속 보급할 수 있습니다.

연합 내의 개별 AS는 완전 메시 iBGP를 실행하며 연합 내 다른 AS에 대한 eBGP 연결도 실행합니다. 연합 내의 이러한 eBGP 피어는 iBGP를 사용하는 것처럼 라우팅 정보를 교환합니다. 연합은 이러한 방식으로 다음 홉, 메트릭 및 로컬 기본 설정 정보를 보존합니다. 외부에서 볼 때 연합은 단일 AS로 표시됩니다.

ipv6_bgp_confederation.png

 

BGP 연합을 구성하려면 다음과 같이 구성합니다.

R1:

router bgp 2000

bgp log-neighbor-changes

bgp confederation identifier 200

bgp confederation peers 1000

neighbor 2003::1 remote-as 1000

!

address-family ipv4

neighbor 2003::1 activate

exit-address-family

!

address-family ipv6

network 3002::/64

network 4000::/64

neighbor 2003::1 activate

exit-address-family

R2:

router bgp 1000

bgp confederation identifier 200

neighbor 10.0.1.1 remote-as 1000

!

address-family ipv6

neighbor 100.1.1 activate

exit-address-family

 

R3:

router bgp 1000

bgp confederation identifier 200

bgp confederation peers 2000

neighbor 10.0.1.2 remote-as 1000

neighbor 3001::1 remote-as 2000

neighbor 5000::1 remote-as 100

neighbor 5000::1 update-source X2

!

address-family ipv6

neighbor 100.1.2 activate

neighbor 3001::1 activate

neighbor 5000::1 activate

exit-address-family

 

R5:

router bgp 100

bgp router-id 5.5.5.5

bgp log-neighbor-changes

neighbor 2002::1 remote-as 200

!

address-family ipv6

network 6666::6/128

network 7777::7/128

neighbor 2002::1 activate

exit-address-family

 

R1, R2 및 R3이 R5에서 보급하는 다음 경로를 러닝할 수 있는지 확인합니다.

6666::6/128 및 7777::7/128

 

R2가 R1과 직접 연결되어 있지 않아도 R1에서 다음 경로를 러닝할 수 있는지 확인합니다.

3002::/64 및 4000::/64

 

Note IPv6 BGP 구성 데이터 및 IPv6 BGP 경로는 TSR(Terminate-and-Stay-Resident) 파일로 덤프됩니다.

Note IPv6 BGP는 ZebOS 디버그 인터페이스를 사용합니다. 모든 디버그 스위치의 기본 설정은 종료됨입니다. 콘솔에서 CLI debug 명령을 입력하면 디버그 스위치가 열립니다.

BGP 용어

ARD – Autonomous Routing Domain. 공통 관리 경로 지정 정책이 있는 네트워크/라우터 모음입니다.

AS - 자치 시스템. 해당 경계 라우터에서 일반적으로 BGP4를 실행하며 식별 번호가 할당된 ARD입니다

BGP4: - Border Gateway Protocol 4. 가장 널리 사용되는 EGP입니다.

CIDR – 클래스 없는 도메인 간 라우팅. 경로 어그리게이션을 통한 효율적인 경로 보급을 지원합니다.

CPE – 고객 프레미스 장비. 고객의 네트워크 경계에서 ISP와 상호 작용하는 데 사용되는 장비입니다.

EGP - Exterior Gateway Protocol. 자치 시스템 간에 라우팅 정보를 전달하는 데 사용되는 프로토콜(실제 이름: BGP4)입니다.

전체 경로 - 전체 글로벌 BGP 경로 테이블입니다.

FIB - 전달 정보 데이터베이스. 패킷 전달 시 송신 인터페이스와 다음 홉을 찾는 데 사용되는 기존 경로 테이블입니다.

Looking Glass* - Looking Glass(LG) 서버는 LG 서버가 실행되는 조직의 라우터에 대한 읽기 전용 보기를 제공합니다. 일반적으로 공용으로 액세스할 수 있는 LG 서버는 ISP 또는 NOC에서 실행됩니다.

멀티 홈 - 하나 이상의 ISP에 대한 연결이 여러 개인 ISP 고객입니다.

다중 공급자 - 인터넷 연결을 위해 여러 ISP를 사용하는 ISP 고객입니다.

NSM – 네트워크 서비스 모듈. FIB 및 RIB에 대한 인터페이스를 중앙에 집중시키는 ZebOS 구성 요소입니다. 모든 RIB 업데이트에 NSM을 사용하는 별도의 라우팅 프로토콜 디먼 인터페이스입니다. NSM 단독으로 RIB에서 제공하는 최적의 경로 정보로 FIB를 업데이트할 수 있습니다. 

부분 경로 - 전체 BGP 경로 테이블의 일부로, 대개 ISP 도메인에 속하는 목적지와 관련이 있습니다.

RIB - 경로 정보 데이터베이스. NSM이 소유하는 런타임 데이터베이스로, 라우팅 프로토콜에서 수집하고 사용하는 모든 경로 정보를 저장하는 데 사용됩니다.