CXXVI. Radius
Introduction
Ce paquetage est basé sur la libradius de FreeBSD. Ce PECL ajoute un support complet pour l'identification Radius (RFC 2865) et les comptes Radius (RFC 2866). Ce paquetage est disponible pour Unix (testé sous FreeBSD et Linux) et pour Windows.
Installation
Comment installer le paquetage ?
Décompresser le paquetage (habituellement dans php4/ext)
Renommer radius-x.x en radius
Exécuter ./buildconf dans php4
Exécuter ./configure --enable-radius
make; make install
Décompresser le paquetage
Exécuter phpize dans le dossier radius-x.x
Exécuter ./configure dans le dossier radius-x.x
make; make install
Pour Windows, je vous recommande d'utiliser la bibliothèque php_radius.dll depuis http://snaps.php.net/. Vous pouvez télécharger cette extension PECL séparée sur les différentes pages de publication PECL (sélectionnez le bon entrepôt en fonction de votre version de PHP) : PECL pour PHP 4.3.x, PECL pour PHP 5.0.x or PECL instable.
Constantes pré-définies
Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.
- RADIUS_ACCESS_REQUEST ()
Demande d'identification
- RADIUS_ACCESS_ACCEPT ()
Accès accepté
- RADIUS_ACCESS_REJECT ()
Accès rejeté
- RADIUS_ACCOUNTING_REQUEST ()
Demande de compte
- RADIUS_ACCOUNTING_RESPONSE ()
Réponse du compte
- RADIUS_ACCESS_CHALLENGE ()
Défi d'accès
- RADIUS_USER_NAME (string)
Nom d'utilisateur
- RADIUS_USER_PASSWORD (string)
Mot de passe
- RADIUS_CHAP_PASSWORD (string)
Chap Password: chappass = md5(ident + plaintextpass + challenge)
- RADIUS_NAS_IP_ADDRESS (string)
Adresse IP NAS
- RADIUS_NAS_PORT (int)
Port NAS
- RADIUS_SERVICE_TYPE (int)
Type de service :
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)
Protocole encadré :
RADIUS_PPP RADIUS_SLIP RADIUS_ARAP RADIUS_GANDALF RADIUS_XYLOGICS - RADIUS_FRAMED_IP_ADDRESS (string)
Adresse IP
- RADIUS_FRAMED_IP_NETMASK (string)
Netmasque
- RADIUS_FRAMED_ROUTING (int)
Routing
- RADIUS_FILTER_ID (string)
Filter ID
- RADIUS_FRAMED_MTU (int)
MTU
- RADIUS_FRAMED_COMPRESSION (int)
Compression :
RADIUS_COMP_NONE RADIUS_COMP_VJ RADIUS_COMP_IPXHDR - RADIUS_LOGIN_IP_HOST (string)
Login IP Host
- RADIUS_LOGIN_SERVICE (int)
Login Service
- RADIUS_LOGIN_TCP_PORT (int)
Login TCP Port
- RADIUS_REPLY_MESSAGE (string)
Message de réponse
- RADIUS_CALLBACK_NUMBER (string)
Numéro de Callback
- RADIUS_CALLBACK_ID (string)
ID de Callback
- RADIUS_FRAMED_ROUTE (string)
Framed Route
- RADIUS_FRAMED_IPX_NETWORK (string)
Framed IPX Network
- RADIUS_STATE (string)
Statut
- RADIUS_CLASS (int)
Classe
- RADIUS_VENDOR_SPECIFIC (int)
Attribut spécifique au vendeur
- RADIUS_SESSION_TIMEOUT (int)
Timeout de la session
- RADIUS_IDLE_TIMEOUT (int)
Idle timeout
- RADIUS_TERMINATION_ACTION (int)
Termination action
- RADIUS_CALLED_STATION_ID (int)
Called Station Id
- RADIUS_CALLING_STATION_ID (string)
Calling Station 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
- RADIUS_FRAMED_APPLETALK_LINK (int)
Framed Appletalk Link
- RADIUS_FRAMED_APPLETALK_NETWORK (int)
Framed Appletalk Network
- RADIUS_FRAMED_APPLETALK_ZONE (int)
Framed Appletalk Zone
- RADIUS_CHAP_CHALLENGE (string)
Challenge
- RADIUS_NAS_PORT_TYPE (int)
Type du port NAS :
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 (string)
Connect info
- RADIUS_ACCT_STATUS_TYPE (int)
Type de statut du compte :
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:
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 (string)
Accounting multi session ID
- RADIUS_ACCT_LINK_COUNT (int)
Accounting link count
- RADIUS_VENDOR_MICROSOFT (int)
Microsoft specific vendor attributes (RFC 2548), one of:
RADIUS_MICROSOFT_MS_CHAP_RESPONSE RADIUS_MICROSOFT_MS_CHAP_ERROR RADIUS_MICROSOFT_MS_CHAP_PW_1 RADIUS_MICROSOFT_MS_CHAP_PW_2 RADIUS_MICROSOFT_MS_CHAP_LM_ENC_PW RADIUS_MICROSOFT_MS_CHAP_NT_ENC_PW RADIUS_MICROSOFT_MS_MPPE_ENCRYPTION_POLICY RADIUS_MICROSOFT_MS_MPPE_ENCRYPTION_TYPES RADIUS_MICROSOFT_MS_RAS_VENDOR RADIUS_MICROSOFT_MS_CHAP_DOMAIN RADIUS_MICROSOFT_MS_CHAP_CHALLENGE RADIUS_MICROSOFT_MS_CHAP_MPPE_KEYS RADIUS_MICROSOFT_MS_BAP_USAGE RADIUS_MICROSOFT_MS_LINK_UTILIZATION_THRESHOLD RADIUS_MICROSOFT_MS_LINK_DROP_TIME_LIMIT RADIUS_MICROSOFT_MS_MPPE_SEND_KEY RADIUS_MICROSOFT_MS_MPPE_RECV_KEY RADIUS_MICROSOFT_MS_RAS_VERSION RADIUS_MICROSOFT_MS_OLD_ARAP_PASSWORD RADIUS_MICROSOFT_MS_NEW_ARAP_PASSWORD RADIUS_MICROSOFT_MS_ARAP_PASSWORD_CHANGE_REASON RADIUS_MICROSOFT_MS_FILTER RADIUS_MICROSOFT_MS_ACCT_AUTH_TYPE RADIUS_MICROSOFT_MS_ACCT_EAP_TYPE RADIUS_MICROSOFT_MS_CHAP2_RESPONSE RADIUS_MICROSOFT_MS_CHAP2_SUCCESS RADIUS_MICROSOFT_MS_CHAP2_PW RADIUS_MICROSOFT_MS_PRIMARY_DNS_SERVER RADIUS_MICROSOFT_MS_SECONDARY_DNS_SERVER RADIUS_MICROSOFT_MS_PRIMARY_NBNS_SERVER RADIUS_MICROSOFT_MS_SECONDARY_NBNS_SERVER RADIUS_MICROSOFT_MS_ARAP_CHALLENGE
Démarrage rapide
Comment commencer ?
Récupérer une ressource Radius
Configurer la bibliothèque
Créer une demande
Ajouter des attributs
Envoyer la demande
Recever les attributs
Fermer la ressource Radius (optionnel)
Ce paquetage contient un script PHP d'exemple. Ce script montre comment s'identifier avec Radius en utilisant PAP ou CHAP (md5). Si vous voulez vous identifier avec un serveur Microsoft Radius, alors il n'est pas possible d'utiliser CHAP (md5). Si vous voulez vous identifier avec un serveur Microsoft Radius, vous devez utiliser MS-CHAPv1 ou MS-CHAPv2 mais c'est plus compliqué, parce que vous avez besoin de md4, sha1 et DES pour générer de bonnes données. L'exemple fourni montre toutes les méthodes d'identification, incluant MS-CHAPv1 et MS-CHAPv2. Pour faire fonctionner MS-CHAP, vous aurez besoin des extensions mcrypt et mhash, et depuis la version 1.2 de ce paquetage, l'extension mcrypt n'est plus nécessaire.
Contact
Si vous avez des commentaires, des corrections de bogues, des améliorations ou si vous voulez aider dans le développement, vous pouvez envoyer un email à mbretter@php.net. Les binaires Windows peuvent être téléchargés ici.
- Table des matières
- radius_acct_open -- Crée une ressource Radius pour les comptes
- radius_add_server -- Ajoute un serveur
- radius_auth_open -- Crée une ressource Radius pour l'identification
- radius_close -- Libère toutes les ressurces
- radius_config -- Demande à la bibliothèque de lire un fichier de configuration donné
- radius_create_request -- Crée une demande de compte ou d'identification
- radius_cvt_addr -- Convertit des données brutes en adresse IP
- radius_cvt_int -- Convertit des données brutes en entier
- radius_cvt_string -- Convertit des données brutes en chaîne de caractères
- radius_demangle_mppe_key -- Dérive les clés mppe depuis des données
- radius_demangle -- Assèche des données
- radius_get_attr -- Extrait un attribut
- radius_get_vendor_attr -- Extrait un attribut spécifique au vendeur
- radius_put_addr -- Attache une adresse IP en tant qu'attribut
- radius_put_attr -- Attache un attribut binaire
- radius_put_int -- Attache un attribut entier
- radius_put_string -- Attache un attribut chaîne de caractères
- radius_put_vendor_addr -- Attache un attribut IP-Address spécifique à un vendeur
- radius_put_vendor_attr -- Attache un attribut binaire à un vendeur spécifique
- radius_put_vendor_int -- Attache un attribut entier à un vendeur spécifique
- radius_put_vendor_string -- Attache un attribut sous la forme d'une chaîne à un vendeur spécifique
- radius_request_authenticator -- Retourne l'identificateur demandé
- radius_send_request -- Envoie la demande et attente une réponse
- radius_server_secret -- Retourne le secret partagé
- radius_strerror -- Retourne un message d'erreur
Outils (masquer)
S'enregistrer
Liste des Membres
Qui est en ligne?
FAQ