Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

기본 BGP 라우팅 정책

라우팅 정책 이해하기

각 라우팅 정책은 정책 이름으로 식별됩니다. 이름은 문자, 숫자, 하이픈(-)을 포함할 수 있으며 최대 255자 길이입니다. 이름에 공백을 포함하려면 전체 이름을 큰따옴표 안에 넣으십시오. 구성 내에서 라우팅 정책은 각각 고유한 이름을 가져야 합니다.

정책이 생성되고 이름이 지정되면 활성화되기 전에 먼저 적용해야 합니다. 라우팅 정책은 구성 계층의 protocols protocol-name 수준에서 importexport 명령문을 사용해 적용합니다.

import 명령문에서는 경로를 라우팅 프로토콜에서 라우팅 테이블로 가져올 때 평가할 라우팅 정책의 이름을 입력합니다.

export 명령문에서는 경로를 라우팅 테이블에서 동적 라우팅 프로토콜로 내보낼 때 평가할 라우팅 정책의 이름을 입력합니다. 활성 상태의 경로만 라우팅 테이블에서 내보낼 수 있습니다.

정책을 한 개 이상 지정하여 정책 체인을 생성하려면 공백을 구분자로 사용하여 이러한 정책을 모두 나열합니다. 여러 정책이 지정되면 정책은 지정된 순서대로 평가됩니다. 작업 수락 또는 거부가 실행되는 순간 정책 체인 평가가 종료됩니다.

예: BGP 계층의 다른 수준에서 라우팅 정책 적용

이 예는 간단한 네트워크 토폴로지에서 구성된 BGP를 보여주고 라우팅 정책이 BGP 구성의 다른 수준에서 적용될 때 어떻게 효과를 발휘하는지 설명합니다.

요구 사항

이 예를 구성하기 전에 디바이스 초기화를 제외한 특별한 구성은 필요하지 않습니다.

개요

BGP의 경우, 다음과 같이 정책을 적용할 수 있습니다:

  • BGP 글로벌 importexport 문—[edit protocols bgp] 계층 수준에 이러한 문들을 포함합니다(라우팅 인스턴스의 경우, [edit routing-instances routing-instance-name protocols bgp] 계층 수준에 이러한 문들을 포함).

  • 그룹 importexport 문—[edit protocols bgp group group-name]·계층 수준에 이러한 문들을 포함합니다(라우팅 인스턴스의 경우, [edit routing-instances routing-instance-name protocols bgp group group-name] 계층 수준에 이러한 문들을 포함).

  • 피어 importexport 문—[edit protocols bgp group group-name neighbor address] 계층 수준에 이러한 문들을 포함합니다(라우팅 인스턴스의 경우, [edit routing-instances routing-instance-name protocols bgp group group-name neighbor address] 계층 수준에 이러한 문들을 포함).

peer-level·import 또는 export 문은 그룹 import 또는 export 문보다 우선합니다. group-level import 또는 export 문은 글로벌 BGP import 또는 export 문보다 우선합니다.

이 예에서는 send-direct라는 정책이 글로벌 수준에 적용되고, send-192.168.0.1라는 또 다른 정책이 그룹 수준에 적용되며, send-192.168.20.1라는 세 번째 정책이 neighbor 수준에서 적용됩니다.

종종 잘못 이해되고 문제를 일으킬 수 있는 키 포인트는 이런 구성에서는 가장 명시적인 정책만 적용된다는 점입니다. neighbor 수준 정책은 그룹 수준 정책보다 더 명시적이며, 결과적으로 글로벌 정책보다도 더 명시적입니다.

neighbor 172.16.2.2는 send-192.168.20.1 정책의 적용만 받습니다. 더 구체적인 것이 없는 neighbor 172.16.3.3은 send-192.168.0.1 정책의 적용만 받습니다. 한편, 그룹 other-group의 neighbor 172.16.4.4는 그룹 또는 아웃 수준 정책이 없으므로 send-direct 정책을 사용합니다.

neighbor 172.16.2.2가 세 정책 모두의 기능을 수행해야 하는 경우, 다른 세 개의 기능을 포함하는 새로운 neighbor 수준 정책을 작성하고 적용하거나 기존 세 개의 정책을 모두 체인으로 neighbor 172.16.2.2에 적용할 수 있습니다.

토폴로지

그림 1은 샘플 네트워크를 표시합니다.

그림 1: BGP에 라우팅 정책 적용BGP에 라우팅 정책 적용

CLI 빠른 구성그림 1 내 모든 디바이스의 구성을 보여줍니다.

섹션 #d99e203__d99e457은 디바이스 R1의 단계를 설명합니다.

구성

CLI 빠른 구성

이 예를 빠르게 구성하려면, 아래 명령을 복사하여 텍스트 파일로 붙여 넣은 다음 모든 라인브레이크를 제거하고, 네트워크 구성을 일치하는 데 필요한 세부 사항을 바꾸고 [edit] 계층 수준에서 명령을 CLI로 복사해 붙여 넣습니다.

디바이스 R1

디바이스 R2

디바이스 R3

디바이스 R4

절차

단계별 절차

다음 예는 구성 계층에서 다양한 수준의 탐색이 필요합니다. CLI 탐색에 관한 정보는 CLI 사용자 가이드에서 구성 모드에서 CLI 편집기 사용을 참조하십시오.

IS-IS 기본 경로 정책 구성:

  1. 디바이스 인터페이스를 구성합니다.

  2. 인터페이스에서 OSPF 또는 다른 내부 게이트웨이 프로토콜(IGP)을 활성화합니다.

  3. 정적 경로를 구성합니다.

  4. 라우팅 정책을 활성화합니다.

  5. BGP를 구성하고 내보내기 정책을 적용합니다.

  6. 라우터 ID 및 AS(Autonomous System) 번호를 구성합니다.

  7. 디바이스 구성을 완료하면 해당 구성을 커밋합니다.

결과

구성 모드에서 show interfaces, show protocols, show policy-optionsshow routing-options 명령을 입력하여 구성을 확인합니다. 출력 결과가 의도한 구성대로 표시되지 않으면 이 예의 지침을 반복하여 구성을 수정하십시오.

검증

구성이 올바르게 작동하고 있는지 확인합니다.

BGP 경로 학습 확인

목적

라우팅 테이블 검사를 통해 BGP 내보내기 정책이 예상대로 작동하는지 확인합니다.

작업
의미

디바이스 R1에서 show route protocol direct 명령은 두 개의 직접 경로 (172.16.1.1/32 및 10.10.10.0/30)를 표시합니다. show route protocol static 명령은 두 개의 정적 경로 (192.168.0.1/32 및 192.168.20.1/32)를 표시합니다.

디바이스 R2에서 show route protocol bgp 명령은 디바이스 R2가 BGP를 통해 학습한 유일한 경로가 192.168.20.1/32 경로라고 표시합니다.

디바이스 R3에서 show route protocol bgp 명령은 디바이스 R3이 BGP를 통해 학습한 유일한 경로가 192.168.0.1/32 경로라고 표시합니다.

디바이스 R4에서 show route protocol bgp 명령은 디바이스 R4가 BGP를 통해 학습한 유일한 경로가 172.16.1.1/32 및 10.10.10.0/30 경로라고 표시합니다.

BGP 경로 수신 확인

목적

디바이스 R1에서 수신된 BGP 경로를 확인하여 BGP 내보내기 정책이 예상대로 작동하는지 확인합니다.

작업
의미

디바이스 R2에서 route receive-protocol bgp 172.16.1.1 명령은 디바이스 R2가 디바이스 R1에서 단 하나의 BGP 경로인 192.168.20.1/32를 수신한 것을 보여줍니다.

디바이스 R3에서 route receive-protocol bgp 172.16.1.1 명령은 디바이스 R3이 디바이스 R1에서 단 하나의 BGP 경로인 192.168.0.1/32를 수신한 것을 보여줍니다.

디바이스 R4에서 route receive-protocol bgp 172.16.1.1 명령은 디바이스 R4가 디바이스 R1에서 두 개의 BGP 경로인 172.16.1.1/32 및 10.10.10.0/30을 수신한 것을 보여줍니다.

요약하자면, BGP에서 다른 CLI 계층에 여러 정책이 적용되면, 가장 구체적인 애플리케이션만 평가되며 다른 덜 구체적인 정책 애플리케이션은 제외됩니다. 이 부분은 이해되는 것처럼 보이지만 라우터 구성 중 쉽게 잊게 되며, neighbor 수준 정책이 글로벌 또는 그룹 수준 정책과 결합된다고 잘못 믿게 되면 정책 동작이 예상대로 이루어지지 않습니다.

예: BGP 라우팅 테이블에 OSPF 경로 삽입하기

아래에는 최단 경로 우선(OSPF) 경로를 BGP(Border Gateway Protocol) 라우팅 테이블에 삽입하는 정책을 만드는 방법의 예가 나와 있습니다.

요구 사항

시작하기 전에:

개요

이 예에서는 injectpolicy1이라는 라우팅 정책과 injectterm1이라는 라우팅 용어를 생성합니다. 이 정책은 OSPF 경로를 BGP 라우팅 테이블에 삽입합니다.

토폴로지

구성

라우팅 정책 구성

CLI 빠른 구성

이 예를 빠르게 구성하려면 다음의 명령을 복사하여 텍스트 파일에 붙여 넣고 줄 바꿈을 제거한 다음 네트워크 구성에 맞게 필요한 세부 정보를 변경한 후 명령을 복사하여 [edit] 계층 수준에서 CLI에 붙여 넣고 구성 모드에서 commit을 입력하시면 됩니다.

단계별 절차

다음 예는 구성 계층에서 다양한 수준의 탐색이 필요합니다. CLI 탐색에 관한 정보는 CLI 사용자 가이드에서 구성 모드에서 CLI 편집기 사용을 참조하십시오.

OSPF 경로를 BGP 라우팅 테이블에 삽입하려면 다음과 같이 하십시오.

  1. 정책 용어를 생성합니다.

  2. OSPF를 일치 조건으로 지정합니다.

  3. OSPF 영역의 경로를 일치 조건으로 지정합니다.

  4. 이전 조건이 일치하는 경우 경로를 수락하도록 지정합니다.

  5. 이 라우팅 정책을 BGP에 적용합니다.

결과

구성 모드에서 show policy-optionsshow protocols bgp 명령을 입력하여 구성을 확인합니다. 출력 결과가 의도한 구성대로 표시되지 않으면 이 예의 지침을 반복하여 구성을 수정하십시오.

디바이스 구성을 마쳤으면 구성 모드에서 commit을 입력합니다.

라우팅 정책에 대한 추적 구성

CLI 빠른 구성

이 예를 빠르게 구성하려면 다음의 명령을 복사하여 텍스트 파일에 붙여 넣고 줄 바꿈을 제거한 다음 네트워크 구성에 맞게 필요한 세부 정보를 변경한 후 명령을 복사하여 [edit] 계층 수준에서 CLI에 붙여 넣고 구성 모드에서 commit을 입력하시면 됩니다.

단계별 절차

다음 예는 구성 계층에서 다양한 수준의 탐색이 필요합니다. CLI 탐색에 관한 정보는 CLI 사용자 가이드에서 구성 모드에서 CLI 편집기 사용을 참조하십시오.

  1. 정책에 추적 작업을 포함합니다.

  2. 해당 출력에 대한 추적 파일을 구성합니다.

결과

구성 모드에서 show policy-optionsshow routing-options 명령을 입력하여 구성을 확인합니다. 출력 결과가 의도한 구성대로 표시되지 않으면 이 예의 지침을 반복하여 구성을 수정하십시오.

디바이스 구성을 마쳤으면 구성 모드에서 commit을 입력합니다.

검증

구성이 올바르게 작동하고 있는지 확인합니다.

예정된 BGP 경로가 존재하는지 확인하기

목적

내보내기 정책의 효과를 확인합니다.

작업

운영 모드에서 show route 명령을 입력합니다.

문제 해결

show log 명령을 사용하여 라우팅 정책의 작업 검토하기

문제

라우팅 테이블에 예상치 않은 경로가 포함되어 있거나, 있어야 할 경로가 누락되어 있습니다.

솔루션

이 예에 나온 것과 같이 정책 추적을 구성하는 경우, show log ospf-bgp-policy-log 명령을 실행하여 라우팅 정책의 문제를 진단하실 수 있습니다. show log ospf-bgp-policy-log 명령은 injectpolicy1 정책 용어가 분석하고 따르는 경로에 대한 정보를 표시합니다.

BGP 루트 보급을 제어하기 위한 라우팅 정책 구성

모든 라우팅 프로토콜은 Junos OS 라우팅 테이블을 사용하여 학습한 경로를 저장하고 프로토콜 패킷에 보급할 경로를 결정합니다. 라우팅 정책을 사용하면 라우팅 프로토콜이 라우팅 테이블에 저장 및 검색되는 경로를 제어할 수 있습니다. 라우팅 정책에 대한 자세한 내용은 라우팅 정책, 방화벽 필터 및 트래픽 폴리서 사용자 설명서를 참조하십시오.

BGP 라우팅 정책을 구성할 때 다음 작업을 수행할 수 있습니다.

라우팅 정책 적용

라우팅 정책은 [edit policy-options] 계층 수준에서 정의합니다. BGP에 대해 정의한 정책을 적용하려면 BGP 구성 내에 importexport 문을 포함합니다.

다음과 같이 정책을 적용할 수 있습니다.

  • BGP 글로벌 importexport 문—[edit protocols bgp] 계층 수준에 이러한 문들을 포함합니다(라우팅 인스턴스의 경우, [edit routing-instances routing-instance-name protocols bgp] 계층 수준에 이러한 문들을 포함).

  • 그룹 importexport 문—[edit protocols bgp group group-name]·계층 수준에 이러한 문들을 포함합니다(라우팅 인스턴스의 경우, [edit routing-instances routing-instance-name protocols bgp group group-name] 계층 수준에 이러한 문들을 포함).

  • 피어 importexport 문—[edit protocols bgp group group-name neighbor address] 계층 수준에 이러한 문들을 포함합니다(라우팅 인스턴스의 경우, [edit routing-instances routing-instance-name protocols bgp group group-name neighbor address] 계층 수준에 이러한 문들을 포함).

peer-level·import 또는 export 문은 그룹 import 또는 export 문보다 우선합니다. group-level import 또는 export 문은 글로벌 BGP import 또는 export 문보다 우선합니다.

정책을 적용하려면 다음 섹션을 참조하십시오.

BGP에서 라우팅 테이블로 가져올 경로에 정책 적용

BGP에서 라우팅 테이블로 가져오는 경로에 정책을 적용하려면 평가할 하나 이상의 정책 이름을 나열하는 import 문을 포함합니다.

이 명령문을 포함할 수 있는 계층 수준의 목록은 이 명령문에 대한 요약 섹션을 참조하십시오.

정책을 두 개 이상 지정하면 첫 번째부터 마지막까지 지정된 순서대로 평가되고 첫 번째 일치 필터가 경로에 적용됩니다. 일치하는 항목이 없으면 BGP는 BGP 라우팅 장치에서 학습한 경로만 라우팅 테이블에 배치합니다.

라우팅 테이블에서 BGP로 내보내는 경로에 정책 적용

라우팅 테이블에서 BGP로 내보내는 경로에 정책을 적용하려면 평가할 하나 이상의 정책 이름을 나열하는 export 문을 포함합니다.

이 명령문을 포함할 수 있는 계층 수준의 목록은 이 명령문에 대한 요약 섹션을 참조하십시오.

정책을 두 개 이상 지정하면 첫 번째부터 마지막까지 지정된 순서대로 평가되고 첫 번째 일치 필터가 경로에 적용됩니다. 필터와 일치하는 경로가 없는 경우 라우팅 테이블은 BGP에서 학습한 경로만 BGP로 내보냅니다.

비활성 경로를 보급하도록 BGP 설정

기본적으로 BGP는 업데이트 메시지에서 수신한 경로 정보를 Junos OS 라우팅 테이블에 저장하고, 라우팅 테이블은 활성 경로만 BGP로 내보내고, BGP는 이를 자신의 피어에 보급합니다. Junos OS가 활성 경로로 선택하지 않았더라도 BGP가 학습한 최상의 경로를 BGP로 내보내려면 advertise-inactive 문을 포함하십시오.

이 명령문을 포함할 수 있는 계층 수준의 목록은 이 명령문에 대한 요약 섹션을 참조하십시오.

내부 피어에 최상의 외부 경로를 보급하기 위한 BGP 설정

일반적으로 배포된 BGP 구현은 최상의 경로가 아닌 한 local 선호 값이 가장 높은 외부 경로를 내부 피어에 알리지 않습니다. 이 동작은 이전 버전의 BGP 버전 4 사양인 RFC 1771에서 요구되었지만, 일반적으로 보급되는 정보의 양을 최소화하고 라우팅 루프를 방지하기 위해 따르지 않았습니다. 그러나, 특히 IBGP 경로 변동을 초래할 수 있는 상황에서 최선의 외부 경로를 보급하는 것이 유익한 시나리오가 있습니다.

Junos OS 릴리스 9.3 이상에서는 최상의 경로가 내부 경로인 경우에도 최상의 외부 경로를 내부 BGP(IBGP) 메시 그룹, 경로 리플렉터 클러스터 또는 AS(Autonomous System) 페더레이션에 알리도록 BGP를 구성할 수 있습니다.

주:

경로 리플렉터에서 advertise-external 문을 구성하려면 no-client-reflect 문을 사용하여 클러스터 내 리플렉션을 비활성화해야 합니다.

라우팅 디바이스가 클러스터의 경로 리플렉터로 구성되면, 경로 리플렉터가 보급하는 경로는 동일한 클러스터 식별자를 가진 내부 피어에서 수신되거나 두 피어 모두 구성된 클러스터 식별자가 없는 경우 내부로 간주됩니다. 또 다른 클러스터에 속하는 내부 피어에서 수신된 경로는 다른 클러스터 식별자를 가졌으므로 외부 피어로 간주됩니다.

페더레이션에서 경로를 페더레이션 경계 라우터에 보급하는 경우 다른 페더레이션 하위-AS의 모든 경로는 외부 경로로 간주됩니다.

또한 경로 선택 프로세스가 MED(Multiple Exit Discriminator) 메트릭이 평가되는 지점에 도달하는 경우에만 외부 경로를 알리도록 BGP를 구성할 수 있습니다. 결과적으로, AS 경로가 활성 경로보다 더 나쁜(즉, 더 긴) 외부 경로는 보급되지 않습니다.

또한 Junos OS는 보급된 경로의 상태와 일치하는 BGP 내보내기 정책을 구성할 수 있도록 지원합니다. 활성 경로 또는 비활성 경로에서 일치시킬 수 있습니다. 자세한 정보는 라우팅 정책, 방화벽 필터 및 트래픽 Policer 사용자 가이드를 참조하십시오.

BGP를 구성하여 내부 피어로의 최상의 외부 경로를 보급하려면 advertise-external 문을 포함합니다.

주:

advertise-external 문은 그룹 및 neighbor 수준에서 모두 지원됩니다. neighbor 수준에서 문을 구성하면 그룹 내 모든 neighbor에 이것을 구성해야 합니다. 그렇지 않으면 그룹이 자동으로 다른 그룹으로 분리됩니다.

이 문을 구성할 수 있는 전체 계층 수준 목록은 이 문에 대한 문 요약 섹션을 참조하십시오.

경로 선택 프로세스가 MED 값이 평가되는 지점에 도달하는 경우에만 최적의 외부 경로를 보급하도록 BGP를 구성하려면, conditional 문을 포함합니다.

BGP가 라우팅 테이블과 경로를 교환하는 빈도 설정

BGP는 업데이트 메시지로부터 받은 경로 정보를 라우팅 테이블에 저장하고, 라우팅 테이블은 라우팅 테이블에서 BGP로 활성 경로를 내보냅니다. 그런 다음 BGP는 내보낸 경로를 피어에 보급합니다. 기본적으로 BGP와 라우팅 테이블 간의 경로 정보 교환은 경로가 수신된 직후에 이루어집니다. 이러한 즉각적인 경로 정보 교환은 네트워크 연결성 정보에 불안정성을 야기할 수 있습니다. 이 문제를 방지하기 위해 BGP와 라우팅 테이블이 경로 정보를 교환하는 시간을 지연할 수 있습니다.

BGP와 라우팅 테이블이 경로 정보를 교환하는 빈도를 구성하려면 out-delay 문을 포함합니다.

기본적으로 라우팅 테이블은 BGP에서 학습한 경로 정보의 일부를 유지합니다. 라우팅 테이블에서 이 정보를 모두 또는 전혀 유지하지 않도록 하려면, keep 문을 포함하십시오.

이러한 명령문을 포함할 수 있는 계층 수준의 목록은 해당 명령문에 대한 요약 섹션에 나와 있습니다.

라우팅 테이블은 다음 방법 중 하나로 BGP에서 학습한 경로 정보를 유지할 수 있습니다.

  • 기본값(keep 문 생략)—AS 경로가 루프되고 루프가 로컬 AS를 포함하는 경로를 제외하고 BGP에서 학습한 모든 경로 정보를 유지합니다.

  • keep all—BGP에서 학습한 모든 경로 정보를 보관합니다.

  • keep none—피어로부터 수신되었지만 가져오기 정책 또는 AS 경로나 다음 홉과 같은 기타 온전성 검사에서 거부된 경로를 삭제합니다. BGP 세션에 대해 keep none을 구성하고 인바운드 정책이 변경되면 Junos OS는 피어가 보급하는 전체 경로 집합을 강제로 다시 보급합니다.

이론적으로, AS 경로 복구 상황에서 루프가 있는 경로는 AS 경로 루프 제한이 변경될 때 소프트 재구성 중에 사용할 수 있습니다. 그러나 기본값과 keep all 사이에는 상당한 메모리 사용량 차이가 있습니다.

다음과 같은 시나리오를 고려하십시오.

  • 피어는 경로를 학습한 피어에 대한 경로를 다시 보급합니다.

    이 문제는 다음과 같은 경우에 발생할 수 있습니다.

    • 다른 벤더의 라우팅 디바이스는 전송 피어에 경로를 다시 보급합니다.

    • 전송 피어에 대한 경로를 다시 보급하지 않는 Junos OS 피어의 기본 동작은 advertise-peer-as을 구성함으로써 재정의됩니다.

  • PE(Provider Edge) 라우팅 디바이스는 예상되는 route target이 없는 모든 VPN 경로를 삭제합니다.

keep all을 구성하면, 상기 시나리오에서 수신한 경로를 폐기하는 동작이 무시됩니다.

경로 보급 억제 비활성화

Junos OS는 한 EBGP 피어에서 학습한 경로를 동일한 외부 BGP(EBGP) 피어로 다시 알리지 않습니다. 또한 소프트웨어는 라우팅 인스턴스에 관계없이 원래 피어와 동일한 AS에 있는 EBGP 피어에 이러한 경로를 다시 알리지 않습니다. 구성에 advertise-peer-as 문을 포함시켜 이 동작을 수정할 수 있습니다. 기본 보급 억제를 비활성화하려면 advertise-peer-as 문을 포함합니다.

주:

구성에 as-override 문이 포함된 경우 경로 억제 기본 동작이 비활성화됩니다.

구성에 advertise-peer-as 문을 포함하면, BGP는 이 확인에 관계없이 경로를 보급합니다.

기본 동작을 복원하려면 구성에 no-advertise-peer-as 문을 포함합니다.

구성에 as-override 문과 no-advertise-peer-as 문을 모두 포함하면 no-advertise-peer-as 문은 무시됩니다. 이러한 문을 여러 계층 수준에 포함할 수 있습니다.

이러한 문을 포함할 수 있는 계층 수준 목록은 해당 문에 대한 문 요약 섹션을 참조하십시오.

예: 내부 피어에 최고의 외부 경로를 보급하는 라우팅 정책 구성

RFC 1771에 정의된 BGP 프로토콜 사양은 BGP 피어가 내부 피어에 더 높은 선호 외부 경로를 보급하는 것을 지정합니다. 이 경로가 전체적으로 최선이 아니더라도 (다시 말해 최고 경로가 내부 경로라고 해도) 적용됩니다. 실제로 배포된 BGP 구현은 이 규칙을 따르지 않습니다. 사양을 벗어나는 이유는 다음과 같습니다:

  • 보급되는 정보의 양을 최소화. 사용 가능한 경로 수에 따른 BGP 확장.

  • 라우팅 및 포워딩 루프 회피.

그러나 특히 RFC 1771에서 지정된 최고 외부 경로를 보급하는 동작이 유익할 수도 있는 여러 시나리오가 있습니다. 경로 다양화가 복원 시간을 줄이는 데 도움이 될 수도 있으므로, 경로 정보 제한이 항상 바람직한 것은 아닙니다. 또한 최고 외부 경로 보급은 RFC 3345, BGP(Border Gateway Protocol) 지속 경로 진동 상태에서 설명된 내부 BGP(IBGP) 경로 진동 문제를 해결할 수도 있습니다.

advertise-external 문은 BGP 스피커의 동작을 수정하여 최고 전체 경로가 내부 경로인 경우에도 IBGP 피어에 최고 외부 경로를 보급합니다.

주:

advertise-external 문은 그룹 및 neighbor 수준에서 모두 지원됩니다. neighbor 수준에서 문을 구성하면 그룹 내 모든 neighbor에 이것을 구성해야 합니다. 그렇지 않으면 그룹이 자동으로 다른 그룹으로 분리됩니다.

conditional 옵션은 advertise-external 설정의 동작을 제한하여, 경로 선택 프로세스가 MED(Multiple Exit Discriminator) 메트릭이 평가되는 포인트에 도달할 때만 외부 경로가 보급됩니다. 따라서, 예를 들어 AS 경로가 활성 경로보다 나쁜 (긴) 경우 외부 경로가 보급되지 않습니다. conditional 옵션은 최고의 외부 경로와 활성 경로가 경로 선택 프로세스의 MED 단계까지 동일한 경우, 외부 경로 보급을 제한합니다. 최고의 외부 경로를 선택하는 데 사용되는 기준은 conditional 옵션의 구성 여부와 관계없이 동일합니다.

Junos OS는 또한 보급된 경로 상태와 일치하는 BGP 내보내기 정책 구성을 지원합니다. 다음과 같이 활성 또는 비활성 경로를 일치시킬 수 있습니다:

이 한정자는 내보내기 정책의 컨텍스트에서 사용할 때만 일치합니다. (BGP 같은) 비활성 경로를 보급할 수 있는 프로토콜로 경로가 보급될 경우, advertise-inactiveadvertise-external 문의 결과로 보급되는 경로와 state inactive은 일치합니다.

예를 들어 다음 구성은 내부 피어로의 BGP 내보내기 정책으로 사용되어, 사용자 정의 community에서 advertise-external 설정으로 보급된 경로를 표시합니다. 해당 community는 나중에 수신 라우터에 사용되어 포워딩 테이블에서 이러한 경로를 필터링할 수 있습니다. 이와 같은 메커니즘은 발신자가 포워딩에 사용하지 않는 보급 경로가 포워딩 루프를 유발할 수도 있다는 우려를 해결하는 데 사용될 수 있습니다.

요구 사항

Junos OS 9.3 이상이 필요합니다.

개요

이 예는 라우팅 디바이스 세 개를 보여줍니다. 디바이스 R2는 디바이스 R1로의 외부 BGP(EBGP) 연결을 보유합니다. 디바이스 R2는 디바이스 R3으로의 IBGP 연결을 보유합니다.

디바이스 R1은 172.16.6.0/24를 보급합니다. 디바이스 R2는 디바이스 R1의 경로에 대한 가져오기 정책에서 local 선호를 설정하지 않으므로, 172.16.6.0/24는 100의 기본 local 선호를 갖습니다.

디바이스 R3은 200의 local 선호로 172.16.6.0/24를 보급합니다.

advertise-external 문이 디바이스 R2에서 구성되지 않으면, 디바이스 R2는 디바이스 R3으로 172.16.6.0/24를 보급하지 않습니다.

advertise-external 문이 디바이스 R3에 대한 세션에서 디바이스 R2에 구성되면, 디바이스 R2는 디바이스 R3으로 172.16.6.0/24를 보급합니다.

advertise-external conditional이 디바이스 R3에 대한 세션에서 디바이스 R2에 구성되면, 디바이스 R2는 디바이스 R3으로 172.16.6.0/24를 보급합니다. 디바이스 R3에서 then local-preference 200 설정을 제거하고 디바이스 R2에 path-selection as-path-ignore 설정을 추가하면(따라서 경로 선택 기준이 경로 선택 프로세스의 MED 단계까지 동일), 디바이스 R2가 디바이스 R3으로 172.16.6.0/24를 보급합니다.

주:

경로 리플렉터에서 advertise-external 문을 구성하려면, no-client-reflect 문으로 클러스터 내부 리플렉션을 비활성화해야 하며, 클라이언트 클러스터를 완전히 연결하여 중복 경로 광고 보급을 막아야 합니다.

라우팅 디바이스가 클러스터의 경로 리플렉터로 구성되면, 경로 리플렉터가 보급하는 경로는 동일한 클러스터 식별자를 가진 내부 피어에서 수신되거나 두 피어 모두 구성된 클러스터 식별자가 없는 경우 내부로 간주됩니다. 또 다른 클러스터에 속하는 내부 피어에서 수신된 경로는 다른 클러스터 식별자를 가졌으므로 외부 피어로 간주됩니다.

토폴로지

그림 2은 샘플 네트워크를 표시합니다.

그림 2: advertise-external을 위한 BGP 토폴로지advertise-external을 위한 BGP 토폴로지

CLI 빠른 구성그림 2 내 모든 디바이스의 구성을 보여줍니다.

섹션 #d102e160__d102e338은 디바이스 R2의 단계를 설명합니다.

구성

CLI 빠른 구성

이 예를 빠르게 구성하려면, 아래 명령을 복사하여 텍스트 파일로 붙여 넣은 다음 모든 라인브레이크를 제거하고, 네트워크 구성을 일치하는 데 필요한 세부 사항을 바꾸고 [edit] 계층 수준에서 명령을 CLI로 복사해 붙여 넣습니다.

디바이스 R1

디바이스 R2

디바이스 R3

절차

단계별 절차

다음 예는 구성 계층에서 다양한 수준의 탐색이 필요합니다. CLI 탐색 관련 정보는 Junos OS CLI 사용자 가이드구성 모드에서의 CLI 편집기 사용을 참조하십시오.

디바이스 R2 구성:

  1. 디바이스 인터페이스를 구성합니다.

  2. OSPF 또는 또 다른 내부 게이트웨이 프로토콜(IGP)을 구성합니다.

  3. 디바이스 R1에 EBGP 연결을 구성합니다.

  4. 디바이스 R3에 IBGP 연결을 구성합니다.

  5. IBGP 그룹 피어링 세션에 advertise-external 문을 추가합니다.

  6. AS(Autonomous System) 번호와 라우터 ID를 구성합니다.

결과

구성 모드에서 show interfaces, show protocols, show policy-optionsshow routing-options 명령을 입력하여 구성을 확인합니다. 출력 결과가 의도한 구성대로 표시되지 않으면 이 예의 지침을 반복하여 구성을 수정하십시오.

디바이스 구성을 마쳤으면 구성 모드에서 commit을 입력합니다.

검증

구성이 올바르게 작동하고 있는지 확인합니다.

BGP 활성 경로 확인

목적

디바이스 R2에서 172.16.6.0/24 접두사가 라우팅 테이블에 있고 예상되는 활성 경로를 보유했는지 확인합니다.

작업
의미

디바이스 R2는 디바이스 R1과 디바이스 R3에서 모두 172.16.6.0/24 경로를 수신합니다. 디바이스 R3의 경로는 별표(*)로 지정된 활성 경로입니다. 활성 경로가 가장 높은 local 선호를 보유합니다. 두 경로의 local 선호가 동일하더라도 디바이스 R3의 경로가 가장 짧은 AS 경로를 보유하므로 활성 상태를 유지합니다.

외부 경로 보급 확인

목적

디바이스 R2에서 172.16.6.0/24 경로가 디바이스 R3으로 보급되는지 확인합니다.

작업
의미

디바이스 R2는 디바이스 R3으로 172.16.6.0/24 경로를 보급합니다.

디바이스 R3에서 경로 확인

목적

172.16.6.0/24 접두사가 디바이스 R3의 라우팅 테이블에 있는지 확인합니다.

작업
의미

디바이스 R3은 정적 경로와 172.16.6.0/24를 위한 BGP 경로를 보유합니다.

경로가 도달할 수 없거나 다음 홉이 확인 불가능한 경우 BGP 경로는 디바이스 R3에 숨겨집니다. 이 요구 사항을 이행하기 위해, 이 예는 디바이스 R3(static route 0.0.0.0/0 next-hop 10.0.0.5)의 정적 기본 경로를 포함합니다.

조건부 옵션 실험

목적

conditional 옵션이 BGP 경로 선택 알고리즘의 맥락에서 어떻게 작동하는지 확인합니다.

작업
  1. 디바이스 R2에서 conditional 옵션을 추가합니다.

  2. 디바이스 R2에서 172.16.6.0/24 경로가 디바이스 R3으로 보급되는지 확인합니다.

    예상대로 경로가 더 이상 보급되지 않습니다. 이 결과를 보려면 몇 초 기다려야 할 수도 있습니다.

  3. 디바이스 R3에서 then local-preference 정책 작업을 비활성화합니다.

  4. 디바이스 R2에서 두 경로의 local 선호가 동일한지 확인합니다.

  5. 디바이스 R2에서 as-path-ignore 문을 추가합니다.

  6. 디바이스 R2에서 172.16.6.0/24 경로가 디바이스 R3으로 보급되는지 확인합니다.

    예상대로 AS 경로 길이가 무시되고 local 선호가 동일하므로 현재 경로가 보급됩니다.

예: BGP 접두사 기반 Outbound Route 필터링 구성

이 예는 주니퍼 네트웍스 라우터를 구성하여 원격 피어의 경로 필터를 수락하고 수신한 필터를 사용해 Outbound Route 필터링을 수행하는 방법을 보여줍니다.

요구 사항

시작하기 전에:

  • 라우터 인터페이스를 구성합니다.

  • 내부 게이트웨이 프로토콜(IGP)을 구성합니다.

개요

BGP 피어를 구성하여 원격 피어의 경로 필터를 수락하고 수신된 필터를 사용하여 Outbound Route 필터링을 수행할 수 있습니다. 원치 않는 업데이트를 필터링하여 전송 피어는 업데이트를 생성 및 전송하는 데 필요한 리소스를 절약하고, 수신 피어는 업데이트를 처리하는 데 필요한 리소스를 절약합니다. 예를 들어 고객 에지(CE) 디바이스의 하위 집합이 VPN 내 모든 경로를 처리할 수 없는 가상 사설망(VPN)에서 이 기능이 유용할 수 있습니다. CE 디바이스는 접두사 기반 Outbound Route 필터링을 사용하여 제공업체 에지(PE) 디바이스와 통신하면서 주요 데이터 센터 경로와 같은 경로 하위 집합만 전송할 수 있습니다.

BGP 피어가 허용할 수 있는 접두사 기반 Outbound Route 필터의 최대 수는 5,000입니다. 원격 피어가 피어 주소에 전송하는 Outbound Route Filter 수가 5,000개를 초과하면, 추가 필터는 폐기되고 시스템 로그 메시지가 생성됩니다.

라우팅 디바이스 전체로서 또는 특정 BGP 그룹 또는 피어에 대한 상호 운용성을 구성할 수 있습니다.

토폴로지

샘플 네트워크에서 디바이스 CE1은 다른 벤더의 라우터입니다. 이 예에 표시된 구성은 주니퍼 네트웍스 라우터 PE1에 있습니다.

그림 3은 샘플 네트워크를 표시합니다.

그림 3: BGP 접두사 기반 Outbound Route 필터링BGP 접두사 기반 Outbound Route 필터링

구성

CLI 빠른 구성

이 예를 빠르게 구성하려면, 아래 명령을 복사하여 텍스트 파일로 붙여 넣은 다음 모든 라인브레이크를 제거하고, 네트워크 구성을 일치하는 데 필요한 세부 사항을 바꾸고 [edit] 계층 수준에서 명령을 CLI로 복사해 붙여 넣습니다.

PE1

절차

단계별 절차

다음 예는 구성 계층에서 다양한 수준의 탐색이 필요합니다. CLI 탐색 관련 정보는 Junos OS CLI 사용자 가이드구성 모드에서의 CLI 편집기 사용을 참조하십시오.

라우터 PE1을 구성하여 디바이스 CE1에서 경로 필터를 수락하고 수신된 필터를 사용하는 outbound route 필터링을 수행하려면:

  1. 로컬 AS(Autonomous System)를 구성합니다.

  2. 디바이스 CE1으로 외부 피어싱을 구성합니다.

  3. 라우터 PE1을 구성하여 디바이스 CE1에서 IPv4 경로 필터를 수락하고 수신된 필터를 사용하는 outbound route 필터링을 수행합니다.

  4. (옵션) outbound route 필터를 위한 130 벤더별 호환성 코드 및 128 코드 유형을 사용하는 라우팅 디바이스가 상호 운용성을 활성화합니다.

    IANA 표준 코드가 3이며 표준 코드 유형은 64입니다.

결과

구성 모드에서 show protocolsshow routing-options 명령을 입력하여 구성을 확인합니다. 출력 결과가 의도한 구성대로 표시되지 않으면 이 예의 지침을 반복하여 구성을 수정하십시오.

디바이스 구성을 마쳤으면 구성 모드에서 commit을 입력합니다.

검증

구성이 올바르게 작동하고 있는지 확인합니다.

Outbound Route 필터 검증

목적

디바이스 CE1에서 수신된 접두사 기반 Outbound Route 필터에 대한 정보를 표시합니다.

작업

운영 모드에서 show bgp neighbor orf detail 명령을 입력합니다.

BGP neighbor 모드 검증

목적

ORFCiscoMode 옵션이 show bgp neighbor 명령 출력에 표시되는지 확인하여 피어에 대해 bgp-orf-cisco-mode 설정이 활성화되는지 확인합니다.

작업

운영 모드에서 show bgp neighbor 명령을 입력합니다.

패킷 전송 라우터(PTX 시리즈)의 기본 BGP 라우팅 정책 이해하기

PTX 시리즈 패킷 전송 라우터에서 기본 BGP 라우팅 정책은 기타 Junos OS 라우팅 디바이스의 정책과 다릅니다.

PTX 시리즈 라우터는 일반적으로 IGP(Interior Gateway Protocol) 경로를 사용하여 IP를 포워딩하는 MPLS 전송 플랫폼입니다. PTX 시리즈 패킷 전달 엔진은 상대적으로 적은 수의 variable-length 접두사를 수용할 수 있습니다.

주:

PTX 시리즈 라우터는 컨트롤 플레인에서 전체 BGP 경로를 지원할 수 있으므로 경로 리플렉터(RR)로 사용될 수 있습니다. exact-length 조회 멀티캐스트 포워딩을 수행하고 유니캐스트 컨트롤 플레인에서 사용할 멀티캐스트 포워딩 플레인을 구축할 수 있습니다(예: 멀티캐스트에 대해 reverse-path 포워딩 조회 수행).

PFE 제한을 감안할 때, PTX 시리즈 라우터의 기본 라우팅 정책은 BGP 경로가 포워딩 테이블에 설치되지 않도록 하는 것입니다. 기본 라우팅 정책을 무시하고 포워딩 테이블에 설치할 특정 BGP 경로를 선택할 수 있습니다.

PTX 시리즈 라우터에서 로드 밸런싱 및 BGP 경로에 대한 기본 동작은 다음과 같습니다. 다음과 같은 선호되는 특징이 있습니다.

  • 기본 정책을 직접 변경하지 않고 기본 동작을 재정의할 수 있습니다.

  • 기본값을 무효화하는 우발적인 변경 가능성을 줄입니다.

  • 수락, 거부와 같은 flow-control 작업을 설정하지 않습니다.

PTX 시리즈 라우터의 기본 라우팅 정책은 다음과 같습니다.

여기에서 보시다시피, junos-ptx-series-default 정책은 [edit policy-options]에서 정의됩니다. 정책은 default-export 문을 사용하여 [edit routing-options forwarding-table]에 적용됩니다. | display inheritance flag를 사용하여 이러한 기본 구성을 확인할 수 있습니다.

또한 show policy 명령을 사용하여 기본 정책을 확인할 수 있습니다.

경고:

junos-ptx-series-default 라우팅 정책은 직접 변경하지 않는 것이 좋습니다.

Junos OS는 junos-ptx-series-default 정책과 사용자가 구성한 모든 내보내기 정책을 연결합니다. junos-ptx-series-default 정책은 flow-control 작업을 사용하지 않기 때문에 구성한 모든 내보내기 정책은 모든 경로에 대해 (암묵적인 next-policy 작업을 통해) 실행됩니다. 따라서 junos-ptx-series-default 정책으로 설정된 모든 작업을 무시할 수 있습니다. 내보내기 정책을 구성하지 않으면 junos-ptx-series-default 정책에서 설정한 조치만 유일합니다.

install-to-fib 정책 작업을 사용하여 no-install-to-fib 작업을 재정의할 수 있습니다.

마찬가지로, load-balance per-prefix 작업을 사용하여 load-balance per-packet 작업을 재정의할 수 있습니다.

예: PTX 시리즈 패킷 전송 라우터의 기본 BGP 라우팅 정책 재정의

이 예에서는 PTX 시리즈 패킷 전송 라우터와 같은 패킷 전송 라우터에서 기본 라우팅 정책을 재정의하는 방법을 보여줍니다.

요구 사항

이 예는 Junos OS 릴리스 12.1 이상이 필요합니다.

개요

기본적으로 PTX 시리즈 라우터는 포워딩 테이블에 BGP(Border Gateway Protocol) 경로를 설치하지 않습니다.

PTX 시리즈 라우터의 경우, then accept동작이 있는 from protocols bgp 조건의 구성은 다른 Junos OS 라우팅 디바이스에 존재하는 일반적인 결과가 없습니다. PTX 시리즈 라우터에서 다음 라우팅 정책을 사용하면 BGP 경로가 포워딩 테이블 내에 설치되지 않습니다.

포워딩 테이블에 BGP 경로가 설치되지 않았습니다. 이는 예상되는 동작입니다.

이 예는 기본 BGP 라우팅 정책을 효과적으로 대체하기 위해 then install-to-fib작업을 사용하는 방법을 보여줍니다.

구성

CLI 빠른 구성

이 예를 빠르게 구성하려면, 아래 명령을 복사하여 텍스트 파일로 붙여 넣은 다음 모든 라인브레이크를 제거하고, 네트워크 구성을 일치하는 데 필요한 세부 사항을 바꾸고 [edit] 계층 수준에서 명령을 CLI로 복사해 붙여 넣습니다.

포워딩 테이블에서 선택한 BGP 경로 설치

단계별 절차

다음 예는 구성 계층에서 다양한 수준의 탐색이 필요합니다. CLI 탐색 관련 정보는 Junos OS CLI 사용자 가이드구성 모드에서의 CLI 편집기 사용을 참조하십시오.

포워딩 테이블 내에서 선택한 BGP 경로의 설치 방법:

  1. 포워딩 테이블 내에 설치할 접두사 목록을 구성합니다.

  2. 접두사 목록을 조건으로 적용하여 라우팅 정책 구성

  3. 포워딩 테이블에 라우팅 정책 적용

결과

구성 모드에서 show policy-optionsshow routing-options 명령을 입력하여 구성을 확인합니다. 출력 결과가 의도한 구성대로 표시되지 않으면 이 예의 지침을 반복하여 구성을 수정하십시오.

디바이스 구성을 마쳤으면 구성 모드에서 commit을 입력합니다.

검증

구성이 올바르게 작동하고 있는지 확인합니다.

포워딩 테이블 내에 선택한 경로가 설치되는지 확인

목적

구성된 정책이 기본 정책에 우선하는지 확인합니다.

작업

운영 모드에서 show route forwarding-table 명령을 입력합니다.

의미

이 출력은 포워딩 테이블에 66.0.0.1/32에 대한 경로가 설치되었음을 보여줍니다.

접두사의 조건부 설치를 활성화하는 조건부 보급 사용 사례

네트워크는 일반적으로 AS(Autonomous System)라고 하는 관리하기 쉬운 더 작은 단위로 세분화됩니다. 라우터에서 BGP를 사용하여 동일한 AS에서 피어 관계를 구축하면 이것을 내부 BGP(IBGP)라고 합니다. 라우터에서 BGP를 사용하여 서로 다른 AS에서 피어 관계를 구축하면, 이를 외부 BGP(EBGP)라고 합니다.

경로 건전성 검사를 수행한 후, BGP 라우터 해당 피어에서 수신한 경로를 수락하고 라우팅 테이블에 설치합니다. 기본적으로 IBGP 및 EBGP 세션의 모든 라우터는 표준 BGP 광고 규칙을 따릅니다. IBGP 세션의 라우터는 해당 직접 피어로부터 학습한 라우터만 보급하지만, EBGP 세션의 라우터는 직접 및 간접 피어(피어의 피어)로부터 학습한 모든 경로를 보급합니다. 따라서 EBGP로 구성된 일반적인 네트워크에서는 라우터가 EBGP 피어로부터 수신한 모든 경로를 해당 라우팅 테이블에 추가하고 거의 모든 경로를 모든 EBGP 피어에 보급합니다.

인터넷에서 고객과 피어 모두와 BGP 경로를 교환하는 서비스 프로바이더는 트래픽의 적절한 경로와 라우터 작동을 손상시킬 수 있는 악의적이고 의도하지 않는 위협에 노출될 수 있습니다.

여기에는 몇 가지 단점이 있습니다.

  • Non-aggregated route advertisements—고객은 주소 공간의 총 집계가 아니라 ISP에 모든 접두사를 잘못 보급할 수 있습니다. 인터넷 라우팅 테이블의 크기를 고려했을 때 신중하게 제어해야 합니다. 또한 에지 라우터는 인터넷으로 나가는 기본 경로만 필요하며, 대신 해당 업스트림 피어에서 전체 BGP 라우팅 테이블을 수신해야 합니다.

  • BGP route manipulation—악의를 가진 관리자가 BGP 라우팅 테이블의 내용을 변경하면 트래픽이 의도한 목적지에 도달하지 못할 수 있습니다.

  • BGP route hijacking—BGP 피어의 불량한 관리자는 트래픽 콘텐츠에 대한 액세스 권한을 확보하거나 피해자의 온라인 서비스를 차단하기 위해 피해자 네트워크에 의도된 트래픽을 관리자 네트워크로 다시 라우팅하려는 시도 중에 네트워크의 접두사를 악의적으로 알릴 수 있습니다.

  • BGP denial of service (DoS)—악의를 가진 관리자가 라우터에서 지원되는 모든 BGP 리소스를 사용하려는 시도 중에 예기치 않거나 원하지 않는 BGP 트래픽을 라우터로 보내는 경우, 유효한 BGP 경로 정보를 처리하는 라우터 기능이 손상될 수 있습니다.

접두사의 조건부 설치는 앞에서 언급한 모든 문제를 해결하는 데 사용할 수 있습니다. 고객이 원격 네트워크에 액세스해야 하는 경우, 원격 네트워크와 연결된 라우터의 라우팅 테이블에 특정 경로를 설치할 수 있습니다. 이는 일반적인 EBGP 네트워크에서 발생하지 않으므로 접두사의 조건부 설치가 필수적입니다.

AS는 물리적 관계 뿐 아니라 비즈니스나 기타 조직 관계의 구속을 받습니다. AS는 다른 조직에 서비스를 제공하거나 두 개의 다른 AS 사이에서 전송 AS 역할을 할 수 있습니다. 이러한 전송 AS는 서로 연결하는 방법과 서로를 위해 전달하는 트래픽 유형 및 수량에 대한 매개 변수를 포함하는 당사자 간의 계약에 의해 구속됩니다. 따라서 서비스 제공자는 법적 및 재정적 이유로 BGP 경로가 neighbor과 교환되는 방법, 해당 neighbor에서 수락되는 경로, 이러한 경로가 AS 간의 트래픽에 영향을 미치는 방법을 제어하는 정책을 구현해야 합니다.

BGP 피어에서 수신한 경로를 필터링하여 AS 간에 정책을 시행하고 잠재적으로 유해한 경로를 수신하는 데 발생하는 위험을 완화할 수 있는 다양한 옵션이 있습니다. 기존 경로 필터링은 경로의 속성을 검사하고 해당 속성을 기반으로 경로를 수락하거나 거부합니다. 정책이나 필터는 AS-Path의 콘텐츠, 다음 홉 값, community 값, 접두사 목록, 경로 address family 등을 검사할 수 있습니다.

어떤 경우에는 특정 속성 값과 일치하는 표준 '수락 조건'으로 충분하지 않습니다. 서비스 프로바이더는 경로 자체를 벗어나는 다른 조건(예: 라우팅 테이블의 다른 경로)를 사용해야 할 수 있습니다. 예를 들어, 이 피어가 다른 업스트림 네트워크에 연결할 수 있는지 확인 가능한 경우에만 업스트림 피어에서 수신한 기본 경로를 설치하는 것이 바람직합니다. 이 조건부 경로 설치는 피어가 해당 업스트림의 경로를 손실하여 트래픽이 블랙홀되면 이 피어로 트래픽을 전송하는 데 사용되는 기본 경로가 설치되지 않도록 합니다. 이를 위해 라우터는 라우팅 테이블에서 특정 경로의 존재를 검색하도록 구성할 수 있으며, 이 정보를 기반으로 다른 접두사를 수락 또는 거부할 수 있습니다.

예: 라우팅 테이블에 접두사의 조건부 설치를 활성화하는 조건부 보급의 라우팅 정책 구성에서는 접두사의 조건부 설치를 구성 및 확인하는 방법에 대해 설명합니다.

조건부 광고 및 특정 일치 조건의 가져오기 정책(라우팅 테이블)

BGP는 neighbor에서 학습된 모든 비 루프 경로를 수용하고 RIB-In 테이블로 가져옵니다. 이러한 경로가 BGP 가져오기 정책에 허용되면, inet.0 라우팅 테이블로 가져오게 됩니다. 특정 경로만 가져와야 하는 경우, 피어 라우팅 장치가 상태 또는 상태 세트에 따라 경로를 내보내는 것과 같은 조항을 만들 수 있습니다.

경로 내보내기 조건은 다음을 기반으로 할 수 있습니다:

  • 경로가 학습된 피어:

  • 경로가 학습된 인터페이스:

  • 일부 다른 필수 속성

예:

이것은 접두사의 조건부 설치로 알려져 있으며 예: 라우팅 테이블에 접두사의 조건부 설치를 활성화하는 조건부 광고의 라우팅 정책 구성에서 설명됩니다.

라우팅 정책의 조건은 내보내기 또는 가져오기 정책의 일부이든 두 가지 모두이든 상관없이 구성될 수 있습니다. 내보내기 정책은 라우팅 정책 내 또 다른 경로의 존재를 바탕으로 한 라우팅 정책에서 물려받은 이러한 조건을 지원합니다. 그러나 가져오기 정책은 이러한 조건을 지원하지 않으므로, 조건이 존재하더라도 실행되지 않습니다.

그림 4은 BGP 가져오기 및 내보내기 정책이 적용되는 위치를 보여줍니다. 가져오기 정책은 show route receive-protocol bgp neighbor-address 명령의 출력에서 보이는 인바운드 경로에 적용됩니다. 내보내기 정책은 show route advertising-protocol bgp neighbor-address 명령의 출력에서 보이는 아웃바운드 경로에 적용됩니다.

그림 4: BGP 가져오기 및 내보내기 정책BGP 가져오기 및 내보내기 정책

접두사의 조건부 설치를 활성화하기 위해서는 내보내기 정책을 접두사 내보내기 작업이 진행될 장치에 구성해야 합니다. 내보내기 정책은 from 문 아래의 일치 조건을 모두 만족하는지 확인하기 위해 각 경로를 평가합니다. 또한 condition 문에 따라 정의된 경로의 존재를 검색합니다(또한 from 문에 따라 구성).

경로가 정책에 정의된 필수 조건 세트와 일치하지 않거나 condition 문에 정의된 경로가 라우팅 테이블에 존재하지 않으면, 경로는 BGP 피어로 내보내지지 않습니다. 따라서 조건부 내보내기 정책은 원하는 경로 또는 피어 라우팅 테이블에 설치하려는 접두사의 경로와 일치합니다.

내보내기 정책의 도움으로 접두사의 조건부 설치 구성:

  1. 접두사를 확인하기 위해 condition 문을 만듭니다.

  2. condition 문을 사용하여 새로 생성된 조건으로 내보내기 정책을 만듭니다.

  3. 라우팅 테이블에서 선택한 접두사만 내보내야 하는 장치에 내보내기 정책을 적용합니다.

예: 라우팅 테이블에 접두사의 조건부 설치를 활성화하는 조건부 광고의 라우팅 정책 구성

이 예는 BGP 내보내기 정책을 사용하여 라우팅 테이블 내 접두사의 조건부 설치를 구성하는 방법을 보여줍니다.

요구 사항

이 예에서 사용되는 하드웨어 및 소프트웨어 구성 요소는 다음과 같습니다.

  • M 시리즈 Multiservice 에지 라우터, MX 시리즈 5G 유니버설 라우팅 플랫폼 또는 T 시리즈 코어 라우터

  • Junos OS 릴리스 9.0 이상

개요

이 예에서는 세 가지 다른 AS(Autonomous System) 내 라우터 3개가 BGP 프로토콜과 연결 및 구성되어 있습니다. 업스트림 라우터인 라우터 라벨링 Internet에는 lo0.0 루프백 인터페이스(172.16.11.1/32, 172.16.12.1/32, 172.16.13.1/32, 172.16.14.1/32, 및 172.16.15.1/32)에 구성된 주소 다섯 개가 있으며, 추가 루프백 주소(192.168.9.1/32)는 라우터 ID로 구성됩니다. 이 주소 여섯 개는 BGP로 내보내어져 Internet에 연결된 라우터의 BGP 라우팅 테이블 콘텐츠를 에뮬레이트하고, North에 광고됩니다.

North 및 South 라우터는 10.0.89.12/30 및 10.0.78.12/30 네트워크를 사용하고, 각각의 루프백 주소에 192.168.7.1 및 192.168.8.1을 각각 사용합니다.

그림 5은(는) 본 예제에서 사용되는 토폴로지를 나타냅니다.

그림 5: 접두사의 조건부 설치접두사의 조건부 설치

라우터 North는 라우터 인터넷에서 라우터 South까지 학습하는 172.16.0.0/16 BGP 경로를 내보냅니다. 이러한 경로는 인터넷 라우터의 도메인이 소유한 경로를 나타낼 수 있습니다. 또한 특정 172.16.11.1/32 경로가 있는 경우, 라우터 North는 또한 기본 경로를 알립니다. 172.16.11.1 경로는 완전한 인터넷 연결을 제공하는 Tier 1 전송 피어링 프로바이더에 대한 인터넷 라우터의 링크를 나타낼 수 있습니다.

라우터 South는 6개의 경로 모두를 수신하지만 라우팅 테이블에 기본 경로와 하나의 다른 특정 경로(172.16.11.1/32)만을 설치해야 합니다.

요약하자면, 이 예는 다음 요구 사항을 충족합니다:

  • North에서는 모든 172.16/16 접두사를 보냅니다. 또한 inet.0 라우팅 테이블(이 예시에서는 172.16.11.1/32)에 특정 경로가 있는 경우에만 0/0을 South로 보냅니다.

  • South에서는 라우팅 및 포워딩 테이블에 기본 경로와 172.16.11.1/32 경로를 수락하고 설치합니다. 다른 모든 경로는 삭제합니다. South는 전체 인터넷 라우팅 테이블을 수락할 수 없는 저가형 디바이스일 수 있습니다. 결과적으로 운영자는 South가 기본 경로와 하나의 다른 특정 접두사만 갖기를 원합니다.

첫 번째 요구 사항은 North의 내보내기 정책을 충족합니다:

조건부 내보내기 정책의 논리는 다음과 같이 요약할 수 있습니다: 0/0이 존재하고, 172.16.11.1/32가 존재하면 0/0 접두사를 보냅니다. 이것은 172.16.11.1/32가 존재하지 않으면 0/0을 보내지 않는다는 의미입니다.

두 번째 요구 사항은 South의 가져오기 정책을 충족합니다:

이 예에서 South의 가져오기 정책 결과로 경로 네 개가 삭제됩니다. North의 내보내기 정책이 Internet에서 수신된 모든 경로를 누수하고, South의 가져오기 정책이 이 경로 중 일부를 제외하기 때문입니다.

가져오기 정책(인바운드 경로 필터)이 경로를 거부하고, 트래픽 포워딩에 사용하지 않고, 다른 피어에 대한 광고에 포함하지 않을 수도 있지만, Junos OS에서 이 라우터가 숨겨진 경로로 이 경로들을 유지한다는 것을 이해하는 게 중요합니다. 이 숨겨진 경로는 정책 또는 라우팅 목적으로 사용할 수 없습니다. 그러나 라우터의 메모리 공간을 차지합니다. 경로를 필터링하여 메모리에 보관되고 라우터에서 처리되는 정보 양을 제어하는 서비스 프로바이더는 라우터가 가져오기 정책에 의해 거부된 경로를 완전히 제거하길 원할 수 있습니다.

숨겨진 경로는 show route receive-protocol bgp neighbor-address hidden 명령을 사용하여 볼 수 있습니다. 그런 다음 숨겨진 경로는 [edit protocols bgp]또는 [edit protocols bgp group group-name]계층 수준에서 keep all | none문을 구성하여 라우팅 테이블에서 유지되거나 삭제될 수 있습니다.

BGP 경로 유지 규칙은 다음과 같습니다:

  • 기본값으로 AS 경로가 반복되는 경우를 제외하고 BGP에서 학습된 모든 경로가 유지됩니다. (AS 경로는 로컬 AS를 포함합니다.)

  • keep all 문을 구성하여, BGP에서 학습된 모든 경로(AS 경로 내 로컬 AS 경로를 포함)가 유지됩니다.

  • keep none 문을 구성하여, BGP는 피어에게서 수신하거나 가져오기 정책 또는 기타 온전성 검사로 거부된 경로를 버립니다. 이 문이 구성되고 인바운드 정책이 변경되면, Junos OS는 피어가 광고하는 모든 경로를 다시 광고합니다.

또는 keep allkeep none을 구성하고 피어가 경로 새로고침을 지원하면, 로컬 스피커는 새로고침 메시지를 보내고 가져오기 평가를 수행합니다. 이 피어를 위해 세션이 다시 시작하지 않습니다. 피어의 새로고침 지원을 알아보려면 show bgp neighbor명령의 Peer supports Refresh capability출력에서 를 확인하십시오.

경고:

또는 keep allkeep none을 구성하고 피어가 세션 재시작을 지원하지 않으면, 연결된 BGP 세션이 다시 시작합니다(플랩됨).

토폴로지

구성

CLI 빠른 구성

이 예를 빠르게 구성하려면, 아래 명령을 복사하여 텍스트 파일로 붙여 넣은 다음 모든 라인브레이크를 제거하고, 네트워크 구성을 일치하는 데 필요한 세부 사항을 바꾸고 [edit] 계층 수준에서 명령을 CLI로 복사해 붙여 넣습니다.

라우터 Internet

라우터 North

라우터 South

접두사의 조건부 설치 구성

단계별 절차

다음 예는 구성 계층에서 다양한 수준의 탐색이 필요합니다. CLI 탐색 관련 정보는 Junos OS CLI 사용자 가이드의 구성 모드에서의 CLI 편집기 사용을 참조하십시오.

접두사의 조건부 설치 구성:

  1. 라우터 세 개 사이에 링크를 형성하는 라우터 인터페이스를 구성합니다.

  2. 라우터 Internet에 루프백 인터페이스 주소 다섯 개를 구성하여 라우터 South의 라우팅 테이블로 가져오게 되는 Internet에서 학습된 BGP 경로를 에뮬레이트하고, 라우터 ID로 구성될 추가 주소(192.168.9.1/32)를 구성합니다.

    또한 라우터 North 및 South에 루프백 인터페이스 주소를 구성합니다.

  3. 라우터 North에 광고되도록 라우터 South에 정적 기본 경로를 구성합니다.

  4. 라우터 North의 라우팅 테이블에서 접두사를 내보내기 위한 조건을 정의합니다.

  5. 라우터 Internet과 North에서 개별적으로 내보내기 정책( into-bgpconditional-export-bgp)을 정의하여 BGP로 경로를 광고합니다.

    주:

    내보내기 정책 내 조건 prefix_11(4단계에서 구성)을 참조하십시오.

  6. 라우터 South에서 가져오기 정책(import-selected-routes)을 정의하여 라우터 North에 의해 광고되는 경로 일부를 라우팅 테이블로 가져옵니다.

  7. 라우터 세 개에 BGP를 구성하여 AS(Autonomous System) 간 접두사의 흐름을 활성화합니다.

    주:

    접두사 광고를 활성화하기 위해 각 BGP 그룹에 정의된 가져오기 및 내보내기 정책을 적용했는지 확인합니다.

  8. 라우터 세 개에 대한 라우터 ID 및 AS(Autonomous System) 번호를 구성합니다.

    주:

    이 예에서 라우터 ID는 라우터의 lo0.0 인터페이스에서 구성된 주소를 기반으로 구성됩니다.

결과

구성 모드에서 show interfaces, show protocols bgp, show policy-optionsshow routing-options 명령을 입력하여 구성을 확인합니다. 출력 결과가 의도한 구성대로 표시되지 않으면 이 예의 지침을 반복하여 구성을 수정하십시오.

디바이스 Internet

디바이스 North

디바이스 South

라우터 구성을 마친 경우, 구성 모드에서 commit을(를) 입력합니다.

검증

구성이 올바르게 작동하고 있는지 확인합니다.

BGP 검증

목적

BGP 세션이 라우터 세 개 사이에 설정되었는지 확인합니다.

작업

운영 모드에서 show bgp neighbor neighbor-address 명령을 실행합니다.

  1. 라우터 Internet에서 BGP 세션을 확인하여 라우터 North가 neighbor인지 확인합니다.

  2. 라우터 North에서 BGP 세션을 확인하여 라우터 Internet이 neighbor인지 확인합니다.

이 출력에서 다음 필드를 확인하여 BGP 세션이 설정되었는지 확인합니다:

  • Peer-피어 AS 번호가 목록에 있는지 확인합니다.

  • Local-로컬 AS 번호가 목록에 있는지 확인합니다.

  • State-값이 Established인지 확인합니다. 그렇지 않으면 구성을 다시 확인하고 show bgp neighbor를 입력해 출력 필드에서 더 자세한 정보를 살펴봅니다.

마찬가지로, 라우터 North 및 South가 서로 피어 관계를 형성하는지 확인합니다.

의미

BGP 세션은 라우터 세 개 사이에 설정됩니다.

라우터 Internet에서 라우터 North로의 접두사 광고 검증

목적

라우터 Internet에서 전송된 경로가 라우터 North에서 수신되는지 확인합니다.

작업

  1. 라우터 Internet의 운영 모드에서 show route advertising-protocol bgp neighbor-address 명령을 실행합니다.

    출력으로 라우터 Internet이 라우터 North에 경로 172.16.11.1/32, 172.16.12.1/32, 172.16.13.1/32, 172.16.14.1/32, 172.16.15.1/32, 및 192.168.9.1/32(라우터 ID로 사용되는 루프백 주소)를 광고하는지 확인합니다.

  2. 라우터 North의 운영 모드에서 show route receive-protocol bgp neighbor-address 명령을 실행합니다.

    출력으로 라우터 North가 라우터 Internet이 광고하는 모든 경로를 수신했는지 확인합니다.

의미

라우터 Internet이 전송한 접두사가 라우터 North의 라우팅 테이블에 성공적으로 설치되었습니다.

라우터 North에서 라우스 South로의 접두사 광고 검증

목적

라우터 Internet에서 수신된 경로와 정적 기본 경로가 라우터 North에서 라우터 South로 광고되는지 확인합니다.

작업
  1. 라우터 North의 운영 모드에서 show route 0/0 exact 명령을 실행합니다.

    출력으로 라우터 North의 라우팅 테이블 내 정적 기본 경로(0.0.0.0/0)의 존재를 확인합니다.

  2. 라우터 North의 운영 모드에서 show route advertising-protocol bgp neighbor-address 명령을 실행합니다.

    출력으로 라우터 North가 라우터 Internet에서 수신되는 정적 경로 및 172.16.11.1/32 경로를 광고하고 라우터 South로의 다른 여러 경로를 최대한 많이 광고하는지 확인합니다.

접두사의 설치를 위한 BGP 가져오기 정책 검증

목적

BGP 가져오기 정책이 필요한 접두사를 성공적으로 설치하는지 확인합니다.

작업

라우터 North에서 정적 기본 경로와 라우터에서 172.16.11.1/32 경로만 라우팅 테이블에 설치되었는지 확인하여 라우터 South의 가져오기 정책의 작동을 점검합니다.

운영 모드에서 show route receive-protocol bgp neighbor-address 명령을 실행합니다.

출력으로 라우터 South에서 BGP 가져오기 정책이 운영되고, 라우터 North에서 0.0.0.0/0의 정적 기본 경로 및 라우터 Internet에서 172.16.11.1/32 경로만 라우터 South의 라우팅 테이블로 누수되었는지 확인합니다.

의미

구성된 BGP 가져오기 정책 덕분에 접두사의 설치가 성공적으로 작동합니다.

라우터 North에서 라우터 South로 조건부 내보내기 검증

목적

디바이스 Internet이 172.16.11.1/32 경로를 전송하지 않을 때, 디바이스 North가 기본 0/0 경로를 전송을 멈추는지 확인합니다.

작업
  1. 루프백 인터페이스의 172.16.11.1/32 주소를 비활성화하여 디바이스 Internet의 172.16.11.1/32 경로 전송을 중단합니다.

  2. 라우터 North의 운영 모드에서 show route advertising-protocol bgp neighbor-address 명령을 실행합니다.

    출력으로 라우터 North가 라우터 South로 기본 경로를 광고하지 않는다는 것을 확인합니다. 이것은 172.16.11.1/32 경로가 존재하지 않을 때 예상되는 동작입니다.

  3. 디바이스 Internet의 루프백 인터페이스에서 172.16.11.1/32 주소를 다시 활성화합니다.

정책으로 숨겨진 경로 존재 검증(옵션)

목적

라우터 South에서 구성된 가져오기 정책에 의해 숨겨진 경로 존재를 확인합니다.

주:

이 섹션은 필요에 따라 구성에 만들 수 있는 다양한 변경 사항의 영향을 보여줍니다.

작업

라우터 South의 라우팅 라우팅 테이블에서 숨겨진 경로를 표시합니다:

  • show route receive-protocol bgp neighbor-address명령에 hidden옵션을 사용합니다.

  • 가져오기 정책을 비활성화합니다.

  1. 운영 모드에서 show route receive-protocol bgp neighbor-address hidden 명령을 실행하여 숨겨진 경로를 표시합니다.

    출력으로 라우터 South의 가져오기 정책(172.16.12.1/32, 172.16.13.1/32, 172.16.14.1/32, 및 172.16.15.1/32)으로 숨겨진 경로의 존재를 확인합니다.

  2. [edit protocols bgp group group-name]계층 수준에서 deactivate import문을 구성하여 BGP 가져오기 정책을 재활성화합니다.

  3. show route receive-protocol bgp neighbor-address 운영 모드 명령을 실행하여 가져오기 정책의 비활성화한 후 경로를 확인합니다.

    출력으로 이전에 숨겨진 경로(172.16.12.1/32, 172.16.13.1/32, 172.16.14.1/32, 및 172.16.15.1/32)의 존재를 확인합니다.

  4. 계층 수준에서 activate importkeep none[edit protocols bgp group group-name]문을 구성하여 BGP 가져오기 정책을 활성화하고 라우팅 테이블에서 숨겨진 경로를 제거합니다.

  5. 운영 모드에서 명령을 실행하여 keep none문을 구성한 후 경로를 확인하는 show route receive-protocol bgp neighbor-address hidden명령을 실행합니다.

    출력으로 구성된 keep none 문 때문에 숨겨진 경로가 라우팅 테이블에서 유지되지 않는 것을 확인합니다.

정책 없이 기본 EBGP 경로 전파 동작에 대한 암시적 필터

SUMMARY 이 섹션에서는 명시적 정책이 구성되지 않은 경우 EBGP 경로 전파 동작을 규제하기 위해 암시적 필터를 사용하는 방법에 대해 설명합니다.

이점

이 기능은 다음 이점을 제공합니다:

  • Regulates BGP implementation—EBGP 스피커가 기본적으로 모든 경로를 승인하고 보급하는 silent pass-through가 되지 않도록 합니다. 이 기능은 리프 AS(Autonomous System)에서 전송 트래픽의 증가를 효과적으로 감소시킵니다. 특히 업스트림 인터넷 서비스 공급자에게 멀티호밍될 때 더욱 그렇습니다. 따라서 트래픽 자동 삭제, 서비스 거부 및 글로벌 인터넷 중단을 방지합니다.

  • Implicit filter—이 구성을 통해 기본 동작이 기본적으로 모든 경로를 수신하고 보급하도록 설정된 암시적 필터를 쉽게 사용할 수 있습니다. 구성 문에는 필요한 경우 accept, reject, reject-always 절에 대해 enable 또는 disable을 지정하는 옵션만 추가됩니다. 암시적 필터는 기본 BGP 정책에 의존하는 기존 배포가 있는 사용자가 운영 중단을 겪지 않도록 보장합니다.

개요

BGP는 글로벌 인터넷 라우팅에 사용되는 현재 도메인 간 자율 프로토콜입니다. 또한 글로벌 사용을 위한 것이 아닌 VPN, link-state 등의 다양한 서비스를 지원합니다.

기본 EBGP 동작을 포함한 BGP 구현은 RFC4271, BGP-4(Border Gateway Protocol 4)에 의해 안내됩니다. 그러나, 어떤 경로를 분배해야 하는지에 대한 명시적인 지침은 제공하지 않습니다. 이것은 원래의 BGP 구현이 어떠한 필터링 없이 경로를 위한 silent pass-through로 이어지며, 따라서 트래픽의 증가를 초래하여 글로벌 인터넷 정지를 초래합니다.

Junos OS 릴리스 20.3R1부터 기존 [edit protocols bgp] 계층 수준에서 암묵적 필터 defaults ebgp no-policy을(를) 도입했다. 구성은 수신 및 보급에 대한 기본 정책을 별도의 절(승인, 거부 또는 거부-항상)로 분리하여 동작이 독립적으로 변경될 수 있도록 합니다.

없는 경우 명시적인 정책을 구성되어 있는 경우 암시적 필터 기본 eBGP 다음과 같이 하나의 3개의 주 중에 행동 광고를 받을 수 있도록:허용합니다.

가치

기본 정책

역할

수락

수신

모든 경로(기본 동작도 포함)를 수신합니다.

보급

모든 경로(기본 동작도 포함) 보급을 허용합니다.

거부

수신

인스턴스 유형 primary, vrf, virtual-router 및 non-forwarding에서 inet unicast 및 inet6 unicast 유형의 경로를 수신하는 것을 거부합니다.

보급

인스턴스 유형 primary, vrf, virtual-router 및 non-forwarding에서 inet unicast 및 inet6 unicast 유형의 경로를 보급하는 것을 거부합니다.

항상-거부

수신

모든 경로 수신을 거부합니다.

보급

모든 경로를 보급하지 않습니다.