DHCP 짧은 주기 보호
빈번한 짧거나 실패한 클라이언트 세션에 대한 DHCP 짧은 주기 보호
고도로 확장된 네트워크에서는 세션이 설정되기 전에 상당수의 DHCP 클라이언트 협상이 실패하여 라우터 및 외부 인증 서버의 부하가 높아집니다. 일부 CPE 디바이스는 실패 시 자동으로 협상을 재시도하며, 일부는 재시도 간격이 매우 짧습니다. 악의적인 클라이언트는 반복적이고 빈번한 로그인 요청을 전송하여 인증 공격을 탑재할 수 있습니다. 이러한 이벤트는 라우터 및 외부 인증 서버에 상당한 부하를 초래할 수 있습니다.
Junos OS 릴리스 18.2R1부터 DHCP 클라이언트 잠금이라고도 하는 DHCP 짧은 주기 보호를 통해 라우터는 협상에 지속적으로 실패하고 협상 주기가 짧은 클라이언트와 연결을 자주 완료하지만 로그인 직후 로그아웃하는 클라이언트를 식별하고 일시적으로 잠글 수 있습니다.
식별된 클라이언트는 기하급수적으로 증가하는 잠금 기간 동안 일시적으로 잠그어 액세스할 수 없습니다. 라우터는 잠겨 있는 동안 이러한 클라이언트에서 DHCP를 삭제하거나 메시지를 검색하거나 요청합니다. 라우터는 DHCPv4 클라이언트의 경우 클라이언트 식별자 또는 DHCPv6 클라이언트의 경우 DHCP 고유 식별자(DUID)로 클라이언트를 추적합니다. 두 가지 유형의 클라이언트 식별자를 모두 클라이언트 키라고 할 수 있습니다. 클라이언트 키를 사용하면 DHCP 서버가 클라이언트를 리스 및 구성 매개 변수와 연결할 수 있습니다. DHCP 짧은 주기 보호 추적에 클라이언트 키를 사용하면 라우터가 한 클라이언트가 세션을 협상하는 것을 방지하면서 동일한 논리적 인터페이스를 사용하는 다른 클라이언트가 세션을 성공적으로 협상하도록 허용할 수 있습니다.
클라이언트의 초기 잠금 기간은 짧습니다. 여기서 목표는 합법적인 클라이언트(예: 한 번만 실패하거나 이메일을 확인하기 위해 주기적으로 로그인한 다음 다시 로그아웃하는 클라이언트)에 부정적인 영향을 미치지 않는 것입니다. 협상에 지속적으로 실패하거나 짧은 간격으로 자주 로그인 및 로그아웃하는 클라이언트를 대상으로 짧은 주기 보호는 라우터의 연결 처리 부하와 외부 인증 서버의 인증 부하를 모두 줄여줍니다. 완료된 세션을 위해 진행되지 않는 클라이언트 세션을 연기하여 처리량을 개선하는 효과가 있습니다.
DHCP 클라이언트 세션이 실패하거나 수명이 짧아질 수 있는 조건
실패하거나 수명이 짧은 클라이언트 세션을 유발할 수 있는 조건은 다음과 같습니다.
RADIUS 데이터베이스에 해당 항목이 없거나 부적절한 로그인 시도로 인해 RADIUS 또는 Diameter와 같은 외부 RADIUS 서버의 인증 거부.
네트워크 장애 또는 잘못된 구성으로 인해 라우터 또는 외부 인증 서버에 연결할 수 없습니다.
동적 가입자 인터페이스를 생성하기에 메모리 리소스가 부족합니다.
CPE와의 프로토콜 협상 실패.
성공적인 로그인 직후 클라이언트 로그아웃; 이 작업을 수행하면 세션이 해제되기 전에 완전히 협상 및 구성된 클라이언트 세션이 생성됩니다.
DHCP 단기 보호 작동 방식
DHCP 단기 주기 보호는 기본적으로 라우터에서 비활성화되어 있습니다. 글로벌, 그룹 또는 인터페이스 수준에서 문을 포함하여 short-cycle-protection 활성화하면 라우터는 정적 및 동적 논리적 인터페이스의 DHCP 세션에 대해 다음을 수행합니다.
단기 이벤트 라고도 하는 단기 클라이언트 세션을 감지하고 다음 이벤트에 따라 클라이언트를 잠급니다.
E0: jdhcpd가 클라이언트 세션을 활성 상태로 선언하는 시간입니다.
E1: jdhcpd가 클라이언트 세션을 삭제해야 한다고 선언하는 시간입니다.
E2: jdhcpd가 데이터베이스에서 클라이언트 세션 항목을 삭제하는 시간입니다.
E0과 E1 사이의 간격이 60초 이하일 때 단기 주기 이벤트가 발생합니다. 간격이 60초보다 크면 로그아웃은 정상으로 간주됩니다. 라우터가 세션을 단기로 선언하면 E2 시간의 잠금 데이터베이스에 클라이언트를 추가합니다.
라우터에 대한 연결을 차단하여 지정된 DHCP 클라이언트를 일시적으로 잠급니다.
잠금 기간 동안 라우터는 잠금 기간이 만료될 때까지 클라이언트로부터 협상 패킷(DHCP 검색 및 메시지 요청)을 삭제합니다. 잠금 기간이 만료되면 클라이언트는 연결의 정상적인 협상을 재개할 수 있습니다.
문으로
short-cycle-protection최소 및 최대 길이를 지정하여 잠금 기간의 범위를 설정할 수 있습니다. 최소값과 최대값을 모두 지정해야 합니다.클라이언트의 반복되는 짧은 주기 이벤트 사이의 시간을 추적하여 후속 짧은 주기 이벤트에 대한 잠금 시간을 늘릴지 여부를 결정합니다. 이벤트 간의 간격은 유예 시간 임계값과 비교됩니다. 기본적으로 유예 시간 임계값은 900초이지만, 이 값이 900초보다 크면 최대 잠금 시간으로 자동 설정됩니다.
유예 시간 내에 후속 협상이 시도되지 않으면 클라이언트 항목이 잠금 데이터베이스에서 제거됩니다.
유예 임계값에 도달하기 전에 후속 협상이 시도되는 경우, 이는 또 다른 단기 주기 이벤트로 처리되고 잠금 페널티가 증가합니다. 페널티는 유예 시간 내에 협상이 시도될 때마다 기하급수적으로 증가합니다.
초기 잠금 기간은 구성된 최소값을 기반으로 합니다. 추가 페널티는 다음과 같이 계산되며, 여기서 n 은 유예 시간 내에 발생하는 연속 단기 주기 이벤트 수입니다.
잠금 시간 = (잠금 최소 시간) x [2(n-1)]
예를 들어, 최소 지속 시간이 1초이고 최대 지속 시간이 300초인 경우 초기 잠금 기간은 1초입니다. 후속 페널티는 2초, 4초, 8초, 16초, 32초, 64초, 128초, 256초, 마지막으로 300초로 증가합니다. 최종 잠금 기간은 512초가 아닌 300초입니다. 페널티가 잠금 범위의 최대값을 초과할 수 없기 때문입니다.
잠금 시간이 최대값에 도달하면 짧은 주기 이벤트 사이의 시간이 유예 임계값보다 클 때까지 이후의 각 잠금 기간 동안 해당 값으로 유지됩니다.
잠금 조건의 종료
DHCP 클라이언트가 잠기면, 잠금 조건은 다음 중 하나라도 발생하는 경우를 제외하고 모든 잠금 타이머가 만료될 때까지 지속됩니다.
다음 운영 명령 중 하나를 실행하여 잠금 조건을 관리적으로 지웁니다.
clear dhcp relay lockout-entriesclear dhcp server lockout-entriesclear dhcpv6 relay lockout-entriesclear dhcpv6 server lockout-entries
잠금을 겪고 있는 클라이언트 세션이 구성된 FPC를 재설정합니다.
라우팅 엔진을 재설정합니다.
이러한 이벤트 중 하나라도 발생하면 jdhcpd는 잠금을 종료하고 영향을 받는 모든 클라이언트 세션에 대한 잠금 히스토리를 지웁니다. 해제된 클라이언트는 다시 협상할 수 있습니다. 보존된 히스토리가 없기 때문에 이러한 클라이언트 중 하나에 대해 후속 단기 주기 이벤트가 발생하는 경우 잠금 기간은 최소값으로 시작됩니다.
로 구성된 remove-when-no-subscribers기본 물리적 인터페이스에서 동적 VLAN 또는 demux VLAN 논리적 인터페이스가 제거되면 영향을 받는 클라이언트의 잠금은 모든 타이머가 만료될 때까지 지속됩니다. 모든 타이머가 만료되기 전에 논리적 인터페이스가 다시 생성되면 잠금 상태가 다시 생성된 논리적 인터페이스에 적용됩니다.
DHCP 짧은 주기 보호 사용의 이점
라우터의 과도한 컨트롤 플레인 로딩과 외부 기관 서버의 인증, 권한 부여 및 프로비저닝 로딩을 줄입니다.
DHCP 제어 패킷을 처리하고 단기 연결을 협상 및 종료하는 데 필요한 리소스를 줄입니다.
실패하거나 수명이 짧은 클라이언트 세션이 있는 클라이언트에 대한 후속 시도를 일시적으로 연기하여 세션이 성공적으로 완료되고 짧은 기간 이상 지속될 수 있도록 합니다.
RADIUS 및 Diameter와 같은 외부 인증 서버에서 이러한 연결을 인증하고 종료하는 데 필요한 리소스를 줄입니다.
동일한 인터페이스에서 다른 DHCP 세션을 방해하지 않고 실패하거나 수명이 짧은 단일 DHCP 세션을 잠글 수 있습니다.
DHCP 짧은 주기 보호는 고유한 클라이언트 ID로 각 클라이언트 세션을 식별하기 때문에 라우터는 문제가 되는 DHCP 클라이언트만 잠그고 동일한 인터페이스의 다른 DHCP 클라이언트가 연결을 성공적으로 협상할 수 있도록 할 수 있습니다.
DHCP 단기 보호 구성
고도로 확장된 네트워크에서는 세션이 설정되기 전에 상당수의 DHCP 클라이언트 협상이 실패하여 라우터 및 외부 인증 서버의 부하가 높아집니다. 라우터에서 DHCP 짧은 주기 보호를 활성화하여 자주 잠깐 또는 지속적으로 연결에 실패하는 DHCP 클라이언트를 식별한 다음, 클라이언트의 액세스를 차단하고 잠금 타이머가 만료될 때까지 이러한 클라이언트의 후속 요청을 삭제할 수 있습니다. 빈번하고 짧게 반복적으로 로그인하는 클라이언트의 경우 초기 잠금 시간이 눈에 띄는 영향을 미치지 않을 만큼 충분히 짧습니다. 이러한 짧은 로그인이 계속될수록 잠금 기간이 기하급수적으로 늘어납니다. 협상에 지속적으로 실패하거나 짧은 간격으로 자주 로그인 및 로그아웃하는 클라이언트를 대상으로 짧은 주기 보호는 라우터의 연결 처리 부하와 외부 인증 서버의 인증, 권한 부여 및 프로비저닝 부하를 줄여줍니다.
DHCPv4 릴레이, DHCPv6 릴레이, DHCPv4 로컬 서버 및 DHCPv6 로컬 서버의 잠금 기간 범위를 구성할 수 있습니다. 모든 릴레이 에이전트 또는 로컬 서버 인터페이스, 인터페이스 그룹 또는 그룹 내의 특정 인터페이스에 대해 전역으로 기간을 구성할 수 있습니다. DHCPv4 릴레이 및 로컬 서버의 경우 이중 스택 그룹에 대한 잠금을 구성할 수도 있습니다.
단기 주기 보호를 사용하도록 설정할 때 잠금 기간의 최소 및 최대 기간을 모두 지정해야 합니다.
DHCPv4 릴레이 에이전트의 잠금 범위를 구성하려면:
최소 및 최대 잠금 시간을 지정합니다.
모든 DHCPv4 릴레이 에이전트의 경우:
[edit forwarding-options dhcp-relay] user@host# set short-cycle-protection <lockout-max-time seconds> <lockout-min-time seconds>
DHCPv4 릴레이 인터페이스의 특정 그룹의 경우:
[edit forwarding-options dhcp-relay] user@host# set group group-name short-cycle-protection <lockout-max-time seconds> <lockout-min-time seconds>
지정된 DHCPv4 릴레이 인터페이스 그룹 내의 특정 인터페이스의 경우:
[edit forwarding-options dhcp-relay] user@host# set group group-name interface interface-name short-cycle-protection <lockout-max-time seconds> <lockout-min-time seconds>
DHCPv4 릴레이 듀얼 스택 그룹의 경우:
[edit forwarding-options dhcp-relay] user@host# set dual-stack-group dual-stack-group-name short-cycle-protection <lockout-max-time seconds> <lockout-min-time seconds
DHCPv6 릴레이 에이전트의 잠금 범위를 구성하려면:
최소 및 최대 잠금 시간을 지정합니다.
모든 DHCPv6 릴레이 에이전트의 경우:
[edit forwarding-options dhcp-relay dhcpv6] user@host# set short-cycle-protection <lockout-max-time seconds> <lockout-min-time seconds>
DHCPv6 릴레이 인터페이스의 특정 그룹의 경우:
[edit forwarding-options dhcp-relay dhcpv6] user@host# set group group-name short-cycle-protection <lockout-max-time seconds> <lockout-min-time seconds>
지정된 DHCPv6 릴레이 인터페이스 그룹 내의 특정 인터페이스의 경우:
[edit forwarding-options dhcp-relay dhcpv6] user@host# set group group-name interface interface-name short-cycle-protection <lockout-max-time seconds> <lockout-min-time seconds>
DHCPv4 로컬 서버의 잠금 범위를 구성하려면 다음을 수행합니다.
최소 및 최대 잠금 시간을 지정합니다.
모든 DHCPv4 로컬 서버의 경우:
[edit system services dhcp-local-server] user@host# set short-cycle-protection <lockout-max-time seconds> <lockout-min-time seconds>
DHCPv4 로컬 서버 인터페이스의 특정 그룹의 경우:
[edit system services dhcp-local-server] user@host# set group group-name short-cycle-protection <lockout-max-time seconds> <lockout-min-time seconds>
지정된 DHCPv4 로컬 서버 인터페이스 그룹 내의 특정 인터페이스의 경우:
[edit system services dhcp-local-server] user@host# set group group-name interface interface-name short-cycle-protection <lockout-max-time seconds> <lockout-min-time seconds>
DHCPv4 로컬 서버 이중 스택 그룹의 경우:
[edit system services dhcp-local-server] user@host# set dual-stack-group dual-stack-group-name short-cycle-protection <lockout-max-time seconds> <lockout-min-time seconds>
DHCPv6 로컬 서버의 잠금 범위를 구성하려면 다음을 수행합니다.
최소 및 최대 잠금 시간을 지정합니다.
모든 DHCPv6 로컬 서버의 경우:
[edit system services dhcp-local-server dhcpv6] user@host# set short-cycle-protection <lockout-max-time seconds> <lockout-min-time seconds>
DHCPv6 로컬 서버 인터페이스의 특정 그룹의 경우:
[edit system services dhcp-local-server dhcpv6] user@host# set group group-name short-cycle-protection <lockout-max-time seconds> <lockout-min-time seconds>
지정된 DHCPv6 로컬 서버 인터페이스 그룹 내의 특정 인터페이스의 경우:
[edit system services dhcp-local-server dhcpv6] user@host# set group group-name interface interface-name short-cycle-protection <lockout-max-time seconds> <lockout-min-time seconds>
DHCP 단주기 보호 확인 및 관리
목적
DHCP 단기 보호 작업에 대한 정보를 보거나 삭제합니다.
지원되는 show 명령어 clear 를 사용하여 DHCP 릴레이 에이전트 및 DHCP 로컬 서버에 대한 단주기 보호 작업에 대한 정보를 관리하고 표시합니다. 잠긴 모든 항목에 대한 정보를 표시하거나 데이터베이스 인덱스 번호로 식별된 개별 항목에 대한 정보만 표시할 수 있습니다.
작업
DHCPv4 또는 DHCPv6 릴레이 에이전트에 대한 단기 보호 정보를 표시하려면
user@host> show dhcp relay lockout-entries (all | index index) user@host> show dhcpv6 relay lockout-entries (all | index index)
DHCPv4 또는 DHCPv6 릴레이 에이전트에 대한 단기 보호 정보를 지우려면:
user@host> clear dhcp relay lockout-entries (all | index index) user@host> clear dhcpv6 relay lockout-entries (all | index index)
DHCPv4 또는 DHCPv6 로컬 서버에 대한 단기 보호 정보를 표시하려면:
user@host> show dhcp server lockout-entries (all | index index) user@host> show dhcpv6 server lockout-entries (all | index index)
DHCPv4 또는 DHCPv6 로컬 서버에 대한 단기 보호 정보를 지우려면:
user@host> clear dhcp server lockout-entries (all | index index) user@host> clear dhcpv6 server lockout-entries (all | index index)
의미
이러한 show 명령에 옵션을 포함 all 시키면 데이터베이스의 항목에 해당하는 인덱스 번호, 클라이언트 식별 키, 잠금 상태, 현재 상태가 종료될 때까지의 시간(초), 현재 상태가 적용된 기간, 클라이언트가 연속으로 잠긴 횟수.
특정 클라이언트에 대한 잠금 데이터베이스에서 정보를 제거하려면 먼저 클라이언트 항목의 인덱스를 판별하는 옵션과 함께 all 해당 show 명령을 실행해야 합니다. 그런 다음 명령을 사용하여 해당 인덱스를 지정할 수 있습니다.clear
다음 예에서는 DHCPv4 릴레이 에이전트에 대해 잠긴 모든 클라이언트 항목을 표시하여 특정 클라이언트에 대한 인덱스 번호를 찾은 다음, 해당 항목만 지우고 삭제되었는지 확인합니다.
user@host> show dhcp relay lockout-entries all Index Key State Expires(s) Elapsed(s) Count 1 00:00:5E:00:53:00 LT 30 5200 2 2 00:00:5E:00:53:11 GT 120 780 2 3 00:00:5E:00:53:22 LT 180 2300 1 user@host> clear dhcp relay lockout-entries index 2 user@host> show dhcp relay lockout-entries all Index Key State Expires(s) Elapsed(s) Count 1 00:00:5E:00:53:00 LT 30 5200 2 3 00:00:5E:00:53:22 LT 180 2300 1
다음 예에서는 DHCPv6 로컬 서버에 대해 잠긴 모든 클라이언트 항목을 표시한 다음 모든 항목을 지우고 삭제되었는지 확인합니다.
user@host> show dhcp relay lockout-entries all Index Key State Expires(s) Elapsed(s) Count 1 00:00:5E:00:53:00 LT 30 5200 2 2 00:00:5E:00:53:11 GT 120 780 2 3 00:00:5E:00:53:22 LT 180 2300 1 user@host> clear dhcp relay lockout-entries all user@host> show dhcp relay lockout-entries all
변경 내역 표
기능 지원은 사용 중인 플랫폼과 릴리스에 따라 결정됩니다. 기능 탐색기를 사용하여 플랫폼에서 기능이 지원되는지 확인합니다.