유니캐스트 RPF(라우터) 이해하기
IPv4 또는 IPv6 트래픽을 전송하는 인터페이스의 경우 유니캐스트 역방향 경로 포워딩(RPF)을 구성하여 서비스 거부(DoS) 공격의 영향을 줄일 수 있습니다. 유니캐스트 RPF는 공격의 출처를 파악하는 데 도움이 되며, 유니캐스트 RPF가 활성화된 인터페이스에서 예기치 않은 소스 주소의 패킷을 거부합니다.
네트워크의 에지(고객 대면 인터페이스)에서 유니캐스트 RPF 확인 기능을 적용하여 네트워크를 보호할 수 있습니다. ISP 환경에서는 네트워크에 영향을 주어 확장된 설정을 적용할 수 있습니다. 네트워크 에지를 이미 보호한 경우, 스푸핑된 IP 소스 주소의 패킷은 코어 대면 인터페이스에 나타나지도 않을 것입니다. 이 경우 유니캐스트 RPF 검사가 필요하지 않습니다. 유니캐스트 RPF 기능을 활성화하면 컨트롤 플레인 성능에 영향을 줄 수 있으므로 필요한 곳에 사용하십시오. 따라서 네트워크 코어(내부) 인터페이스에서 이 기능을 활성화하지 않는 것이 좋습니다.
현재 PTX 플랫폼에서 BGP 플로우 사양(flowspec)을 구성하면 VRF 인스턴스를 설정하기 위한 암시적 필터가 생성됩니다. PTX 플랫폼에서 필터 조회는 소스/대상 IP 조회보다 우선합니다. 따라서 소스 및 대상 IP 조회는 VRF 인스턴스의 컨텍스트 내에서 발생합니다.
현재 PTX 플랫폼에서 인터페이스에 유니캐스트 역방향 경로 전달(uRPF) 및 필터 기반 포워딩(FBF)이 구성된 경우, 기본 동작은 인터페이스가 가리키는 라우팅 인스턴스에서 수신 패킷의 소스 IP 주소 조회가 uRPF에 의해 수행되고 대상 IP 주소 조회는 FBF 필터가 지정한 라우팅 인스턴스에서 수행되는 것입니다. 이 기본 동작을 재정의하는 데 사용할 set forwarding-options no-rpf-fbf-handling 수 있으며, 이 구성을 적용하면 수신 패킷의 소스 IP 주소 조회가 FBF 필터에 의해 지정된 라우팅 인스턴스에서 uRPF에 의해 수행됩니다.
유니캐스트 RPF 및 기본 경로
라우팅 테이블의 경로에서 활성 경로를 선택할 수 없는 경우 라우터는 기본 경로를 선택합니다. 기본 경로는 0.0.0.0/0의 IP 주소와 동일합니다. 기본 경로를 구성하고 기본 경로가 사용하는 인터페이스에서 유니캐스트 RPF를 구성하는 경우, 유니캐스트 RPF는 그렇지 않은 경우와 다르게 동작합니다.
기본 경로가 인터페이스를 사용하는지 여부를 결정하려면 다음 명령을 입력합니다.show route
user@host> show route address
address 은 구성된 기본 경로의 다음 홉 주소입니다. 기본 경로는 명령 출력 show route 에 표시된 인터페이스를 사용합니다.
다음 섹션에서는 기본 경로가 인터페이스를 사용할 때와 기본 경로가 인터페이스를 사용하지 않을 때 유니캐스트 RPF가 어떻게 동작하는지 설명합니다.
기본 경로의 유니캐스트 RPF 동작
MPC와 MX80 라우터를 갖춘 라우터를 제외한 모든 라우터에서, 유니캐스트 RPF로 구성된 인터페이스를 사용하는 기본 경로를 구성하는 경우 유니캐스트 RPF는 다음과 같이 작동합니다.
느슨한 모드 - 모든 패킷이 자동으로 수락됩니다. 이러한 이유로 기본 경로가 사용하는 인터페이스에서 유니캐스트 RPF 느슨한 모드를 구성하지 않는 것이 좋습니다.
엄격 모드 - 패킷의 소스 주소가 인터페이스를 통해 도달할 수 있는 경로(기본 또는 학습)와 일치할 때 패킷이 수락됩니다. 경로에는 여러 목적지가 연관되어 있을 수 있습니다. 따라서 대상 중 하나가 패킷의 수신 인터페이스와 일치하면 패킷이 수락됩니다.
MPC와 MX80 라우터가 있는 모든 라우터에서, 유니캐스트 RPF로 구성된 인터페이스를 사용하는 기본 경로를 구성하는 경우 유니캐스트 RPF는 다음과 같이 동작합니다.
느슨한 모드 - 소스가 기본 경로에서 학습된 패킷을 제외한 모든 패킷이 허용됩니다. 소스 가 기본 경로에서 학습된 모든 패킷은 패킷 포워딩 엔진에서 삭제됩니다. 기본 경로는 경로가 존재하지 않는 것처럼 처리됩니다.
엄격 모드 - 패킷의 소스 주소가 인터페이스를 통해 도달할 수 있는 경로(기본 또는 학습)와 일치할 때 패킷이 수락됩니다. 경로에는 여러 목적지가 연관되어 있을 수 있습니다. 따라서 대상 중 하나가 패킷의 수신 인터페이스와 일치하면 패킷이 수락됩니다.
모든 라우터에서 다음 중 하나에 해당하는 경우 패킷이 허용되지 않습니다.
패킷의 소스 주소가 라우팅 테이블의 접두사와 일치하지 않습니다.
인터페이스는 이 소스 주소 접두사가 있는 패킷을 수신할 것으로 예상하지 않습니다.
기본 경로가 없는 유니캐스트 RPF 동작
기본 경로를 구성하지 않거나 기본 경로가 유니캐스트 RPF로 구성된 인터페이스를 사용하지 않는 경우, 유니캐스트 RPF는 유니캐스트 RPF 엄격 모드 구성 및 유니캐스트 RPF 느슨한 모드 구성에 설명된 대로 작동합니다. 요약하자면, 기본 경로가 없는 유니캐스트 RPF는 다음과 같이 작동합니다.
엄격 모드 - 다음 중 하나에 해당하는 경우 패킷이 수락되지 않습니다.
패킷의 소스 주소가 라우팅 테이블의 접두사와 일치하지 않습니다.
인터페이스는 이 소스 주소 접두사가 있는 패킷을 수신할 것으로 예상하지 않습니다.
느슨한 모드 - 패킷의 소스 주소가 라우팅 테이블의 접두사와 일치하지 않으면 패킷이 허용되지 않습니다.
라우팅 비대칭이 있는 유니캐스트 RPF
일반적으로 내부 인터페이스는 라우팅 비대칭을 가질 가능성이 높기 때문에 네트워크 내부에 있는 인터페이스에서 유니캐스트 RPF를 활성화하지 않는 것이 좋습니다. 라우팅 비대칭은 패킷의 발신 경로와 반환 경로가 다르다는 것을 의미합니다. 네트워크 코어에 있는 라우터는 고객 또는 프로바이더 에지에 있는 라우터보다 비대칭 역방향 경로를 가질 가능성이 더 높습니다. 그림 1 은 라우팅 비대칭 환경에서 유니캐스트 RPF를 보여줍니다.
그림 1에서는 인터페이스so-0/0/0에서 유니캐스트 RPF를 활성화하면 라우터 A로 향하는 트래픽이 거부되지 않습니다. 인터페이스so-1/0/1에서 유니캐스트 RPF를 활성화하면 라우터 A의 트래픽이 거부됩니다.
비대칭 라우팅 환경에서 유니캐스트 RPF를 활성화해야 하는 경우, 장애 필터를 사용하여 라우터가 특정 경로를 통해 도착하는 것으로 알려진 수신 패킷을 수락하도록 할 수 있습니다. 특정 소스 및 대상 주소를 가진 패킷을 수락하는 장애 필터의 예는 유니캐스트 RPF 구성을 참조하십시오.
유니캐스트 RPF 엄격 모드 구성
엄격 모드에서 유니캐스트 RPF는 수신 패킷에 라우팅 테이블의 접두사와 일치하는 소스 주소가 있는지 여부와 인터페이스가 이 소스 주소 접두사를 가진 패킷을 수신할 것으로 예상하는지 여부를 확인합니다.
활성 경로 모드가 구성되면 활성 경로만 있는 발신 인터페이스 목록이 생성됩니다. 이러한 인터페이스로 들어오는 모든 패킷은 유효한 것으로 간주되어 처리됩니다.
수신 패킷이 유니캐스트 RPF 확인에 실패하면 인터페이스에서 패킷이 수락되지 않습니다. 인터페이스에서 패킷이 수락되지 않으면 유니캐스트 RPF는 패킷을 계산하여 선택적 장애 필터로 보냅니다. 장애 필터가 구성되지 않은 경우, 기본 작업은 패킷을 자동으로 폐기하는 것입니다.
선택적 실패 필터를 사용하면 유니캐스트 RPF 검사에 실패한 패킷에 필터를 적용할 수 있습니다. 실패 필터를 정의하여 수락, 거부, 로깅, 샘플링 또는 폴리싱을 포함한 모든 필터 작업을 수행할 수 있습니다.
인터페이스에서 유니캐스트 RPF가 활성화되면 BOOTP(Bootstrap Protocol) 패킷 및 DHCP(Dynamic Host Configuration Protocol) 패킷은 인터페이스에서 허용되지 않습니다. 인터페이스가 BOOTP 패킷과 DHCP 패킷을 수락하도록 허용하려면 소스 주소와 대상 주소가 다음의 0.0.0.0 255.255.255.255. 모든 패킷을 허용하는 장애 필터를 적용해야 합니다. 구성 예는 유니캐스트 RPF 구성을 참조하십시오.
장애 필터 정의에 대한 자세한 내용은 라우팅 정책, 방화벽 필터 및 트래픽 폴리서 사용자 설명서를 참조하십시오.
유니캐스트 RPF를 구성하려면 다음 문을 포함합니다.rpf-check
rpf-check <fail-filter filter-name>;
다음 계층 수준에서 이 문을 포함할 수 있습니다.
[edit interfaces interface-name unit logical-unit-number family (inet | inet6)][edit logical-systems logical-system-name interfaces interface-name unit logical-unit-number family (inet | inet6)]
유니캐스트 RPF를 사용하면 트래픽 필터와 함께 구현될 때 다음과 같은 몇 가지 결과가 발생할 수 있습니다.
RPF 실패 필터는 입력 필터 후와 출력 필터 전에 평가됩니다.
입력 필터에 의해 손실된 패킷에 대한 필터 카운터를 구성하고 손실된 총 패킷 수를 알고 싶다면 RPF 검사에 의해 손실된 패킷에 대한 필터 카운터도 구성해야 합니다.
RPF 검사에 실패하고 RPF 실패 필터에 의해 수락된 패킷을 계산하려면 필터 카운터를 구성해야 합니다.
입력 필터가 inet.0 또는 inet6.0 라우팅 테이블 이외의 다른 곳으로 패킷을 전달하는 경우, 유니캐스트 RPF 검사는 수행되지 않습니다.
입력 필터가 입력 인터페이스가 구성된 라우팅 인스턴스 이외의 다른 곳으로 패킷을 전달하는 경우, 유니캐스트 RPF 검사는 수행되지 않습니다.
앞서 언급한 글머리 기호 목록에서 MX 플랫폼에서는 방화벽 필터가 실행되기 전에 uRPF가 처리되기 때문에 첫 번째, 두 번째 마지막 및 마지막 포인트는 MX 플랫폼에 적용되지 않습니다. 정적 및 동적 인터페이스에 대해 FBF(필터 기반 포워딩) 작업이 활성화되기 전에 소스 주소 확인을 위해 uRPF 검사가 처리됩니다. 이는 IPv4 및 IPv6 패밀리 모두에 적용됩니다.
ACX 및 MX 시리즈 라우터에서:
uRPF 실패 필터는 ACX1000, ACX2000, ACX4000 및 ACX500, ACX5048 및 ACX5096에서 지원됩니다. 이 필터는 ACX5448, ACX710, ACX7100-32C, ACX7100-48, ACX7509 및 ACX7000 시리즈의 모든 라우터에서 지원되지 않습니다.
- uRPF 실패 필터는 수신 포트 확인(엄격 모드)에서 실패한 패킷과 일치시킬 수 없습니다.
- uRPF 실패 필터는 소스 IP 조회에 실패한 패킷과 일치시킬 수 있지만 입력 인터페이스 확인(엄격 모드)에 실패한 패킷과 일치시킬 수 없습니다.
- uRPF 실패 필터는 방화벽 필터의 인터페이스별 인스턴스에만 적용됩니다.
- uRPF 실패 필터는 거부 및 routing-instance 작업을 지원하지 않습니다.
- feasible-paths 옵션은 ACX7000 시리즈에서 지원되지 않습니다.
유니캐스트 RPF 엄격 모드를 구성하고 인터페이스가 BOOTP 패킷과 DHCP 패킷을 수락할 수 있도록 장애 필터를 적용합니다. 필터는 소스 주소와 대상 주소255.255.255.255가 인 0.0.0.0 모든 패킷을 허용합니다.
엄격 모드에서 유니캐스트 RPF를 구성하려면:
유니캐스트 RPF 느슨한 모드 구성
기본적으로 유니캐스트 RPF는 엄격 모드를 사용합니다. 유니캐스트 RPF 느슨한 모드는 유니캐스트 RPF 엄격 모드와 유사하며 동일한 구성 제한을 가지고 있습니다. 느슨한 모드에서 유일한 검사는 패킷의 라우팅 테이블에 해당 접두사가 있는 소스 주소가 있는지 여부입니다. 느슨한 모드는 인터페이스가 특정 소스 주소 접두사가 있는 패킷을 수신할 것으로 예상하는지 여부를 확인하지 않습니다. 해당 접두사를 찾을 수 없는 경우, 유니캐스트 RPF 느슨한 모드는 패킷을 수락하지 않습니다. 엄격 모드에서와 마찬가지로 느슨한 모드는 실패한 패킷을 계산하고 선택적으로 패킷을 수락, 거부, 로그, 샘플링 또는 폴리싱하는 실패 필터로 전달합니다.
feasible-paths 모드가 구성되면 활성 및 비활성 경로의 발신 인터페이스 목록이 생성됩니다. 이러한 인터페이스로 들어오는 모든 패킷은 유효한 것으로 간주되어 처리됩니다.
유니캐스트 RPF 느슨한 모드를 구성하려면 다음을 포함합니다.mode
패킷 폐기 기능이 있는 유니캐스트 RPF 느슨한 모드 구성
유니캐스트 RPF 느슨한 모드는 폐기 인터페이스를 가리키는 소스 주소로 패킷을 폐기할 수 있는 기능이 있습니다. 원격 트리거 Null 경로 필터링과 함께 유니캐스트 RPF 느슨한 모드를 사용하면 알려진 공격 소스에서 오는 패킷을 효율적으로 삭제할 수 있습니다. 에지 라우터의 BGP 정책은 신뢰할 수 없는 소스 주소가 있는 패킷의 다음 홉이 폐기 경로로 설정되도록 합니다. 패킷이 신뢰할 수 없는 소스 주소를 가진 라우터에 도착하면 유니캐스트 RPF는 소스 주소의 경로 조회를 수행합니다. 소스 주소 경로가 폐기 다음 홉을 가리키기 때문에 패킷이 드롭되고 카운터가 증가합니다. 이 기능은 IPv4(inet) 및 IPv6(inet6) 주소 패밀리에서 모두 지원됩니다.
패킷을 폐기할 수 있는 기능으로 유니캐스트 RPF 느슨한 모드를 구성하려면 계층 수준에서 다음 문을 포함 rpf-loose-mode-discard family (inet | inet6) 합니다.[edit forwarding-options]
rpf-loose-mode-discard {
family {
inet;
}
}
이 예에서는 디바이스 초기화 이외의 특별한 구성이 필요하지 않습니다.
유니캐스트 RPF 느슨한 모드를 구성하고 인터페이스가 BOOTP 패킷 및 DHCP 패킷을 수락할 수 있도록 장애 필터를 적용합니다. 필터는 소스 주소와 대상 주소255.255.255.255가 인 0.0.0.0 모든 패킷을 허용합니다.
패킷 폐기 기능이 있는 유니캐스트 RPF 느슨한 모드를 구성하려면 다음을 수행합니다.
VPN에서 유니캐스트 RPF 구성
인터페이스에서 유니캐스트 RPF를 활성화하고 계층 수준에서 [edit routing-instances routing-instance-name] 문을 포함하여 interface VPN 인터페이스에서 유니캐스트 RPF를 구성할 수 있습니다.
라우팅 인스턴스에서 지정한 인터페이스에서만 유니캐스트 RPF를 구성할 수 있습니다. 이는 다음을 의미합니다.
레이어 3 VPN의 경우, 유니캐스트 RPF는 CE 라우터 인터페이스에서 지원됩니다.
유니캐스트 RPF는 코어 대면 인터페이스에서 지원되지 않습니다.
가상 라우터 라우팅 인스턴스의 경우, 라우팅 인스턴스에서 지정하는 모든 인터페이스에서 유니캐스트 RPF가 지원됩니다.
입력 필터가 입력 인터페이스가 구성된 라우팅 인스턴스 이외의 다른 곳으로 패킷을 전달하는 경우, 유니캐스트 RPF 검사는 수행되지 않습니다.
레이어 3 VPN 인터페이스에서 유니캐스트 RPF를 구성합니다.
[edit interfaces]
so-0/0/0 {
unit 0 {
family inet {
rpf-check;
}
}
}
[edit routing-instance]
VPN-A {
interface so-0/0/0.0;
}
유니캐스트 RPF 구성
유니캐스트 RPF 엄격 모드를 구성하고 인터페이스가 BOOTP 패킷과 DHCP 패킷을 수락할 수 있도록 장애 필터를 적용합니다. 필터는 소스 주소와 대상 주소255.255.255.255가 인 0.0.0.0 모든 패킷을 허용합니다.
[edit firewall]
filter rpf-special-case-dhcp-bootp {
term allow-dhcp-bootp {
from {
source-address {
0.0.0.0/32;
}
address {
255.255.255.255/32;
}
}
then {
count rpf-dhcp-bootp-traffic;
accept;
}
}
term default {
then {
log;
reject;
}
}
}
[edit]
interfaces {
so-0/0/0 {
unit 0 {
family inet {
rpf-check fail-filter rpf-special-case-dhcp-bootp;
}
}
}
}
또한보십시오
플랫폼별 동작
기능 탐색기를 사용하여 특정 기능에 대한 플랫폼 및 릴리스 지원을 확인하십시오.
다음 표를 사용하여 플랫폼의 플랫폼별 동작을 검토하십시오.
플랫폼 |
차이 |
|---|---|
Junos OS Evolved 기반 ACX 시리즈 라우터 |
소스 IP가 ECMP 그룹을 통해 확인되면 RPF는 패킷이 수신된 인터페이스의 엄격한 uRPF 설정을 무시하여 느슨한 모드에서 작동합니다. |