이 페이지의 내용
플로우 감지 설정 및 사용
플로우 감지는 각 플로우에 허용된 대역폭 위반에 대해 제어 트래픽 플로우를 모니터링하고 범인 플로우로 식별된 트래픽을 관리합니다. 트래픽 억제는 기본 관리 옵션입니다. 플로우 탐지는 일반적으로 전체 컨트롤 플레인 DDoS 방어 전략의 일부로 구현되지만, 새로운 구성의 트래픽 플로우 문제를 해결하고 이해하는 데에도 유용합니다. 플로우 감지는 기본적으로 비활성화되어 있습니다.
향상된 가입자 관리는 Junos OS 릴리스 17.3R1부터 컨트롤 플레인 DDoS 보호를 위한 플로우 감지를 지원합니다.
시작하기 전에 네트워크에 맞게 컨트롤 플레인 DDoS 보호를 구성했는지 확인합니다. DDoS 보호에 대한 자세한 내용은 컨트롤 플레인 DDoS 보호 구성을 참조하십시오.
의심스러운 흐름에 대한 탐지 기간 구성
DDoS 보호 플로우 탐지는 명백히 양호한 플로우를 고려 대상에서 제거하는 조잡한 테스트를 기반으로 플로우가 허용된 대역폭을 초과할 때마다 모니터링되는 플로우를 의심스러운 플로우로 간주합니다. 의심스러운 플로우를 면밀히 조사하려면 플로우 감지가 조치를 취해야 하는 범인 플로우로 간주하기 전에 플로우가 일정 기간 동안 대역폭을 위반한 상태를 유지해야 합니다. 문을 포함하여 flow-detect-time
이 탐지 기간의 기간을 구성하거나 기본 기간인 3초를 사용할 수 있습니다.
향상된 가입자 관리는 Junos OS 릴리스 17.3R1부터 디도스(DDoS) 공격을 방어하기 위한 플로우 감지를 지원합니다.
검색 기간의 기본값을 사용하는 것이 좋습니다.
플로우 감지가 플로우를 범인 플로우로 선언하기 전에 플로우가 위반되어야 하는 시간을 지정하려면:
탐지 기간을 설정합니다.
[edit system ddos-protection protocols protocol-group packet-type] user@host# set flow-detect-time seconds
예를 들어, DHCPv4가 범인 흐름으로 간주되기 전에 30초 동안 허용된 대역폭을 위반하는 패킷 흐름을 검색하도록 요구하려면 다음 문을 포함합니다.
[edit system ddos-protection protocols dhcpv4 discover] user@host# set flow-detect-time 30
범인 흐름에 대한 복구 기간 구성
DDoS 보호 플로우 탐지에서 의심스러운 플로우를 범인 플로우로 식별한 후에는 해당 플로우가 더 이상 라우터에 위협이 되지 않는 시점을 결정해야 합니다. 트래픽 플로우 속도가 허용된 대역폭 내로 다시 떨어지면 속도는 복구 기간 동안 대역폭 내에 유지되어야 합니다. 그래야만 플로우 감지가 플로우를 정상으로 간주하고 범인 플로우에 대해 시행된 트래픽 처리 작업을 중지합니다. 문을 포함하여 flow-recover-time
이 복구 기간의 기간을 구성하거나 기본 기간인 60초를 사용할 수 있습니다.
위반 후 플로우 감지가 플로우를 정상 플로우로 선언하기 전에 플로우가 허용된 대역폭 내에 있어야 하는 시간을 지정하려면:
복구 기간을 설정합니다.
[edit system ddos-protection protocols protocol-group packet-type] user@host# set flow-recover-time seconds
예를 들어, DHCPv4 discover 패킷 플로우가 5분(300초) 동안 복구되도록 요구하려면 다음 문을 포함합니다.
[edit system ddos-protection protocols dhcpv4 discover] user@host# set flow-recover-time 300
범인 흐름에 대한 시간 초과 기간 구성
디도스(DDoS) 공격 보호 플로우 탐지가 의심스러운 플로우를 범인 플로우로 식별하면 기본적으로 트래픽 플로우가 대역폭 제한을 초과하는 한 해당 플로우에 대한 트래픽을 억제합니다. 흐름에 의한 마지막 위반 이후의 시간이 복구 기간보다 클 경우 억제가 중지되고 흐름이 흐름 테이블에서 제거됩니다.
또는 명령문을 포함하여 timeout-active-flows
플로우 감지를 활성화하여 구성 가능한 타임아웃 기간 동안 원인 플로우를 억제할 수 있습니다. 제한 시간이 만료되면 억제가 중지되고 플로우 테이블에서 플로우가 제거됩니다. 명령문을 포함하여 flow-timeout-time
제한 시간 기간을 구성하거나 기본 시간 제한인 300초에 의존할 수 있습니다.
플로우 감지를 활성화하여 타임아웃 기간 동안 원인 흐름을 억제하려면:
예를 들어, 10분(600초) 동안 DHCPv4 discover 패킷 플로우를 억제하려면 다음 문을 포함합니다.
[edit system ddos-protection protocols dhcpv4 discover] user@host# set timeout-active-flows user@host# setflow-timeout-time 600
각 플로우 어그리게이션 수준에서 플로우 감지의 작동 방식 구성
플로우 감지가 켜지면 트래픽 플로우는 기본적으로 모든 프로토콜 그룹 및 패킷 유형에 대해 모니터링됩니다. 폴리서 위반이 발생하면 각 의심스러운 플로우를 검사하여 위반을 일으킨 범인 플로우인지 여부를 판별합니다. 명령문을 포함하여 flow-level-detection
패킷 유형(가입자, 논리적 인터페이스 또는 물리적 인터페이스)에 대한 각 플로우 어그리게이션 수준에서 플로우 감지가 작동하는 방식을 구성할 수 있습니다.
패킷 수준의 플로우 감지 모드는 플로우 감지가 개별 플로우 어그리게이션 수준에서 작동하려면 또는 중 on
하나 automatic
여야 합니다.
프로토콜 그룹 및 패킷 수준의 플로우 감지와 마찬가지로 플로우 어그리게이션 수준의 플로우 감지는 다음 세 가지 모드를 지원합니다.
automatic—컨트롤 플레인 DDoS 보호 폴리서가 위반된 경우, 플로우 탐지가 의심스러운 플로우가 이 어그리게이션 레벨에 있지 않고 대신 더 거친 어그리게이션 레벨에 있어야 한다고 판단할 때까지만 이 플로우 어그리게이션 레벨의 트래픽 플로우는 의심스러운 동작에 대해 모니터링됩니다. 이 레벨의 플로우는 폴리서가 더 거친 레벨에서 더 이상 위반되지 않을 때까지 다시 검색되지 않습니다.
off - 트래픽 플로우는 이 플로우 어그리게이션 수준에서 모니터링되지 않습니다.
on—패킷 수준의 플로우 감지가 로 구성된
on
경우, 현재 DDoS 보호 폴리서를 위반하고 있지 않더라도 이 플로우 어그리게이션 레벨의 트래픽 플로우는 의심스러운 플로우에 대해 모니터링됩니다. 의심스러운 플로우가 이 수준에서 식별되는지 여부에 관계없이 모니터링은 이 수준에서 계속됩니다. 그러나 패킷 레벨 모드가automatic
인 경우, 이 수준에서 트래픽 플로우를 확인하려면 폴리서가 위반 상태여야 합니다.
플로우는 가장 세분화된(가장 낮은 대역폭) 플로우 어그리게이션 레벨인 가입자에서 먼저 검사됩니다. 가입자 수준에서 의심스러운 플로우를 찾을 수 없는 경우, 플로우는 논리적 인터페이스 수준에서 확인됩니다. 마지막으로, 용의자가 발견되지 않으면 물리적 인터페이스 수준에서 플로우가 확인됩니다. 일부 잘못된 컨피그레이션을 제외하고 이 수준에서 범인 흐름을 찾아야 합니다.
각 플로우 어그리게이션 수준에서 플로우 감지의 작동 방식을 구성하려면:
예를 들어, 폴리서가 위반될 때만 가입자 수준에서 의심스러운 플로우를 확인하고, 논리적 인터페이스 수준에서 확인하지 않으며, 물리적 인터페이스 수준에서 항상 확인하도록 플로우 감지를 구성하려면 다음 문을 포함합니다.
[edit system ddos-protection protocols dhcpv4 discover] user@host# edit flow-level-detection user@host# set subscriber automatic user@host# set logical-interface off user@host# set physical-interface on
각 플로우 어그리게이션 수준에서 범인 플로우의 트래픽이 제어되는 방식 구성
플로우 감지가 활성화되면 모든 프로토콜 그룹 및 패킷 유형과 모든 플로우 어그리게이션 수준에서 기본적으로 범인 플로우의 모든 트래픽이 삭제됩니다. 명령문을 포함하여 flow-level-control
개별 패킷 유형에 대해 트래픽을 다르게 제어하도록 플로우 감지를 구성할 수 있습니다. 특정 플로우 어그리게이션 수준(가입자, 논리적 인터페이스 또는 물리적 인터페이스)에서 제어 동작을 지정해야 합니다.
패킷 유형에 대해 다음 모드 중 하나를 사용하도록 플로우 감지 플로우 제어를 구성할 수 있습니다.
Drop all traffic(모든 트래픽 삭제) - 대역폭 제한을 위반하는 플로우가 악의적이라고 판단될 때 모든 트래픽을 삭제하도록 flow control을 구성합니다. 이 동작은 모든 플로우 어그리게이션 수준에서 기본값입니다.
트래픽 감시—대역폭을 위반하는 플로우를 감시하도록 플로우 제어를 구성하여 속도를 대역폭 제한 미만으로 강제합니다. 이 경우 플로우 제어는 간단한 폴리서 역할을 합니다.
Keep all traffic(모든 트래픽 유지) - 플로우가 대역폭 제한을 위반하거나 대역폭 제한 미만인지 여부에 관계없이 모든 트래픽을 유지하도록 플로우 제어를 구성합니다. 이 모드는 네트워크의 트래픽 흐름을 디버깅해야 할 때 유용합니다.
플로우 제어 모드를 사용하면 네트워크에서 제어 트래픽을 관리하는 방법에 큰 유연성을 제공합니다. 예를 들어, 모든 어그리게이션 수준에서 패킷 유형에 대한 제어 플로우가 제한 범위 내에 있는지 확인하려면, 각 수준에서 트래픽을 감시하도록 플로우 제어를 구성할 수 있습니다. 또는 원인 플로우를 감지하고 한 수준에서는 억제하지만 다른 수준에서는 허용된 대역폭으로만 트래픽을 제한하려는 경우, 한 수준은 모든 트래픽을 삭제하고 다른 수준은 경찰 트래픽에 삭제하도록 구성할 수 있습니다.
플로우 감지가 범인 플로우에서 트래픽을 제어하는 방법을 구성하려면:
예를 들어, 물리적 인터페이스에 대한 모든 트래픽을 구성된 대역폭 아래로 유지하되 가입자 수준에서 범인 흐름을 탐지하고 억제하도록 플로우 감지를 구성하려면:
[edit system ddos-protection protocols dhcpv4 discover] user@host# edit flow-level-control user@host# set subscriber drop user@host# set physical-interface police user@host# edit flow-level-detection user@host# set logical-interface off
이 예에서는 논리적 인터페이스에 대해 신경 쓰지 않으므로 해당 수준에 대해 플로우 감지가 꺼집니다. 플로우 감지가 비활성화되었기 때문에 해당 레벨에 대한 플로우 제어 상태는 중요하지 않습니다.
모든 프로토콜 그룹 및 패킷 유형에 대한 플로우 감지 활성화
기본적으로 플로우 감지는 모든 프로토콜 그룹 및 패킷 유형에 대해 비활성화되어 있습니다. 문을 포함하여 플로우 감지를 전역적으로 flow-detection
활성화해야 합니다. 이후에 개별 패킷 유형에 대한 플로우 감지를 비활성화하면 이 전역 문을 사용하여 이러한 모든 개별 구성을 재정의할 수 없습니다. 패킷 구성 수준에서 탐지를 다시 활성화해야 합니다.
플로우 감지를 전역적으로 활성화하려면:
흐름 감지를 설정합니다.
[edit system ddos-protection global] user@host# set flow-detection
다음 그룹 및 패킷 유형은 일반적인 이더넷, IP 또는 IPv6 헤더가 없기 때문에 플로우 감지를 전역적으로 활성화할 수 없습니다.
프로토콜 그룹:
fab-probe
,frame-relay
,inline-ka
,isis
jfm
,pos
mlp
pfe-alive
, 및 .services
패킷 유형:
unclassified
프로토콜 그룹에서ip-options
.
모든 프로토콜 그룹 및 패킷 유형에 대한 범인 플로우 보고 속도 구성
플로우 탐지를 통해 라인 카드에서 추적하고 있는 의심스러운 플로우가 실제로 범인 플로우임을 확인하면 라우팅 엔진에 보고서를 보냅니다. 또한 플로우 감지는 이후에 허용된 대역폭 내로 복구되거나 지워지는 각 원인 플로우를 보고합니다. 명령문을 포함하여 flow-report-rate
각 라인 카드에서 보고할 수 있는 초당 플로우 수를 제한할 수 있습니다. 범인 플로우 이벤트는 기본적으로 모든 프로토콜 그룹 및 패킷 유형에 대해 보고됩니다. 너무 많은 플로우가 보고되면 라우팅 엔진 플로우에 대한 호스트 경로에서 혼잡이 발생할 수 있습니다.
범인 흐름에 대한 최대 보고 속도를 전역적으로 구성하려면:
보고 비율을 설정합니다.
[edit system ddos-protection global] user@host# set flow-report-rate rate
모든 프로토콜 그룹 및 패킷 유형에 대한 위반 보고 비율 구성
기본적으로 플로우 감지는 모든 프로토콜 그룹 및 패킷 유형에 대한 FPC의 모든 대역폭 위반을 라우팅 엔진에 보고합니다. 명령문을 포함하여 violation-report-rate
라인 카드에서 초당 위반 플로우 감지 보고서의 수를 제한하여 라우터의 부하를 줄일 수 있습니다. 기본값에 의존하기보다는 네트워크에 적합한 보고서 속도를 구성하는 것이 좋습니다.
최대 대역폭 위반 보고율을 전역적으로 구성하려면 다음을 수행합니다.
보고 비율을 설정합니다.
[edit system ddos-protection global] user@host# set violation-report-rate rate
패킷 유형에 대한 범인 플로우 이벤트의 자동 로깅 비활성화
기본적으로 플로우 탐지는 모든 프로토콜 그룹 및 패킷 유형에 대해 의심스러운 플로우와 관련된 폴리서 위반 이벤트(위반 보고서) 및 범인 플로우 이벤트(플로우 보고서)를 자동으로 기록합니다. 개별 패킷 유형에 대한 범인 플로우 이벤트의 자동 로깅을 no-flow-logging
방지하기 위해 명령문을 포함할 수 있습니다. 의심스러운 플로우 위반 이벤트의 자동 로깅은 계층 수준에서 문을 통해 disable-logging
비활성화됩니다 [edit system ddos-protection global
.
패킷 유형에 대한 자동 범인 플로우 이벤트 로깅을 비활성화하려면:
로깅을 사용하지 않도록 설정합니다.
[edit system ddos-protection protocols protocol-group packet-type] user@host# set no-flow-logging
패킷 유형에 대해 의심스러운 플로우 위반 자동 이벤트 로깅을 비활성화하려면:
로깅을 사용하지 않도록 설정합니다.
[edit system ddos-protection protocols protocol-group packet-type] user@host# set disable-logging
예를 들어, DHCPv4 DISCOVER 패킷 흐름에 대한 자동 로깅을 비활성화하려면 다음 문을 포함합니다.
[edit system ddos-protection protocols dhcpv4 discover] user@host# set no-flow-logging
각 플로우 어그리게이션 수준에서 최대 플로우 대역폭 구성
명령문을 포함하여 flow-level-bandwidth
개별 패킷 유형의 트래픽 플로우에 허용되는 최대 대역폭을 구성할 수 있습니다. 특정 플로우 어그리게이션 수준(가입자, 논리적 인터페이스 또는 물리적 인터페이스)에서 대역폭 동작을 지정해야 합니다. 기본값에 의존하기보다는 네트워크의 대역폭 값을 조정하는 것이 좋습니다.
각 플로우 어그리게이션 레벨의 트래픽 플로우에 대한 최대 대역폭을 구성하려면 다음을 수행합니다.
예를 들어, 가입자 수준에서 1000pps, 논리적 인터페이스 수준에서 5000pps 및 물리적 인터페이스 수준에서 30,000pps의 플로우 대역폭을 구성하려면:
[edit system ddos-protection protocols dhcpv4 discover] user@host# edit flow-level-bandwidth user@host# set subscriber 1000 user@host# set logical-interface 5000 user@host# set physical-interface 30000
플로우 감지 확인 및 관리
목적
컨트롤 플레인 DDoS 보호 구성의 일부로 플로우 감지에 대한 정보를 보거나 지웁니다.
향상된 가입자 관리는 Junos OS 릴리스 17.3R1부터 컨트롤 플레인 DDoS 보호를 위한 플로우 감지를 지원합니다.
행동
플로우 감지를 위한 구성 정보 표시:
user@host> show ddos-protection protocols flow-detection
탐지 및 추적된 플로우 수, 플로우의 소스 주소, 도착 인터페이스 및 속도를 포함하여 플로우 감지로 식별된 원인 플로우에 대한 정보를 표시하려면:
user@host> show ddos-protection protocols culprit-flows
모든 프로토콜 그룹에서 모든 패킷 유형에 대한 범인 플로우를 지우려면:
user@host> clear ddos-protection protocols culprit-flows
특정 프로토콜 그룹의 모든 패킷 유형에 대한 범인 플로우 지우기:
user@host> clear ddos-protection protocols protocol-group culprit-flows
변경 내역 테이블
기능 지원은 사용 중인 플랫폼 및 릴리스에 따라 결정됩니다. 기능 탐색기 를 사용하여 플랫폼에서 기능이 지원되는지 확인합니다.