DHCP 숏 사이클 보호
빈번한 단기 또는 실패한 클라이언트 세션에 대한 DHCP 짧은 주기 보호
고도로 확장된 네트워크에서는 세션이 설정되기 전에 상당수의 DHCP 클라이언트 협상이 실패하여 라우터 및 외부 인증 서버에 높은 부하가 발생합니다. 일부 CPE 디바이스는 실패 시 자동으로 협상을 재시도하며, 일부는 재시도 간격이 매우 짧습니다. 악의적인 클라이언트는 반복적이고 빈번한 로그인 요청을 보내 인증 공격을 탑재할 수 있습니다. 이러한 이벤트는 라우터 및 외부 인증 서버에 상당한 부하를 초래할 수 있습니다.
Junos OS 릴리스 18.2R1부터 DHCP 클라이언트 잠금이라고도 하는 DHCP 단기 주기 보호를 통해 라우터는 지속적으로 협상에 실패하고 협상 주기가 짧은 클라이언트와 연결을 자주 완료하지만 로그인 직후 로그아웃하는 클라이언트를 식별하고 일시적으로 차단하여 이러한 부하를 줄일 수 있습니다.
식별된 클라이언트는 기하급수적으로 증가하는 잠금 기간 동안 일시적으로 잠겨 액세스하지 못하도록 차단됩니다. 라우터는 이러한 클라이언트가 잠겨 있는 동안 DHCP 검색 또는 요청 메시지를 삭제합니다. 라우터는 DHCPv4 클라이언트의 클라이언트 식별자 또는 DHCPv6 클라이언트의 DHCP 고유 식별자(DUID)로 클라이언트를 추적합니다. 두 가지 유형의 클라이언트 식별자를 모두 클라이언트 키라고 할 수 있습니다. 클라이언트 키를 사용하면 DHCP 서버가 클라이언트를 임대 및 구성 매개 변수와 연결할 수 있습니다. DHCP 단기 주기 보호 추적에 클라이언트 키를 사용하면 라우터가 한 클라이언트가 세션을 협상하는 것을 방지하는 동시에 동일한 논리적 인터페이스를 사용하는 다른 클라이언트가 세션을 성공적으로 협상하도록 허용할 수 있습니다.
클라이언트의 초기 잠금 기간은 짧습니다. 여기서 목표는 합법적인 클라이언트(예: 한 번만 실패하거나 주기적으로 로그인하여 이메일을 확인한 다음 다시 로그아웃하는 클라이언트)에 부정적인 영향을 미치지 않도록 하는 것입니다. 단기 보호 기능은 지속적으로 협상에 실패하거나 짧은 간격으로 자주 로그인 및 로그아웃하는 클라이언트를 대상으로 하여 라우터의 연결 처리 부하와 외부 인증 서버의 인증 부하를 모두 줄입니다. 이는 완료되는 세션을 위해 진행되지 않는 클라이언트 세션을 연기하여 처리량을 향상시키는 효과가 있습니다.
DHCP 클라이언트 세션이 실패하거나 수명이 짧을 수 있는 조건
실패하거나 수명이 짧은 클라이언트 세션을 유발할 수 있는 조건은 다음과 같습니다.
RADIUS 데이터베이스에 해당 항목이 없거나 부적절한 로그인 시도로 인해 RADIUS 또는 지름과 같은 외부 AAA 서버의 인증 거부.
네트워크 장애 또는 잘못된 구성으로 인해 라우터 또는 외부 인증 서버에 연결할 수 없습니다.
메모리 리소스가 부족하여 동적 가입자 인터페이스를 생성할 수 없습니다.
CPE와의 프로토콜 협상 실패.
로그인에 성공한 직후 클라이언트 로그아웃; 이 작업은 세션이 삭제되기 전에 완전히 협상되고 구성된 클라이언트 세션을 만듭니다.
DHCP 단기 주기 보호의 작동 방식
DHCP 단기 주기 보호는 기본적으로 라우터에서 비활성화되어 있습니다. 글로벌, 그룹 또는 인터페이스 수준에서 문을 포함하여 short-cycle-protection
활성화하면 라우터는 정적 및 동적 논리적 인터페이스의 DHCP 세션에 대해 다음을 수행합니다.
단기 클라이언트 세션( short-cycle events라고도 함)을 감지하고 다음 이벤트에 따라 클라이언트를 잠급니다.
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-entries
clear dhcp server lockout-entries
clear dhcpv6 relay lockout-entries
clear dhcpv6 server lockout-entries
잠금을 겪고 있는 클라이언트 세션이 구성된 FPC를 재설정합니다.
라우팅 엔진을 재설정합니다.
이러한 이벤트가 발생하면 jdhcpd는 잠금을 종료하고 영향을 받는 모든 클라이언트 세션에 대한 잠금 기록을 지웁니다. 릴리스된 클라이언트는 다시 협상할 수 있습니다. 보존된 기록이 없기 때문에 이러한 클라이언트 중 하나에 대해 후속 단기 주기 이벤트가 발생하는 경우 잠금 기간은 최소값부터 시작합니다.
동적 VLAN 또는 demux VLAN 논리적 인터페이스가 로 remove-when-no-subscribers
구성된 기본 물리적 인터페이스에서 제거되면, 영향을 받는 클라이언트의 잠금은 모든 타이머가 만료될 때까지 지속됩니다. 모든 타이머가 만료되기 전에 논리적 인터페이스가 재생성되면 잠금 상태가 재생성된 논리적 인터페이스에 적용됩니다.
DHCP 단기 주기 보호 사용의 이점
라우터의 과도한 컨트롤 플레인 로드와 외부 권한 서버의 인증, 권한 부여 및 프로비저닝 로드를 줄입니다.
DHCP 제어 패킷을 처리하고 수명이 짧은 연결을 협상 및 종료하는 데 필요한 리소스를 줄입니다.
세션이 성공적으로 완료되고 짧은 기간 동안 지속될 수 있도록 실패했거나 수명이 짧은 클라이언트 세션이 있는 클라이언트에 대한 후속 시도를 일시적으로 연기합니다.
RADIUS 및 지름과 같은 외부 인증 서버에서 이러한 연결을 인증하고 종료하는 데 필요한 리소스를 줄입니다.
동일한 인터페이스에서 다른 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