인증 서비스 - RADIUS Attribute Types

이러한 상수는 radius_put_addr(), radius_put_attr(), radius_put_int()radius_put_string()과 함께 사용할 수 있는 RADIUS 속성 유형을 정의합니다.

RADIUS_USER_NAME (int)
User-Name 속성입니다. 속성 값은 인증되는 사용자의 이름을 포함하는 문자열이어야 하며, radius_put_attr()을 사용하여 설정할 수 있습니다.
RADIUS_USER_PASSWORD (int)
사용자 암호 속성입니다. 속성 값은 사용자의 비밀번호가 포함된 문자열이어야 하며, radius_put_attr()을 사용하여 설정할 수 있습니다. 이 값은 » section 5.2 of RFC 2865에 설명된 대로 전송 시 난독화됩니다.
RADIUS_CHAP_PASSWORD (int)
Chap-Password 속성입니다. 속성 값은 CHAP 식별자를 포함하는 첫 번째 바이트와 함께 연결된 CHAP 식별자의 MD5 해시, 일반 텍스트 암호 및 CHAP 챌린지 값을 포함하는 후속 16바이트가 있는 문자열이어야 합니다. CHAP 챌린지 값도 RADIUS_CHAP_CHALLENGE 속성에서 별도로 보내야 합니다.

예 #1 CHAP 암호 사용

                      
<?php
// Firstly, we'll create an authentication handle and request.
$radh = radius_auth_open();
radius_add_server($radh, $server, $port, $secret, 3, 3);
radius_create_request($radh, RADIUS_ACCESS_REQUEST);

// Assuming $password contains the plaintext password, we now:

// Generate a challenge.
$challenge = mt_rand();

// Specify a CHAP identifier.
$ident = 1;

// Add the Chap-Password attribute.
$cp = md5(pack('Ca*', $ident, $password.$challenge), true);
radius_put_attr($radh, RADIUS_CHAP_PASSWORD, pack('C', $ident).$cp);

// Add the Chap-Challenge attribute.
radius_put_attr($radh, RADIUS_CHAP_CHALLENGE, $challenge);

/* From here, you would add the remaining attributes and
 * call radius_send_request(). */
?>
                      
                    
RADIUS_NAS_IP_ADDRESS (int)
NAS-IP-주소 속성. 속성 값은 int로 인코딩된 RADIUS 클라이언트의 IP 주소로 예상되며 이는 radius_put_addr()을 사용하여 설정할 수 있습니다.
RADIUS_NAS_PORT (int)
NAS 포트 속성. 속성 값은 RADIUS 클라이언트에서 int로 인코딩된 사용자의 물리적 포트로 예상되며, 이는 radius_put_int()를 사용하여 설정할 수 있습니다.
RADIUS_SERVICE_TYPE (int)
서비스 유형 속성입니다. 속성 값은 사용자가 요청하는 서비스 유형을 나타내며, 이는 radius_put_int()를 사용하여 설정할 수 있는 int여야 합니다.

이 속성의 가능한 값을 나타내기 위해 여러 상수가 제공됩니다. 여기에는 다음이 포함됩니다.

  • RADIUS_LOGIN
  • RADIUS_FRAMED
  • RADIUS_CALLBACK_LOGIN
  • RADIUS_CALLBACK_FRAMED
  • RADIUS_OUTBOUND
  • RADIUS_ADMINISTRATIVE
  • RADIUS_NAS_PROMPT
  • RADIUS_AUTHENTICATE_ONLY
  • RADIUS_CALLBACK_NAS_PROMPT
RADIUS_FRAMED_PROTOCOL (int)
프레임 프로토콜 속성입니다. 속성 값은 프레임 액세스에 사용할 프레이밍을 나타내는 int여야 하며, radius_put_int()를 사용하여 설정할 수 있습니다. 가능한 속성 값에는 다음 상수가 포함됩니다.
  • RADIUS_PPP
  • RADIUS_SLIP
  • RADIUS_ARAP
  • RADIUS_GANDALF
  • RADIUS_XYLOGICS
RADIUS_FRAMED_IP_ADDRESS (int)
Framed-IP-Address 속성. 속성 값은 int로 인코딩된 사용자 네트워크의 주소일 것으로 예상되며, 이는 radius_put_addr()을 사용하여 설정하고 radius_cvt_addr()을 사용하여 검색할 수 있습니다.
RADIUS_FRAMED_IP_NETMASK (int)
Framed-IP-Netmask 속성입니다. 속성 값은 int로 인코딩된 사용자 네트워크의 넷마스크일 것으로 예상되며, 이는 radius_put_addr()을 사용하여 설정하고 radius_cvt_addr()을 사용하여 검색할 수 있습니다.
RADIUS_FRAMED_ROUTING (int)
Framed-Routing 속성입니다. 속성 값은 사용자의 라우팅 방법을 나타내는 int여야 하며, 이는 radius_put_int()를 사용하여 설정할 수 있습니다.

가능한 값은 다음과 같습니다.

  • 0: 라우팅 없음
  • 1: 라우팅 패킷 보내기
  • 2: 라우팅 패킷 수신
  • 3: 보내고 듣기
RADIUS_FILTER_ID (int)
필터-ID 속성입니다. 속성 값은 radius_put_attr()을 사용하여 설정할 수 있는 구현별, 사람이 읽을 수 있는 필터 문자열로 예상됩니다.
RADIUS_FRAMED_MTU (int)
Framed-MTU 속성입니다. 속성 값은 사용자에 대해 구성할 MTU를 나타내는 int여야 하며, radius_put_int()를 사용하여 설정할 수 있습니다.
RADIUS_FRAMED_COMPRESSION (int)
Framed-Compression 속성. 속성 값은 사용할 압축 프로토콜을 나타내는 int로 예상되며, radius_put_int()를 사용하여 설정할 수 있습니다. 가능한 값에는 다음 상수가 포함됩니다.
  • RADIUS_COMP_NONE: No compression
  • RADIUS_COMP_VJ: VJ TCP/IP header compression
  • RADIUS_COMP_IPXHDR: IPX header compression
  • RADIUS_COMP_STAC_LZS: Stac-LZS compression (added in PECL radius 1.3.0b2)
RADIUS_LOGIN_IP_HOST (int)
로그인-IP-호스트 속성입니다. 속성 값은 사용자가 연결할 IP 주소로 예상되며, 이는 radius_put_addr()을 사용하여 설정할 수 있는 int로 인코딩됩니다.
RADIUS_LOGIN_SERVICE (int)
로그인 서비스 속성입니다. 속성 값은 로그인 호스트에서 사용자를 연결할 서비스를 나타내는 int입니다. 값은 radius_cvt_int()를 통해 PHP 정수로 변환할 수 있습니다.
RADIUS_LOGIN_TCP_PORT (int)
로그인-TCP-포트 속성입니다. 속성 값은 로그인 호스트에서 사용자를 연결할 포트를 나타내는 int입니다. 값은 radius_cvt_int()를 통해 PHP 정수로 변환할 수 있습니다.
RADIUS_REPLY_MESSAGE (int)
회신 메시지 속성. 속성 값은 액세스 요청에 대한 응답으로 사용자에게 표시될 수 있는 텍스트를 포함하는 문자열입니다.
RADIUS_CALLBACK_NUMBER (int)
콜백 번호 속성입니다. 속성 값은 콜백에 사용할 다이얼링 문자열을 포함하는 문자열입니다.
RADIUS_CALLBACK_ID (int)
콜백 ID 속성입니다. 속성 값은 호출할 장소의 구현별 이름을 포함하는 문자열입니다.
RADIUS_FRAMED_ROUTE (int)
Framed-Route 속성. 속성 값은 사용자에 대해 구성할 구현별 경로 집합을 포함하는 문자열입니다.
RADIUS_FRAMED_IPX_NETWORK (int)
Framed-IPX-Network 속성. 속성 값은 사용자에 대해 구성할 IPX 네트워크를 포함하는 int이거나 RADIUS 클라이언트가 네트워크를 선택해야 함을 나타내는 0xFFFFFFFE이며, radius_cvt_int()를 통해 액세스할 수 있습니다.
RADIUS_STATE (int)
상태 속성입니다. 속성 값은 후속 Access-Request에 포함되어야 하는 서버의 Access-Challenge에 포함된 구현 정의 문자열이며, radius_put_attr()을 사용하여 설정할 수 있습니다.
RADIUS_CLASS (int)
클래스 속성입니다. 속성 값은 Access-Accept 메시지에 포함된 임의의 문자열로 Accounting-Request 메시지로 계정 서버로 전송되어야 하며, radius_put_attr()을 사용하여 설정할 수 있습니다.
RADIUS_VENDOR_SPECIFIC (int)
공급업체별 속성입니다. 일반적으로 공급업체 속성 값은 직접 설정하지 않고 radius_put_vendor_addr(), radius_put_vendor_attr(), radius_put_vendor_int()radius_put_vendor_string()을 사용하여 설정해야 합니다.

이 상수는 RADIUS 서버의 응답에서 공급업체별 속성을 해석할 때 주로 유용합니다. 벤더 고유의 속성이 수신되면, 벤더 ID, 속성 유형 및 속성 값에 액세스하기 위해 radius_get_vendor_attr() 함수를 사용해야 합니다.

RADIUS_SESSION_TIMEOUT (int)
세션 타임 아웃
RADIUS_IDLE_TIMEOUT (int)
Idle timeout
RADIUS_TERMINATION_ACTION (int)
종료 조치
RADIUS_CALLED_STATION_ID (int)
호출된 스테이션 ID
RADIUS_CALLING_STATION_ID (int)
호출된 스테이션 ID
RADIUS_NAS_IDENTIFIER (int)
NAS ID
RADIUS_PROXY_STATE (int)
Proxy State
RADIUS_LOGIN_LAT_SERVICE (int)
Login LAT Service
RADIUS_LOGIN_LAT_NODE (int)
Login LAT Node
RADIUS_LOGIN_LAT_GROUP (int)
Login LAT Group
Framed Appletalk Link
RADIUS_FRAMED_APPLETALK_NETWORK (int)
Framed Appletalk Network
RADIUS_FRAMED_APPLETALK_ZONE (int)
Framed Appletalk Zone
RADIUS_CHAP_CHALLENGE (int)
Challenge
RADIUS_NAS_PORT_TYPE (int)

NAS port type, one of:

  • RADIUS_ASYNC
  • RADIUS_SYNC
  • RADIUS_ISDN_SYNC
  • RADIUS_ISDN_ASYNC_V120
  • RADIUS_ISDN_ASYNC_V110
  • RADIUS_VIRTUAL
  • RADIUS_PIAFS
  • RADIUS_HDLC_CLEAR_CHANNEL
  • RADIUS_X_25
  • RADIUS_X_75
  • RADIUS_G_3_FAX
  • RADIUS_SDSL
  • RADIUS_ADSL_CAP
  • RADIUS_ADSL_DMT
  • RADIUS_IDSL
  • RADIUS_ETHERNET
  • RADIUS_XDSL
  • RADIUS_CABLE
  • RADIUS_WIRELESS_OTHER
  • RADIUS_WIRELESS_IEEE_802_11
RADIUS_PORT_LIMIT (int)
Port Limit
RADIUS_LOGIN_LAT_PORT (int)
Login LAT Port
RADIUS_CONNECT_INFO (int)
Connect info
RADIUS_ACCT_STATUS_TYPE (int)

Accounting status type, one of:

  • RADIUS_START
  • RADIUS_STOP
  • RADIUS_ACCOUNTING_ON
  • RADIUS_ACCOUNTING_OFF
RADIUS_ACCT_DELAY_TIME (int)
Accounting delay time
RADIUS_ACCT_INPUT_OCTETS (int)
Accounting input bytes
RADIUS_ACCT_OUTPUT_OCTETS (int)
Accounting output bytes
RADIUS_ACCT_SESSION_ID (int)
Accounting session ID
RADIUS_ACCT_AUTHENTIC (int)

Accounting authentic, one of:

  • RADIUS_AUTH_RADIUS
  • RADIUS_AUTH_LOCAL
  • RADIUS_AUTH_REMOTE
RADIUS_ACCT_SESSION_TIME (int)
Accounting session time
RADIUS_ACCT_INPUT_PACKETS (int)
Accounting input packets
RADIUS_ACCT_OUTPUT_PACKETS (int)
Accounting output packets
RADIUS_ACCT_TERMINATE_CAUSE (int)

Accounting terminate cause, one of:

  • 기본 Unix 기술("make" 및 C 컴파일러 작동 가능)
  • RADIUS_TERM_USER_REQUEST
  • RADIUS_TERM_LOST_CARRIER
  • RADIUS_TERM_LOST_SERVICE
  • RADIUS_TERM_IDLE_TIMEOUT
  • RADIUS_TERM_SESSION_TIMEOUT
  • RADIUS_TERM_ADMIN_RESET
  • RADIUS_TERM_ADMIN_REBOOT
  • RADIUS_TERM_PORT_ERROR
  • RADIUS_TERM_NAS_ERROR
  • RADIUS_TERM_NAS_REQUEST
  • RADIUS_TERM_NAS_REBOOT
  • RADIUS_TERM_PORT_UNNEEDED
  • RADIUS_TERM_PORT_PREEMPTED
  • RADIUS_TERM_PORT_SUSPENDED
  • RADIUS_TERM_SERVICE_UNAVAILABLE
  • RADIUS_TERM_CALLBACK
  • RADIUS_TERM_USER_ERROR
  • RADIUS_TERM_HOST_REQUEST
RADIUS_ACCT_MULTI_SESSION_ID (int)
Accounting multi session ID
Accounting link count