Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

DHCP 가입자를 위한 RADIUS CoA의 대안으로서의 RADIUS 재인증

RFC 5176, 원격 인증 다이얼 인 사용자 서비스(RADIUS)에 대한 동적 권한 부여 확장에 지정된 RADIUS CoA(Change of Authorization) 메시지는 클라이언트 서비스를 활성화 또는 비활성화하고 클라이언트를 로그아웃하지 않고 특정 클라이언트 세션 특성을 변경하여 가입자의 중단을 방지하는 데 사용됩니다. 일부 상황에서는 중단 없이 클라이언트 세션 서비스 및 특성을 변경하는 방법으로 가입자의 재인증을 사용하는 것이 바람직할 수 있습니다.

예를 들어, 다음 고객 배포 모드에서는 세션 수명 동안 속성을 변경해야 합니다.

  • 가정용 가입자 - 가정용 가입자는 온라인 서비스 선택 또는 공급자에게 직접 전화를 걸어 세션 수명 주기 동안 서비스 계획을 변경할 수 있습니다. 서비스 계획의 변경 내용은 DHCP 클라이언트 에이전트 원격 ID의 값을 변경하여 DHCP 로컬 서버로 전파됩니다. 에이전트 원격 ID는 DHCPv4 클라이언트의 경우 옵션 82, 하위 옵션 2, DHCPv6 클라이언트의 경우 옵션 37에서 전달됩니다.

    재인증이 구성되면 서비스 계획의 변경이 감지되어 재인증이 트리거됩니다. 새로운 서비스 계획 및 변경된 속성은 RADIUS 서버에 의해 반환되고 가입자를 위해 구현됩니다.

  • 비즈니스 가입자 - 비즈니스 가입자는 특정 세션 중에 속성(특히 프레임 경로)을 변경해야 하는 경우가 많습니다. 원하는 속성 변경은 서비스 계획의 변경에 의해 시작되지 않습니다.

    재인증이 구성된 경우 임대 갱신 협상은 재인증을 트리거합니다. 속성 또는 서비스의 모든 변경 사항은 RADIUS 서버의 Access-Accept 메시지에 제공되고 가입자를 위해 구현됩니다.

재인증 사용에 대한 두 가지 대안은 모두 재인증으로 가능한 것보다 더 많은 세션 특성을 변경할 수 있습니다. CoA는 가입자를 방해하지 않고 특성을 변경합니다. 가입자를 로그아웃했다가 다시 로그인하면 더 많은 세션 특성이 변경될 수 있지만 분명히 중단이 발생합니다.

재인증의 이점

  • CoA 요청을 사용하지 않고 가입자 세션 속성 및 서비스 계획을 업데이트하거나 수정합니다.

  • 빈번한 가입자 주도 변경으로 인한 서비스 활성화를 간소화합니다.

  • 이중 스택, 단일 세션 구성에서 체계별로 재인증을 가능하게 합니다.

  • CLI 구성 또는 RADIUS VSA를 통해 재인증을 제어합니다.

기능

재인증은 DHCPv4 및 DHCPv6 모두에 대해 지원됩니다. DHCP 로컬 서버가 DHCP 클라이언트로부터 갱신, 리바인드, 검색 또는 요청 메시지를 수신할 때 트리거될 수 있습니다. 검색 및 요청 메시지는 Junos OS 릴리스 18.1R1부터 재인증을 지원합니다. 검색 및 요청 메시지에 대한 지원은 바인딩된 클라이언트가 있는 CPE가 재부팅되고 클라이언트가 세션을 다시 가져오기 위해 이러한 메시지 중 하나를 보내는 경우 재인증이 가입자에 대한 모든 업데이트를 얻을 수 있도록 인증을 활성화한다는 것을 의미합니다.

재인증 동작은 다음과 같이 결정됩니다.

  • 문은 reauthenticate lease-renewal 지원되는 4개의 메시지 중 하나가 수신될 때 재인증이 트리거되도록 지정합니다.

  • 문은 reauthenticate remote-id-mismatch 수신된 메시지에 DHCP 클라이언트의 Agent Remote ID 값 변경이 포함된 경우에만 재인증이 트리거되도록 지정합니다. 속성 값에는 가입자 서비스 계획의 이름이 포함되므로 값의 변경은 구독자에 대한 서비스의 변경을 의미합니다.

  • 주니퍼 네트웍스 reauthentication-on-renew VSA(26-206)는 로그인 시 가입자에 대한 RADIUS 서버의 Access-Accept 메시지에서 값 1로 반환될 때 네 개의 메시지 중 하나를 수신하면 재인증을 트리거합니다. 값이 0이면 재인증이 비활성화됩니다. VSA 값은 수신될 때마다 세션 데이터베이스에 저장됩니다. 이 VSA가 재인증을 사용하도록 설정한 후에는 재인증이 시도될 때마다 확인됩니다. 값이 0으로 변경된 경우, 즉 후속 Access-Accept가 값이 0인 VSA를 반환한 경우 해당 가입자에 대한 재인증 프로세스가 중지됩니다.

    CLI 구성(reauthenticate 명령문) 및 Reauthenticate-On-Renew 동작은 부가적입니다. VSA를 통한 재인증 비활성화는 문이 구성되지 않은 경우에만 reauthenticate 적용됩니다. reauthenticate 문이 두 옵션 중 하나로 구성되면 VSA 값 0보다 우선합니다. CLI 구성이 없는 경우 VSA는 자체적으로 재인증을 사용하도록 설정할 수 있습니다.

재인증 프로세스는 원래 인증 프로세스와 거의 동일합니다. 재인증이 트리거되면 로컬 서버의 jdhcpd 프로세스가 인증 요청을 authd에 제출하고, authd는 다시 RADIUS 서버에 Access-Request 메시지를 제출하여 두 번째 인증을 요청합니다.

메모:

또는 none이외의 인증 순서 radius 에 대해 재인증 요청이 실패합니다. 인증 프로세스는 이러한 요청에 대해 부정 승인(NAK)을 반환합니다.

이 Access-Request에는 원래 Access-Accept 메시지에서 반환된 RADIUS 상태 및 클래스 속성이 포함됩니다. 이러한 속성을 통해 RADIUS 서버는 로그인(인증) 요청과 재인증 요청을 구별할 수 있습니다.

RADIUS 서버는 가입자에 대한 새 속성을 가진 Access-Accept 메시지를 인증된 사람에게 반환합니다. 인증 프로세스는 jdhcpd에 대한 변경 사항과 함께 승인(ACK)을 보내고, 이는 변경된 속성을 가진 DHCP 클라이언트에 DHCP 제안을 보냅니다. DHCP 협상은 그림 1과 같이 평소와 같이 계속되며 가입자 세션은 새로운 속성 값으로 계속됩니다. 재인증에 서비스 계획의 변경이 포함된 경우 RADIUS 서버는 그림 2와 같이 요청을 수락하면 다른 변경된 속성과 함께 새 계획을 반환합니다. 서비스 계획을 변경하는 동안 DHCP 클라이언트를 호스팅하는 CPE가 재부팅되는 경우 서비스 중단 없이 새 계획으로 재인증할 수 있습니다.

RADIUS 서버가 재인증 요청을 거부하거나 시간이 초과되면 authd는 포함된 오류 코드를 검토하는 jdhcpd에 NAK를 보냅니다. 오류 코드가 시간 초과를 나타내는 경우 jdhcpd는 DHCP 클라이언트에 ACK를 전송하고 가입자 세션은 원래 속성 및 서비스로 유지됩니다. 다른 오류 코드의 경우, jdhcpd는 DHCPv4 NAK 또는 DHCPv6 REPLY(수명 값이 0으로 설정됨)를 논리적 NAK로 전송하고, 가입자 로그아웃을 시작하고, 세션 데이터베이스에서 가입자를 삭제합니다.

표 1 은 동일한 가입자에 대해 다른 요청 유형이 이미 진행 중일 때 인증이 요청을 처리하는 방법을 설명합니다.

표 1: 여러 요청 유형 처리

요청 진행 중

동일한 가입자에 대해 받은 추가 요청

행동

재인증

CoA

인증은 NAK로 CoA에 응답합니다.

CoA

재인증

authd는 CoA가 처리될 때까지 재인증 요청을 대기열에 넣은 다음 재인증 요청을 처리합니다.

재인증

분리하다

authd는 NAK로 연결 끊김에 응답합니다.

분리하다

재인증

authd는 NAK로 재인증 요청에 응답하고 가입자 로그아웃을 계속합니다.

모범 사례:

네트워크 패밀리는 재인증의 일환으로 종료되거나 재시작되지 않기 때문에 가입자 보안 정책 미러링과 관련하여 가입자 컨텐츠가 재평가되지 않습니다. 재인증 처리 중에 변경될 수 있는 속성을 미러링하는 가입자 보안 정책의 트리거로 사용하지 마십시오.

클라이언트가 바인딩된 후 재인증으로 인해 DHCPv6 가입자의 IP 또는 IPv6 주소가 변경되면 DHCPv6 서버는 주소 변경 요청을 평가합니다. 서버는 응답 PDU의 IA(Identity Association)에서 클라이언트에 상태 코드를 반환합니다. Junos OS 릴리스 18.4R1부터 DHCPv6 서버가 주소 문제를 발견하면 이전에 지원되는 NoAddrsAvail 및 NoPrefixAvail 코드 외에도 NotOnLink의 상태 코드가 지원됩니다. 이러한 상태 코드는 다음과 같이 정의됩니다.

  • NoAddrsAvail (2) - 서버가 클라이언트 요청에서 IA에 대한 주소를 할당할 수 없습니다. 주소 및 NoAddrsAvail이 없는 IA를 반환합니다.

  • NotOnLink (4) - 서버는 클라이언트 요청의 IA에 있는 하나 이상의 주소에 대한 접두사가 클라이언트에 연결하는 링크에 적합하지 않다고 판단합니다. 이 코드는 재인증 실패(RADIUS 액세스 거부)의 경우에도 사용됩니다.

  • NoPrefixAvail (6) - 서버에 클라이언트 요청의 IA에 사용할 수 있는 접두사가 없습니다.

클라이언트가 NotOnLink 상태 코드를 수신하면 주소 없이 다른 요청을 보내거나 협상 프로세스를 다시 시작할 수 있습니다. 요청을 보내면 DHCPv6 로컬 서버는 요청을 무시하고 새로운 재협상이 시작될 것으로 예상합니다.

듀얼 스택 가입자

Junos OS 릴리스 18.1R1 이전 릴리스에서는 듀얼 스택 DHCP 가입자가 독립적인 클라이언트 세션으로 취급됩니다. 각 스택은 독립적으로 새 서비스를 갱신하고 가져옵니다.

Junos OS 릴리스 18.1R1부터 듀얼 스택, 단일 세션 가입자에 대해 제품군별 인증 및 재인증이 지원됩니다. 듀얼 스택, 단일 세션 가입자는 일반적으로 1:1 액세스 모델에서 자체 VLAN을 갖춘 가구입니다. 가구는 세션 데이터베이스에서 단일 세션이 있는 단일 가입자로 표시되지만 각 제품군에 대해 하나씩 DHCPv4 및 DHCPv6라는 두 개의 개별 DHCP 바인딩이 있습니다. 결과적으로 authd는 세션의 각 패밀리가 로그인하거나 재인증을 시도할 때 별도의 Access-Request를 보냅니다.

  • 가족별 인증은 가입자 세션이 DHCP init 상태에 있는 동안 검색 또는 요청 메시지가 수신될 때 발생합니다.

  • 패밀리별 재인증은 재인증 및 요청 시 주소 할당이 모두 구성되고 DHCP 바인딩 상태에 있는 동안 패밀리 세션에 대한 갱신, 리바인딩, 검색 또는 요청 메시지가 수신될 때 발생합니다.

메모:

온디맨드 주소 할당은 로그인할 때 각 제품군에 대해 주소가 별도로 할당되도록 합니다. 듀얼 스택, 단일 세션 가입자 또는 제품군별 인증에 대해 온디맨드 주소 할당을 구성해야 하며 재인증은 활성화할 수 없습니다. 재인증의 경우, CLI에서 구성되었는지 또는 Reauthenticate-On-Renew VSA(26-206)로 구성되었는지 여부에 관계없이 적용됩니다.

인증 및 재인증은 모두 체계별로 처리됩니다. 프로세스를 트리거하는 첫 번째 패밀리는 다른(두 번째) 패밀리가 인증 또는 재인증을 트리거하기 전에 처리됩니다. 두 번째 패밀리의 메시지는 첫 번째 패밀리가 바인드될 때까지 무시됩니다. 그런 다음 두 번째 패밀리 요청이 처리됩니다.

이중 스택 단일 세션 제품군 중 하나만 로그인하면 하나의 인증만 처리됩니다. 재인증은 하나의 클라이언트 제품군에 대해서만 처리됩니다.

인증 프로세스는 속성을 DHCPv4 또는 DHCPv6 패밀리에 속하는 것으로 분류하고 그에 따라 태그를 지정합니다. 인증 및 재인증의 경우, 요청을 시작하는 패밀리에 따라 인증에는 DHCP-Options VSA(26-55) 또는 DHCPv6-Options VSA(26-65)가 포함됩니다. RADIUS 서버는 구성에 따라 요청을 시작한 체계( 요청 체계) 또는 두 체계 모두에 대한 정보를 반환할 수 있습니다.

authd가 Access-Accept 메시지에서 속성을 수신하면 패밀리 태그는 인증이 요청 패밀리 또는 다른(비요청) 패밀리에 해당하는 속성을 결정할 수 있도록 합니다. 요청하는 패밀리의 속성만 세션 데이터베이스에 기록됩니다.

재인증 요청의 경우, authd는 반환된 속성을 세션 데이터베이스와 비교하여 RADIUS 서버에 변경이 있었는지 여부를 확인합니다. 다시 말하지만, 요청 패밀리에 해당하는 변경 내용만 세션 데이터베이스에 기록되어 이전 값을 덮어씁니다.

재인증 중 변경 사항은 다음과 같이 처리됩니다.

  • 속성(주소 이외) - 인증에서 요청 패밀리에 대해 이러한 속성 중 하나 이상이 변경되었다고 판단하면 세션 데이터베이스에 새 값을 저장합니다. 인증이 jdhcpd에 알린 후 새 속성 값을 가진 ACK를 DHCP 클라이언트로 보냅니다.

  • 주소 또는 주소 풀—인증이 요청 패밀리에 대한 변경을 감지하면 DHCP 로컬 서버에 알리고, DHCP 로컬 서버는 DHCP 클라이언트에 NAK(DHCPv4) 또는 논리적 NAK(DHCPv6)를 전송합니다.

    요청하는 패밀리가 바인딩된 유일한 패밀리인 경우, jdhcpd는 가입자를 graceful 로그아웃합니다. 비요청 패밀리도 바인드된 경우 jdhcpd는 요청 패밀리를 비활성화하지만 비요청 패밀리 바인딩은 그대로 두고 비요청 패밀리에 대한 서비스를 중단하지 않습니다. 요청 패밀리의 비활성화는 비요청 패밀리의 후속 재인증 트리거에 영향을 주지 않습니다.

    비활성화된 패밀리가 이후에 다시 로그인하기 위해 검색 또는 요청 메시지를 보내면 평소와 같이 재인증을 위해 Access-Request가 전송되고 Access-Accept에서 수신된 새 주소가 가입자에게 적용됩니다.

RADIUS 서버가 Access-Reject 메시지로 인증 또는 재인증 요청에 응답하는 경우, 인증은 DHCP 로컬 서버에 알리고 DHCP 로컬 서버는 NAK(DHCPv4) 또는 논리적 NAK(DHCPv6)를 DHCP 클라이언트로 보냅니다. 요청하는 패밀리는 우아하게 종료됩니다. 패밀리가 비활성화되고 가입자가 로그아웃됩니다. 그런 다음 요청하지 않는 패밀리가 비활성화되고 로그아웃되지만 클라이언트에는 종료에 대한 알림이 표시되지 않습니다.

비요청 패밀리에서 활동성 감지가 실행되면, 클라이언트는 패밀리가 종료될 때 연결 끊김을 감지한 후 DHCP 로컬 서버에 검색 또는 요청 메시지를 보냅니다. 그러나 활동성 감지가 실행되고 있지 않은 경우 클라이언트는 리바인딩 시간(T2, 옵션 59)이 만료되고 서비스가 손실될 때까지 연결 손실을 감지하지 않습니다. 임대 기간에 따라 시간이 오래 걸릴 수 있습니다.

모범 사례:

두 주소 체계에 대해 활성화 감지를 구성하여 연결 손실을 감지하는 시간을 줄입니다. 활동성 감지 구성에 대한 자세한 내용은 DHCP 활동성 감지 개요를 참조하십시오.

패킷 플로우

다음 그림은 DHCP 클라이언트, DHCP 서버 및 RADIUS 서버 간의 가입자 세션의 초기 협상 시퀀스를 설명합니다. 클라이언트의 서비스 계획은 DHCPv4 옵션 82, 서브옵션 2 또는 DHCPv6 옵션 37에 포함된 원격 ID의 두 번째 하위 문자열에 지정됩니다.

초기 협상

그림 1 은 DHCP 클라이언트, DHCP 서버 및 RADIUS 서버 간의 초기 협상 단계 시퀀스를 보여줍니다. 그림에서 사용되는 용어는 다음과 같습니다.

CPE—고객 사내 장비(DHCP 클라이언트 또는 가입자로 기능).

OLT—옵티컬 라인 터미네이터(예: DSL 액세스 멀티플렉서(DSLAM) 또는 기타 어그리게이션 디바이스입니다.

MX 시리즈 디바이스 - DHCP 서버로 작동합니다.

그림 1: 초기 협상 Initial Negotiation

서비스 플랜 변경

그림 2 는 100Mbps 계획에서 1Gbps 계획으로 서비스 계획을 변경하는 일련의 단계를 보여줍니다.

그림 2: 서비스 계획 Service Plan

재인증에 지원되는 RADIUS 속성

표 2 에는 RADIUS Access-Accept 메시지로 수신될 때 재인증 중에 처리할 수 있는 RADIUS 표준 속성 및 VSA가 나열되어 있으며, 인증이 속성 변경을 처리하는 방법이 설명되어 있습니다. 속성 처리는 CoA 요청 처리와 일치합니다. 재인증 가입자 세션의 특성은 Access-Accept 메시지에 새 값 또는 새 속성이 수신된 경우에만 변경됩니다.

표 2: 재인증이 지원하는 RADIUS 속성

속성 번호

속성 이름

처리 결과

8

프레임 IP 주소

새 값이 가입자 세션 데이터베이스에 저장됩니다. 이전 데이터를 덮어씁니다.

22

프레임 경로

새 값이 가입자 세션 데이터베이스에 저장됩니다. 이전 데이터가 추가됩니다.

24

상태

새 값이 가입자 세션 데이터베이스에 저장됩니다. 이전 데이터를 덮어씁니다.

25

수업

새 값이 가입자 세션 데이터베이스에 저장됩니다. 이전 데이터를 덮어씁니다.

26-4

기본 DNS

새 값이 가입자 세션 데이터베이스에 저장됩니다. 이전 데이터를 덮어씁니다.

26-5

보조 DNS

새 값이 가입자 세션 데이터베이스에 저장됩니다. 이전 데이터를 덮어씁니다.

26-6

기본 WINS

새 값이 가입자 세션 데이터베이스에 저장됩니다. 이전 데이터를 덮어씁니다.

26-7

보조 WINS

새 값이 가입자 세션 데이터베이스에 저장됩니다. 이전 데이터를 덮어씁니다.

26-55

DHCP 옵션

가입자의 DHCP 구성에 대한 변경 사항을 처리하기 위해 값이 DHCP 로컬 서버로 전송됩니다.

26-65

서비스 활성화

인증 프로세스는 VSA의 서비스 목록을 해당 가입자 세션에 대해 이미 활성화된 서비스와 비교합니다.

  • VSA의 목록에 아직 활성화되지 않은 서비스가 포함된 경우 인증은 가입자에 대해 해당 서비스를 활성화합니다.

  • 가입자 세션에 대해 이미 활성화된 서비스가 VSA에 나열되지 않은 경우 authd는 해당 서비스를 비활성화합니다.

예를 들어, 서비스 A와 B가 세션에서 활성 상태이지만 VSA에 서비스 B와 C만 포함되어 있고 서비스 A가 VSA 목록에 없어 비활성화되어 있다고 가정해 보겠습니다. 서비스 C는 목록에 있지만 현재 활성화되지 않았으므로 인증은 C를 활성화합니다. 서비스 B는 이미 활성 상태이며 목록에 있으므로 활성 상태로 유지됩니다.

26-161

IPv6 위임 풀 이름

새 값이 가입자 세션 데이터베이스에 저장됩니다. 이전 데이터를 덮어씁니다.

26-206

갱신 시 재인증

값이 1(활성화)이면, authd는 가입자 세션 데이터베이스에 값을 추가합니다(아직 존재하지 않는 경우).

값이 0(비활성화)이고 데이터베이스에 1 값이 이미 있는 경우 authd는 데이터베이스 값을 0으로 설정합니다.

메시지의 값이 누락되었거나 유효하지 않고 데이터베이스에 값이 이미 있는 경우 authd는 데이터베이스에서 값을 삭제합니다.

26-207

DHCPv6 옵션

가입자의 DHCP 구성에 대한 변경 사항을 처리하기 위해 값이 DHCPv6 로컬 서버로 전송됩니다.

88

프레임 풀

새 값이 가입자 세션 데이터베이스에 저장됩니다. 이전 데이터를 덮어씁니다.

97

framed-IPv6-prefix

새 값이 가입자 세션 데이터베이스에 저장됩니다. 이전 데이터를 덮어씁니다.

100

framed-IPv6-풀

새 값이 가입자 세션 데이터베이스에 저장됩니다. 이전 데이터를 덮어씁니다.

123

위임된 IPv6 접두사

새 값이 가입자 세션 데이터베이스에 저장됩니다. 이전 데이터를 덮어씁니다.

168

프레임 IPv6 주소

새 값이 가입자 세션 데이터베이스에 저장됩니다. 이전 데이터를 덮어씁니다.

변경 내역 표

기능 지원은 사용 중인 플랫폼과 릴리스에 따라 결정됩니다. 기능 탐색기 를 사용하여 플랫폼에서 기능이 지원되는지 확인하세요.

석방
묘사
18.4R1 시리즈
Junos OS 릴리스 18.4R1부터 DHCPv6 서버가 주소 문제를 발견하면 이전에 지원되는 NoAddrsAvail 및 NoPrefixAvail 코드 외에도 NotOnLink의 상태 코드가 지원됩니다.
18.1R1 시리즈
검색 및 요청 메시지는 Junos OS 릴리스 18.1R1부터 재인증을 지원합니다.