Réauthentification RADIUS comme alternative à RADIUS CoA pour les abonnés DHCP
Les messages de changement d’autorisation (CoA) RADIUS, spécifiés dans la RFC 5176, Extensions d’autorisation dynamiques vers le service utilisateur d’authentification à distance (RADIUS), sont utilisés pour activer ou désactiver les services client et pour modifier certaines caractéristiques de session client sans déconnecter le client, évitant ainsi toute interruption pour l’abonné. Dans certains cas, il peut être préférable d’utiliser la réauthentification de l’abonné comme méthode pour modifier les services et les caractéristiques de session client sans interruption.
Par exemple, les modes de déploiement client suivants nécessitent tous deux des modifications d’attributs au cours de la vie d’une session.
-
Abonnés résidentiels : les abonnés résidentiels peuvent changer de plan de service tout au long d’une session en sélectionnant le service en ligne ou en appelant directement le fournisseur. La modification du plan de service est propagée au serveur local DHCP en modifiant la valeur de l’ID distant de l’agent du client DHCP. L’ID distant de l’agent est transmis dans l’option 82, sous-option 2, pour les clients DHCPv4 et dans l’option 37 pour les clients DHCPv6.
Lorsqu’une réauthentification est configurée, le changement de plan de service est détecté, déclenchant une nouvelle authentification ; Le nouveau plan de service et tous les attributs modifiés sont renvoyés par le serveur RADIUS et implémentés pour l’abonné.
-
Abonnés professionnels : les abonnés professionnels ont souvent besoin de modifications d’attributs (en particulier les itinéraires tramés) au cours d’une session donnée. La modification souhaitée des attributs n’est pas initiée par une modification des plans de service.
Lorsque la réauthentification est configurée, la négociation du renouvellement du bail déclenche la réauthentification. Toute modification des attributs ou des services est fournie dans le message d’accès-acceptation du serveur RADIUS et implémentée pour l’abonné.
Deux alternatives à la réauthentification peuvent toutes deux modifier beaucoup plus de caractéristiques de session que ce qui est possible avec la réauthentification. Les requêtes CoA changent de caractéristiques sans perturber l’abonné. Déconnecter puis réconnecter l’abonné peut modifier de nombreuses autres caractéristiques de session, mais cela perturbe évidemment la session.
Avantages de la réauthentification
-
Mettez à jour ou modifiez les attributs de session et les plans de service des abonnés sans utiliser de demande CoA.
-
Simplifiez l’activation des services résultant de changements fréquents initiés par les abonnés.
-
Activez la réauthentification par famille dans des configurations à double pile et à session unique.
-
Contrôlez la réauthentification via une configuration CLI ou un VSA RADIUS.
Fonctionnalité
La réauthentification est prise en charge pour DHCPv4 et DHCPv6. Il peut être déclenché lorsque le serveur local DHCP reçoit un message de renouvellement, de liaison, de découverte ou de sollicitation d’un client DHCP. Les messages de découverte et de sollicitation prennent en charge la réauthentification à partir de la version 18.1R1 de Junos OS. La prise en charge des messages discover et solicit signifie que si un CPE avec un client lié redémarre et que le client envoie l’un de ces messages pour rétablir la session, la réauthentification permet à authd d’obtenir toutes les mises à jour qui ont été effectuées pour l’abonné.
Le comportement de réauthentification est déterminé comme suit :
-
L’instruction
reauthenticate lease-renewalspécifie que la réauthentification est déclenchée lorsque l’un des quatre messages pris en charge est reçu. -
L’instruction
reauthenticate remote-id-mismatchspécifie que la réauthentification n’est déclenchée que lorsque le message reçu inclut une modification de la valeur de l’ID distant de l’agent du client DHCP. La valeur d’attribut inclut le nom du plan de service d’abonné, de sorte qu’une modification de valeur signifie un changement de service pour l’abonné. -
Le VSA de Juniper Networks
reauthentication-on-renew(26-206), lorsqu’il est renvoyé avec une valeur de 1 dans le message Access-Accept du serveur RADIUS pour l’abonné lors de la connexion, déclenche une nouvelle authentification à la réception de l’un des quatre messages. La valeur 0 désactive la réauthentification. La valeur VSA est stockée dans la base de données de la session chaque fois qu’elle est reçue. Une fois que ce VSA a activé la réauthentification, il est vérifié à chaque nouvelle tentative d’authentification. Si la valeur est passée à 0, c’est-à-dire si un Access-Accept ultérieur a renvoyé le VSA avec une valeur de 0, le processus de réauthentification s’arrête pour cet abonné.La configuration de la CLI (
reauthenticateinstruction) et le comportement de réauthentification lors du renouvellement sont additifs. La désactivation de la réauthentification auprès du VSA n’a d’effet que lorsque l’instruction n’estreauthenticatepas configurée. Lorsque l’instruction est configurée avec l’unereauthenticateou l’autre option, elle remplace une valeur VSA de 0. En l’absence de configuration CLI, la VSA peut activer la réauthentification par elle-même.
Le processus de réauthentification est presque identique au processus d’authentification d’origine. Lorsque la réauthentification est déclenchée, le processus jdhcpd sur le serveur local envoie une demande d’authentification à authd, qui à son tour envoie un message de demande d’accès au serveur RADIUS pour demander une deuxième authentification.
La demande de réauthentification échoue pour tout ordre d’authentification autre que radius ou none. Le processus authd renvoie un accusé de réception négatif (NAK) pour une telle demande.
Cette demande d’accès inclut les attributs d’état et de classe RADIUS qui ont été renvoyés dans le message d’accès-acceptation d’origine. Ces attributs permettent au serveur RADIUS de distinguer la demande de réauthentification des demandes de connexion (authentification).
Le serveur RADIUS renvoie un message d’accès-acceptation à authd avec de nouveaux attributs pour l’abonné. Le processus authd envoie un accusé de réception (ACK) avec les modifications à jdhcpd, qui envoie une offre DHCP au client DHCP avec les attributs modifiés. La négociation DHCP se poursuit comme d’habitude, comme illustré à la figure 1, et la session d’abonné se poursuit avec les nouvelles valeurs d’attribut. Lorsque la réauthentification inclut un changement de plan de service, le serveur RADIUS renvoie le nouveau plan avec tout autre attribut modifié, s’il accepte la demande, comme indiqué dans la Figure 2. Si le CPE hébergeant le client DHCP redémarre pendant le processus de modification d’un plan de service, la réauthentification avec le nouveau plan est prise en charge sans interruption de service.
Si le serveur RADIUS rejette une demande de réauthentification ou expire, authd envoie un NAK à jdhcpd, qui examine le code d’erreur inclus. Si le code d’erreur indique un délai d’expiration, jdhcpd envoie un accusé de réception au client DHCP et la session de l’abonné est maintenue avec les attributs et le service d’origine. Pour tout autre code d’erreur, jdhcpd envoie un NAK DHCPv4 ou DHCPv6 REPLY (avec la valeur à vie définie sur 0) en tant que NAK logique, initie la déconnexion de l’abonné et supprime l’abonné de la base de données de session.
Le Tableau 1 décrit comment authd traite les requêtes lorsqu’un type de requête différent est déjà en cours pour le même abonné.
| Demande en cours |
Demande supplémentaire reçue pour le même abonné |
Mesures à prendre |
|---|---|---|
| Réauthentification |
CoA |
authd répond au CoA par un NAK. |
| CoA |
Réauthentification |
authd met la demande de réauthentification en file d’attente jusqu’à ce que le CoA soit traité, puis traite la demande de réauthentification. |
| Réauthentification |
Déconnecter |
authd répond à la déconnexion par un NAK. |
| Déconnecter |
Réauthentification |
authd répond à la demande de réauthentification avec un NAK et continue de déconnecter l’abonné. |
Étant donné que la famille de réseaux ne se termine pas ou ne se redémarre pas dans le cadre de la réauthentification, le contenu de l’abonné n’est pas réévalué en ce qui concerne la mise en miroir des stratégies sécurisées de l’abonné. N’utilisez pas comme déclencheur pour la mise en miroir de stratégie sécurisée d’abonné tout attribut qui peut changer pendant le processus de réauthentification.
Lorsque la réauthentification entraîne une modification de l’adresse IP ou IPv6 d’un abonné DHCPv6 après la liaison d’un client, le serveur DHCPv6 évalue la demande de changement d’adresse. Le serveur renvoie un code d’état au client dans l’association d’identité (IA) de la PDU de réponse. À partir de la version 18.4R1 de Junos OS, lorsque le serveur DHCPv6 détecte un problème avec l’adresse, un code d’état pour NotOnLink est pris en charge en plus des codes précédemment pris en charge pour NoAddrsAvail et NoPrefixAvail. Ces codes d’état sont définis comme suit :
-
NoAddrsAvail (2) : le serveur ne peut attribuer aucune adresse à l’IA dans la demande client. Il renvoie l’IA sans adresse et NoAddrsAvail.
-
NotOnLink (4) : le serveur détermine que le préfixe d’une ou plusieurs adresses dans un IA dans la demande client n’est pas approprié pour le lien se connectant au client. Ce code est également utilisé en cas d’échec de réauthentification (accès RADIUS-rejet).
-
NoPrefixAvail (6) : aucun préfixe n’est disponible sur le serveur pour l’IA dans la requête client.
Si le client reçoit le code d’état NotOnLink, il peut envoyer une autre demande sans adresse ou redémarrer le processus de négociation. S’il envoie une requête, le sérer local DHCPv6 ignore la requête, s’attendant à ce qu’une nouvelle renégociation commence.
Abonnés à double pile
Dans les versions antérieures à Junos OS version 18.1R1, les abonnés DHCP à double pile sont traités comme des sessions client indépendantes. Chaque pile se renouvelle et obtient de nouveaux services de manière indépendante.
À partir de Junos OS version 18.1R1, l’authentification par famille et la réauthentification sont prises en charge pour les abonnés à double pile et à session unique. Un abonné à double pile et à session unique est généralement un ménage disposant de son propre VLAN dans un modèle d’accès 1:1. Le ménage est représenté comme un seul abonné avec une seule session dans la base de données des sessions, mais il possède deux liaisons DHCP distinctes, une pour chaque famille, DHCPv4 et DHCPv6. Par conséquent, authd envoie des demandes d’accès distinctes lorsque chaque famille de la session se connecte ou tente de se réauthentifier :
-
L’authentification par famille se produit lorsqu’un message de découverte ou de sollicitation est reçu alors qu’une session d’abonné est à l’état d’initialisation DHCP.
-
La réauthentification par famille se produit lorsque la réauthentification et l’attribution d’adresses à la demande sont toutes deux configurées et qu’un message de renouvellement, de reliure, de découverte ou de sollicitation est reçu pour la session famille alors qu’elle est à l’état lié DHCP.
L’attribution d’adresses à la demande entraîne l’attribution d’une adresse séparément pour chaque famille lors de la connexion. L’attribution d’adresses à la demande doit être configurée pour les abonnés à double pile et à session unique ou pour l’authentification par famille et la réauthentification ne peut pas être activée. Pour la réauthentification, cela est vrai qu’elle soit configurée dans la CLI ou avec le VSA Reauthenticate-On-Renew (26-206).
L’authentification et la réauthentification sont traitées par famille. La première famille à déclencher le processus est traitée avant que l’autre (deuxième) famille ne déclenche l’authentification ou la réauthentification. Les messages de la deuxième famille sont ignorés jusqu’à ce que la première famille soit liée. Ensuite, la deuxième demande familiale est traitée.
Si une seule famille de sessions à double pile unique se connecte, une seule authentification est traitée. Les réauthentifications ne sont traitées que pour une seule famille de clients.
Le processus authd classe les attributs comme appartenant à la famille DHCPv4 ou DHCPv6 et les balise en conséquence. Pour l’authentification et la réauthentification, selon la famille à l’origine de la demande, authd inclut soit DHCP-Options VSA (26-55), soit DHCPv6-Options VSA (26-65). Selon sa configuration, le serveur RADIUS peut renvoyer des informations uniquement pour la famille à l’origine de la demande (la famille requérante) ou pour les deux.
Lorsque authd reçoit des attributs dans le message Access-Accept, les balises de famille permettent à authd de déterminer quels attributs correspondent à la famille requérante ou à l’autre famille (non requérante). Seuls les attributs de la famille requérante sont écrits dans la base de données de session.
Pour les demandes de réauthentification, authd compare les attributs renvoyés à la base de données de session pour déterminer si des modifications ont été apportées sur le serveur RADIUS. Encore une fois, seules les modifications correspondant à la famille requérante sont écrites dans la base de données de session, écrasant les anciennes valeurs.
Les modifications apportées lors de la réauthentification sont traitées comme suit :
-
Attribut (autre que l’adresse) : lorsque authd détermine qu’un ou plusieurs de ces attributs ont été modifiés pour la famille requérante, il stocke les nouvelles valeurs dans la base de données de session. Une fois qu’authd a notifié jdhcpd, il envoie un accusé de réception au client DHCP avec les nouvelles valeurs d’attribut.
-
Adresse ou pool d’adresses : lorsque authd détecte un changement pour la famille requérante, il en informe le serveur local DHCP, qui à son tour envoie un NAK (DHCPv4) ou un NAK logique (DHCPv6) au client DHCP.
Si la famille requérante est la seule famille liée, jdhcpd déconnecte gracieusement l’abonné. Si la famille non requérante est également liée, jdhcpd désactive la famille requérante, mais laisse intacte l’obligation familiale non requérante, sans interruption du service à la famille non requérante. La désactivation de la famille requérante n’a aucun effet sur le déclenchement ultérieur de la réauthentification par la famille non requérante.
Lorsque la famille désactivée envoie par la suite un message de découverte ou de sollicitation pour se reconnecter, une demande d’accès est envoyée pour une nouvelle authentification comme d’habitude, et la nouvelle adresse reçue dans l’accès-acceptation est appliquée à l’abonné.
Si le serveur RADIUS répond à une demande d’authentification ou de réauthentification par un message Access-Reject, authd en informe le serveur local DHCP, qui à son tour envoie un NAK (DHCPv4) ou un NAK logique (DHCPv6) au client DHCP. La famille requérante est résiliée gracieusement ; La famille est désactivée et l’abonné est déconnecté. Ensuite, la famille non requérante est désactivée et déconnectée, mais le client n’est pas informé de la résiliation.
Si la détection d’activité est en cours d’exécution sur la famille non requérante, le client détecte la perte de connexion lorsque la famille est terminée, puis envoie un message de découverte ou de sollicitation au serveur local DHCP. Toutefois, si la détection d’activité n’est pas en cours d’exécution, le client ne détecte pas la perte de connexion tant que le temps de reliaison (T2, option 59) n’expire pas et que le service n’est pas perdu. Selon la durée du bail, cela peut prendre beaucoup de temps.
Configurez la détection de l’activité pour les deux familles d’adresses afin de réduire le temps de détection de la perte de connexion. Voir Présentation de la détection de l’activité DHCP pour plus d’informations sur la configuration de la détection de l’activité.
Flux de paquets
La figure suivante décrit la séquence de négociation initiale d’une session d’abonné entre un client DHCP, un serveur DHCP et le serveur RADIUS. Le plan de service du client est spécifié dans la deuxième sous-chaîne de l’ID distant contenu dans DHCPv4 option 82, sous-option 2 ou DHCPv6 option 37.
Négociation initiale
La figure 1 illustre la séquence des étapes de la négociation initiale entre un client DHCP, un serveur DHCP et le serveur RADIUS. Les termes suivants sont utilisés dans la figure :
CPE : équipement local du client (fonctionne comme le client DHCP ou l’abonné).
OLT : terminateur de ligne optique, par exemple, un multiplexeur d’accès DSL (DSLAM) ou un autre périphérique d’agrégation.
L’équipement MX Series : fonctionne comme le serveur DHCP.
initiale
Modification du plan de service
La figure 2 illustre la séquence des étapes d’un changement de plan de service, d’un plan de 100 Mbit/s à un plan de 1 Gbit/s.
de service
Attributs RADIUS pris en charge pour la réauthentification
Le Tableau 2 répertorie les attributs standard et les VSA RADIUS qui peuvent être traités lors de la réauthentification lorsqu’ils sont reçus dans le message RADIUS Access-Accept, et décrit comment l’authd gère les modifications d’attributs. Le traitement des attributs est cohérent avec le traitement des demandes CoA. Les caractéristiques de la session d’abonné de réauthentification ne changent que si de nouvelles valeurs ou de nouveaux attributs sont reçus dans le message Accès-Acceptation.
| Numéro d’attribut |
Nom de l’attribut |
Résultat du traitement |
|---|---|---|
| 8 |
Adresse IP tramée |
Une nouvelle valeur est stockée dans la base de données de session de l’abonné ; les anciennes données sont écrasées. |
| 22 |
Framed-Route |
Une nouvelle valeur est stockée dans la base de données de session de l’abonné ; les anciennes données sont annexées. |
| 24 |
État |
Une nouvelle valeur est stockée dans la base de données de session de l’abonné ; les anciennes données sont écrasées. |
| 25 |
Classe |
Une nouvelle valeur est stockée dans la base de données de session de l’abonné ; les anciennes données sont écrasées. |
| 26-4 |
DNS primaire |
Une nouvelle valeur est stockée dans la base de données de session de l’abonné ; les anciennes données sont écrasées. |
| 26-5 |
DNS secondaire |
Une nouvelle valeur est stockée dans la base de données de session de l’abonné ; les anciennes données sont écrasées. |
| 26-6 |
VICTOIRES PRIMAIRES |
Une nouvelle valeur est stockée dans la base de données de session de l’abonné ; les anciennes données sont écrasées. |
| 26-7 |
VICTOIRES SECONDAIRES |
Une nouvelle valeur est stockée dans la base de données de session de l’abonné ; les anciennes données sont écrasées. |
| 26-55 |
Options DHCP |
La valeur est envoyée au serveur DHCP local pour le traitement des modifications apportées à la configuration DHCP de l’abonné. |
| 26-65 |
Service d’activation |
Le processus authd compare la liste des services dans le VSA aux services déjà actifs pour cette session d’abonné.
Par exemple, supposons que les services A et B sont actifs sur la session, mais que VSA inclut uniquement les services B et C. Le service A ne figure pas dans la liste VSA et est désactivé. Le service C est sur la liste mais n’est pas actif actuellement, donc authd active C. Le service B est à la fois déjà actif et sur la liste, il reste donc actif. |
| 26-161 |
nom-de-pool-délégué IPv6 |
Une nouvelle valeur est stockée dans la base de données de session de l’abonné ; les anciennes données sont écrasées. |
| 26-206 |
Réauthentification lors du renouvellement |
Si la valeur est 1 (activer), authd ajoute la valeur à la base de données de session de l’abonné si elle n’est pas déjà présente. Si la valeur est 0 (désactiver) et qu’une valeur de 1 est déjà présente dans la base de données, authd définit la valeur de la base de données sur 0. Si la valeur du message est manquante ou invalide et qu’une valeur est déjà présente dans la base de données, authd supprime la valeur de la base de données. |
| 26-207 |
Options DHCPv6 |
La valeur est envoyée au serveur local DHCPv6 pour le traitement des modifications apportées à la configuration DHCP de l’abonné. |
| 88 |
Framed-Pool |
Une nouvelle valeur est stockée dans la base de données de session de l’abonné ; les anciennes données sont écrasées. |
| 97 |
Framed-IPv6-Prefix |
Une nouvelle valeur est stockée dans la base de données de session de l’abonné ; les anciennes données sont écrasées. |
| 100 |
Framed-IPv6-Pool |
Une nouvelle valeur est stockée dans la base de données de session de l’abonné ; les anciennes données sont écrasées. |
| 123 |
Préfixe IPv6 délégué |
Une nouvelle valeur est stockée dans la base de données de session de l’abonné ; les anciennes données sont écrasées. |
| 168 |
adresse IPv6 tramée |
Une nouvelle valeur est stockée dans la base de données de session de l’abonné ; les anciennes données sont écrasées. |
Tableau de l’historique des modifications
La prise en charge des fonctionnalités est déterminée par la plateforme et la version que vous utilisez. Utilisez l’explorateur de fonctionnalités pour déterminer si une fonctionnalité est prise en charge sur votre plateforme.