PIM 및 BFD(Bidirectional Forwarding Detection) 프로토콜 구성
PIM에 대한 양방향 전달 탐지 인증 이해
BFD(Bidirectional Forwarding Detection)를 사용하면 인접 시스템 간의 통신 장애를 신속하게 감지할 수 있습니다. 기본적으로 BFD 세션에 대한 인증은 비활성화되어 있습니다. 그러나 네트워크 레이어 프로토콜을 통해 BFD를 실행하는 경우 서비스 공격의 위험이 상당할 수 있습니다. 여러 홉을 통해 또는 안전하지 않은 터널을 통해 BFD를 실행하는 경우 인증을 사용하는 것이 좋습니다.
Junos OS 릴리스 9.6부터 Junos OS는 PIM을 통해 실행되는 BFD 세션에 대한 인증을 지원합니다. BFD 인증은 캐나다 및 미국 버전의 Junos OS 이미지에서만 지원되며 내보내기 버전에서는 사용할 수 없습니다.
인증 알고리즘 및 키체인을 지정한 다음 키체인 이름을 사용하여 해당 구성 정보를 보안 인증 키체인과 연결하여 BFD 세션을 인증합니다.
다음 섹션에서는 지원되는 인증 알고리즘, 보안 키 체인 및 구성할 수 있는 인증 수준에 대해 설명합니다.
BFD 인증 알고리즘
Junos OS는 BFD 인증을 위해 다음 알고리즘을 지원합니다.
simple-password - 일반 텍스트 암호입니다. 1바이트에서 16바이트의 일반 텍스트가 BFD 세션을 인증하는 데 사용됩니다. 하나 이상의 암호를 구성할 수 있습니다. 이 방법은 가장 안전하지 않으며 BFD 세션이 패킷 가로채기의 대상이 아닌 경우에만 사용해야 합니다.
keyed-md5—전송 및 수신 간격이 100ms보다 큰 세션에 대한 키 메시지 다이제스트 5 해시 알고리즘. BFD 세션을 인증하기 위해 키 MD5는 하나 이상의 비밀 키(알고리즘에 의해 생성됨)와 주기적으로 업데이트되는 시퀀스 번호를 사용합니다. 이 방법을 사용하면 키 중 하나가 일치하고 시퀀스 번호가 수신된 마지막 시퀀스 번호보다 크거나 같을 경우 세션의 수신 끝에서 패킷이 수락됩니다. 이 방법은 단순한 암호보다 안전하지만 재생 공격에 취약합니다. 시퀀스 번호가 업데이트되는 속도를 높이면 이러한 위험을 줄일 수 있습니다.
meticulous-keyed-md5—Meticulous Keyed Message Digest 5 해시 알고리즘. 이 방법은 키 MD5와 동일한 방식으로 작동하지만 시퀀스 번호는 모든 패킷마다 업데이트됩니다. 이 방법은 키가 지정된 MD5 및 단순 암호보다 안전하지만 세션을 인증하는 데 시간이 더 걸릴 수 있습니다.
keyed-sha-1—전송 및 수신 간격이 100ms보다 큰 세션에 대한 키 보안 해시 알고리즘 I. BFD 세션을 인증하기 위해 키 SHA는 하나 이상의 비밀 키(알고리즘에 의해 생성됨)와 주기적으로 업데이트되는 시퀀스 번호를 사용합니다. 키는 패킷 내에서 전달되지 않습니다. 이 방법을 사용하면 키 중 하나가 일치하고 시퀀스 번호가 마지막으로 수신된 시퀀스 번호보다 큰 경우 세션의 수신 끝에서 패킷이 수락됩니다.
meticulous-keyed-sha-1—꼼꼼한 키 보안 해시 알고리즘 I. 이 방법은 키 SHA와 동일한 방식으로 작동하지만 시퀀스 번호는 모든 패킷마다 업데이트됩니다. 이 방법은 키가 지정된 SHA 및 단순 암호보다 안전하지만 세션을 인증하는 데 추가 시간이 걸릴 수 있습니다.
NSR(Nonstop Active Routing)은 meticulous-keyed-md5 및 meticulous-keyed-sha-1 인증 알고리즘으로 지원되지 않습니다. 이러한 알고리즘을 사용하는 BFD 세션은 전환 후 중단될 수 있습니다.
보안 인증 키체인
보안 인증 키 체인은 인증 키 업데이트에 사용되는 인증 속성을 정의합니다. 보안 인증 키체인이 구성되고 키체인 이름을 통해 프로토콜과 연결되면 라우팅 및 신호 프로토콜을 중단하지 않고 인증 키 업데이트가 발생할 수 있습니다.
인증 키체인에는 하나 이상의 키체인이 포함되어 있습니다. 각 키체인에는 하나 이상의 키가 포함되어 있습니다. 각 키에는 비밀 데이터와 키가 유효해지는 시간이 들어 있습니다. 알고리즘과 키 체인은 BFD 세션의 양쪽 끝에서 구성되어야 하며 일치해야 합니다. 구성이 일치하지 않으면 BFD 세션이 생성되지 않습니다.
BFD는 세션당 여러 클라이언트를 허용하며 각 클라이언트는 고유한 키 체인과 알고리즘을 정의할 수 있습니다. 혼동을 피하려면 보안 인증 키체인을 하나만 지정하는 것이 좋습니다.
보안 인증 키체인은 SRX 시리즈 방화벽에서 지원되지 않습니다.
엄격한 인증과 느슨한 인증 비교
기본적으로 엄격한 인증이 활성화되며 각 BFD 세션의 양쪽 끝에서 인증이 확인됩니다. 선택적으로 인증되지 않은 세션에서 인증된 세션으로의 원활한 마이그레이션을 위해 느슨한 검사를 구성할 수 있습니다. 느슨한 검사가 구성되면 세션의 각 끝에서 인증을 확인하지 않고 패킷이 수락됩니다. 이 기능은 전환 기간에만 사용할 수 있습니다.
또한보십시오
PIM을 위한 BFD 구성
BFD(Bidirectional Forwarding Detection) 프로토콜은 네트워크의 장애를 감지하는 간단한 Hello 메커니즘입니다. BFD는 다양한 네트워크 환경 및 토폴로지에서 작동합니다. 한 쌍의 라우팅 디바이스가 BFD 패킷을 교환합니다. Hello 패킷은 지정된 정규 간격으로 전송됩니다. 지정된 간격 후 라우팅 디바이스가 응답 수신을 중단하면 이웃 실패가 감지됩니다. BFD 실패 검출 타이머는 PIM(Protocol Independent Multicast) 헬로 보류 시간보다 시간 제한이 짧기 때문에 더 빠른 탐지를 제공합니다.
BFD 장애 검출 타이머는 적응형이며 더 빠르거나 느리게 조정할 수 있습니다. BFD 실패 검출 타이머 값이 낮을수록 실패 검출 속도가 빨라지고 그 반대의 경우도 마찬가지입니다. 예를 들어 인접성이 실패하는 경우(즉, 타이머가 실패를 더 느리게 감지하는 경우) 타이머는 더 높은 값에 적응할 수 있습니다. 또는 이웃이 구성된 값보다 타이머에 대해 더 높은 값을 협상할 수 있습니다. 타이머는 BFD 세션 플랩이 15초 동안 3회 이상 발생하면 더 높은 값에 적응합니다. 로컬 BFD 인스턴스가 세션 플랩의 이유인 경우 백오프 알고리즘은 수신(Rx) 간격을 2배로 증가시킵니다. 원격 BFD 인스턴스가 세션 플랩의 이유인 경우 전송(Tx) 간격이 2배 증가합니다. 명령을 사용하여 clear bfd adaptation BFD 간격 타이머를 구성된 값으로 반환할 수 있습니다. clear bfd adaptation 명령은 중단이 없으며, 이는 명령이 라우팅 디바이스의 트래픽 플로우에 영향을 미치지 않는다는 것을 의미합니다.
PIM에서 BFD를 활성화하려면 최소 전송 및 최소 수신 간격을 지정해야 합니다.
오류 감지를 사용하려면:
또한보십시오
PIM을 위한 BFD 인증 구성
PIM 프로토콜에 대한 BFD 인증 알고리즘을 지정합니다.
인증 키 체인을 PIM 프로토콜과 연결합니다.
관련 보안 인증 키 체인을 구성합니다.
Junos OS 릴리스 9.6부터 PIM(Protocol Independent Multicast)을 통해 실행되는 BFD(Bidirectional Forwarding Detection) 세션에 대한 인증을 구성할 수 있습니다. 라우팅 인스턴스도 지원됩니다.
다음 섹션에서는 PIM에서 BFD 인증을 구성하고 보기 위한 지침을 제공합니다.
BFD 인증 매개 변수 구성
BFD 인증은 캐나다 및 미국 버전의 Junos OS 이미지에서만 지원되며 내보내기 버전에서는 사용할 수 없습니다.
BFD 인증을 구성하려면 다음을 수행합니다.
BFD 세션에 대한 인증 정보 보기
및 show bfd session extensive 명령을 사용하여 show bfd session detail 기존 BFD 인증 구성을 볼 수 있습니다.
다음 예는 ge-0/1/5 인터페이스를 위해 구성된 BFD 인증을 보여줍니다. 키 SHA-1 인증 알고리즘과 bfd-pim의 키 체인 이름을 지정합니다. 인증 키 체인은 두 개의 키로 구성됩니다. 키 1 에는 비밀 데이터 "$ABC 123/"과 2009년 6월 1일 오전 9:46:02 PST의 시작 시간이 포함되어 있습니다. 키 2 에는 비밀 데이터 "$ABC 123/"과 시작 시간이 2009년 6월 1일 오후 3시 29분 20초(PST)로 포함되어 있습니다.
[edit protocols pim]
interface ge-0/1/5 {
family inet {
bfd-liveness-detection {
authentication {
key-chain bfd-pim;
algorithm keyed-sha-1;
}
}
}
}
[edit security]
authentication key-chains {
key-chain bfd-pim {
key 1 {
secret “$ABC123/”;
start-time “2009-6-1.09:46:02 -0700”;
}
key 2 {
secret “$ABC123/”;
start-time “2009-6-1.15:29:20 -0700”;
}
}
}
이러한 업데이트를 구성에 커밋하면 다음 예제와 유사한 출력이 표시됩니다. 명령의 show bfd session detail 출력에 인증(Authenticate )이 표시되어 BFD 인증이 구성되었음을 나타냅니다. 구성에 대한 자세한 정보를 보려면 명령을 사용하십시오 show bfd session extensive . 이 명령의 출력은 세션의 각 클라이언트에 대한 키 체인 이름, 인증 알고리즘 및 모드, 전체 BFD 인증 구성 상태, 키 체인 이름, 인증 알고리즘 및 모드를 제공합니다.
bfd 세션 세부 정보 표시
user@host# show bfd session detail
Detect Transmit
Address State Interface Time Interval Multiplier
192.0.2.2 Up ge-0/1/5.0 0.900 0.300 3
Client PIM, TX interval 0.300, RX interval 0.300, Authenticate
Session up time 3d 00:34
Local diagnostic None, remote diagnostic NbrSignal
Remote state Up, version 1
Replicated
bfd 세션 확장 표시
user@host# show bfd session extensive
Detect Transmit
Address State Interface Time Interval Multiplier
192.0.2.2 Up ge-0/1/5.0 0.900 0.300 3
Client PIM, TX interval 0.300, RX interval 0.300, Authenticate
keychain bfd-pim, algo keyed-sha-1, mode strict
Session up time 00:04:42
Local diagnostic None, remote diagnostic NbrSignal
Remote state Up, version 1
Replicated
Min async interval 0.300, min slow interval 1.000
Adaptive async TX interval 0.300, RX interval 0.300
Local min TX interval 0.300, minimum RX interval 0.300, multiplier 3
Remote min TX interval 0.300, min RX interval 0.300, multiplier 3
Local discriminator 2, remote discriminator 2
Echo mode disabled/inactive
Authentication enabled/active, keychain bfd-pim, algo keyed-sha-1, mode strict
예: PIM IPv6에 대한 BFD Liveness Detection 구성
이 예에서는 PIM(Protocol Independent Multicast) 토폴로지에 대해 구성된 IPv6 인터페이스에 대해 BFD(Bidirectional Forwarding Detection) Liveness Detection을 구성하는 방법을 보여줍니다. BFD는 네트워크의 장애를 감지하는 간단한 Hello 메커니즘입니다.
BFD 활동성 감지를 구성하려면 다음 단계가 필요합니다.
인터페이스를 구성합니다.
관련 보안 인증 키 체인을 구성합니다.
PIM 프로토콜에 대한 BFD 인증 알고리즘을 지정합니다.
인증 키 체인을 원하는 프로토콜과 연결하여 PIM을 구성합니다.
라우팅 인스턴스에 대한 BFD 인증을 구성합니다.
BFD 세션의 양쪽 끝에서 이러한 단계를 수행해야 합니다.
요구 사항
이 예에서 사용되는 하드웨어 및 소프트웨어 구성 요소는 다음과 같습니다.
피어 라우터 2개.
Junos OS 12.2 이상.
개요
이 예제에서. 디바이스 R1 및 디바이스 R2는 피어입니다. 각 라우터는 공통 매체를 통해 연결된 PIM을 실행합니다.
위상수학
그림 1 은 이 예에서 사용된 토폴로지를 보여줍니다.
라우터가 초기화 된다고 가정 합니다. BFD 세션은 아직 설정되지 않았습니다. 각 라우터에 대해 PIM은 BFD 프로세스에 라우팅 프로토콜에 구성된 인접 라우터의 IPv6 주소를 모니터링하도록 알립니다. 주소는 동적으로 학습되지 않으므로 구성해야 합니다.
각 라우터의 계층 수준에서 IPv6 주소 및 BFD 활성화(Liveness Detection)를 [edit protocols pim] 구성합니다.
[edit protocols pim] user@host# set interface interface-name family inet6 bfd-liveness-detection
[edit routing-instancesinstance-name protocols pim interface all family inet6] 계층 수준에서 라우팅 인스턴스에 대한 BFD 활성 감지를 instance-name instance1구성합니다(여기서는 :
[edit routing-instances instance1 protocols pim] user@host# set bfd-liveness-detection
또한 BFD에 대한 인증 알고리즘 및 인증 키 체인 값을 구성합니다.
BFD 구성 네트워크에서 클라이언트가 피어와 BFD 세션을 시작하면 BFD는 BFD 피어를 구성할 때 지정한 간격 값을 포함하는 느리고 주기적인 BFD 제어 패킷을 보내기 시작합니다. 이를 초기화 상태라고 합니다. BFD는 이 상태에서 작동 또는 중단 알림을 생성하지 않습니다. 다른 BFD 인터페이스가 BFD 제어 패킷을 승인하면 세션은 업 상태로 이동하고 주기적 제어 패킷을 보다 빠르게 보내기 시작합니다. 데이터 경로 장애가 발생하고 BFD가 구성된 시간 내에 제어 패킷을 수신하지 않으면 데이터 경로가 다운된 것으로 선언되고 BFD는 BFD 클라이언트에 알립니다. 그러면 BFD 클라이언트는 트래픽을 다시 라우팅하는 데 필요한 작업을 수행할 수 있습니다. 이 프로세스는 BFD 클라이언트마다 다를 수 있습니다.
구성
CLI 빠른 구성
이 예를 빠르게 구성하려면, 아래 명령을 복사하여 텍스트 파일로 붙여 넣은 다음 모든 라인브레이크를 제거하고, 네트워크 구성을 일치하는 데 필요한 세부 사항을 변경한 다음, 계층 수준에서 명령을 CLI로 [edit] 복사해 붙여 넣습니다.
디바이스 R1
set interfaces ge-0/1/5 unit 0 description toRouter2 set interfaces ge-0/1/5 unit 0 family inet6 set interfaces ge-0/1/5 unit 0 family inet6 address e80::21b:c0ff:fed5:e4dd set protocols pim interface ge-0/1/5 family inet6 bfd-liveness-detection authentication algorithm keyed-sha-1 set protocols pim interface ge-0/1/5 family inet6 bfd-liveness-detection authentication key-chain bfd-pim set routing-instances instance1 protocols pim interface all family inet6 bfd-liveness-detection authentication algorithm keyed-sha-1 set routing-instances instance1 protocols pim interface all family inet6 bfd-liveness-detection authentication key-chain bfd-pim set security authentication key-chain bfd-pim key 1 secret "v" set security authentication key-chain bfd-pim key 1 start-time "2012-01-01.09:46:02 -0700" set security authentication key-chain bfd-pim key 2 secret "$ABC123abc123" set security authentication key-chain bfd-pim key 2 start-time "2012-01-01.15:29:20 -0700"
디바이스 R2
set interfaces ge-1/1/0 unit 0 description toRouter1 set interfaces ge-1/1/0 unit 0 family inet6 address e80::21b:c0ff:fed5:e5dd set protocols pim interface ge-1/1/0 family inet6 bfd-liveness-detection authentication algorithm keyed-sha-1 set protocols pim interface ge-1/1/0 family inet6 bfd-liveness-detection authentication key-chain bfd-pim set routing-instances instance1 protocols pim interface all family inet6 bfd-liveness-detection authentication algorithm keyed-sha-1 set routing-instances instance1 protocols pim interface all family inet6 bfd-liveness-detection authentication key-chain bfd-pim set security authentication key-chain bfd-pim key 1 secret "$ABC123abc123" set security authentication key-chain bfd-pim key 1 start-time "2012-01-01.09:46:02 -0700" set security authentication key-chain bfd-pim key 2 secret "$ABC123abc123" set security authentication key-chain bfd-pim key 2 start-time "2012-01-01.15:29:20 -0700"
절차
단계별 절차
다음 예제에서는 구성 계층의 다양한 수준을 탐색해야 합니다. CLI 탐색에 대한 자세한 내용은 Junos OS CLI 사용자 가이드의 구성 모드에서 CLI 편집기 사용을 참조하십시오.
디바이스 R1에서 PIM IPv6 인터페이스에 대한 BFD 활동성 감지를 구성하려면:
이 절차는 디바이스 R1에 대한 것입니다. 적절한 인터페이스 이름, 주소 및 기타 매개 변수를 수정한 후 디바이스 R2에 대해 이 절차를 반복합니다.
명령문을 사용하여
inet6인터페이스를 구성하여 이것이 IPv6 주소임을 지정합니다.[edit interfaces] user@R1# set ge-0/1/5 unit 0 description toRouter2 user@R1# set ge-0/1/5 unit 0 family inet6 address e80::21b:c0ff:fed5:e4dd
PIM 프로토콜에 대한 BFD 인증 알고리즘 및 키 체인을 지정합니다.
키 체인은 지정된 PIM 경로 또는 라우팅 인스턴스의 BFD 세션을 고유한 보안 인증 키 체인 속성과 연결하는 데 사용됩니다. 이 키체인 이름은 계층 수준에서 구성된
[edit security authentication]키체인 이름과 일치해야 합니다.[edit protocols] user@R1# set pim interface ge-0/1/5.0 family inet6 bfd-liveness-detection authentication algorithm keyed-sha-1 user@R1# set pim interface ge-0/1/5 family inet6 bfd-liveness-detection authentication key-chain bfd-pim
메모:알고리즘과 키 체인은 BFD 세션의 양쪽 끝에서 구성되어야 하며 일치해야 합니다. 구성이 일치하지 않으면 BFD 세션이 생성되지 않습니다.
라우팅 인스턴스(여기서는 instance1)를 구성하고, BFD 인증을 지정하며, 보안 인증 알고리즘과 키체인을 연결합니다.
[edit routing-instances] user@R1# set instance1 protocols pim interface all family inet6 bfd-liveness-detection authentication algorithm keyed-sha-1 user@R1# set instance1 protocols pim interface all family inet6 bfd-liveness-detection authentication key-chain bfd-pim
BFD 세션에 대한 고유한 보안 인증 정보를 지정합니다.
2단계에서 지정한 것과 일치하는 키 집합 이름입니다.
하나 이상의 키, 0 에서 63 사이의 고유한 정수입니다. 여러 키를 만들면 여러 클라이언트가 BFD 세션을 사용할 수 있습니다.
세션에 대한 액세스를 허용하는 데 사용되는 비밀 데이터입니다.
인증 키가 활성화되는 시간으로, YYYY-MM-DD.hh:mm:ss 형식입니다.
[edit security authentication] user@R1# set key-chain bfd-pim key 1 secret "$ABC123abc123" user@R1# set key-chain bfd-pim key 1 start-time "2012-01-01.09:46:02 -0700" user@R1# set key-chain bfd-pim key 2 secret "$ABC123abc123" user@R1# set key-chain bfd-pim key 2 start-time "2012-01-01.15:29:20 -0700"
결과
, show protocols, show routing-instances및 show security 명령을 실행하여 show interfaces구성을 확인합니다. 출력에 의도한 구성이 표시되지 않으면 이 예의 지침을 반복하여 구성을 수정하십시오.
user@R1# show interfaces
ge-0/1/5 {
unit 0 {
description toRouter2;
family inet6 {
address e80::21b:c0ff:fed5:e4dd {
}
}
}
}
user@R1# show protocols
pim {
interface ge-0/1/5.0 {
family inet6;
bfd-liveness-detection {
authentication {
algorithm keyed-sha-1;
key-chain bfd-pim;
}
}
}
}
user@R1# show routing-instances
instance1 {
protocols {
pim {
interface all {
family inet6 {
bfd-liveness-detection {
authentication {
algorithm keyed-sha-1;
key-chain bfd-pim;
}
}
}
}
}
}
}
user@R1# show security
authentication {
key-chain bfd-pim {
key 1 {
secret “$ABC123abc123”;
start-time “2012-01-01.09:46:02 -0700”;
}
key 2 {
secret “$ABC123abc123”;
start-time “2012-01-01.15:29:20 -0700”;
}
}
}
확인
구성이 올바르게 작동하고 있는지 확인합니다.
BFD 세션 확인
목적
BFD 활동성 감지가 활성화되었는지 확인합니다.
행동
user@R1# run show pim neighbors detail
Instance: PIM.master
Interface: ge-0/1/5.0
Address: fe80::21b:c0ff:fed5:e4dd, IPv6, PIM v2, Mode: Sparse, sg Join Count: 0, tsg Join Count: 0
Hello Option Holdtime: 65535 seconds
Hello Option DR Priority: 1
Hello Option Generation ID: 1417610277
Hello Option LAN Prune Delay: delay 500 ms override 2000 ms
Join Suppression supported
Address: fe80::21b:c0ff:fedc:28dd, IPv6, PIM v2, sg Join Count: 0, tsg Join Count: 0
Secondary address: beef::2
BFD: Enabled, Operational state: Up
Hello Option Holdtime: 105 seconds 80 remaining
Hello Option DR Priority: 1
Hello Option Generation ID: 1648636754
Hello Option LAN Prune Delay: delay 500 ms override 2000 ms
Join Suppression supported
의미
명령의 show pim neighbors detail 디스플레이에 BFD: Enabled, Operational state: Up이 표시되어 BFD가 두 PIM 인접 디바이스 간에 작동하고 있음을 나타냅니다. BFD 세션(세션 ID 번호 포함)에 대한 추가 정보를 보려면 명령을 사용합니다 show bfd session extensive .
변경 내역 테이블
기능 지원은 사용 중인 플랫폼 및 릴리스에 따라 결정됩니다. 기능 탐색기 를 사용하여 플랫폼에서 기능이 지원되는지 확인합니다.