Introducción
Este documento describe los resultados esperados de la configuración de las APN L2TP corporativas con la autenticación imsi-auth o autenticación msisdn-auth.
Problema: Las opciones de configuración de APN msisdn-auth e imsi-auth tienen un resultado específico (no obvio) para las APN basadas en L2TP
La documentación oficial (para la versión 19) dice:
imsi-auth - Configura el APN para intentar autenticar al suscriptor en función de su número de identificación de suscriptor móvil internacional (IMSI).
msisdn-auth - Configura el APN para intentar autenticar al suscriptor en función de su número de red digital de servicios integrados (MSISDN) de estación móvil según lo descrito en la sección Uso de este comando.
Ejemplo de configuración:
apn ecs-apn
ims-auth-service IMSA
dns primary 192.168.1.128
dns secondary 192.168.1.129
ip access-group CSS_ACL in
ip access-group CSS_ACL out
authentication imsi-auth username-strip-apn prefer-chap-pco <<<<<<<<<<<<<<<<<<<<<<<<<<<
ip context-name Gi
tunnel l2tp peer-address 2.2.2.2 encrypted secret +A3oxne9nnyqmuz16dddqucwcqz92p2hi4t8z21nx3hmmpcgvh4ida preference 1 <<<<<<<<<<<<<<<<<<<<<<<<<<<
tunnel l2tp peer-address 3.3.3.3 encrypted secret +A2dbz9joxajmv80jxmr5aycl1ka2s6nzmu7s2bte3nnz4o2hgkqxn preference 2 <<<<<<<<<<<<<<<<<<<<<<<<<<<
loadbalance-tunnel-peers prioritized <<<<<<<<<<<<<<<<<<<<<<<<<<<
exit
lac-service LAC-SVC <<<<<<<<<<<<<<<<<<<<<<<<<<<
max-retransmission 1
retransmission-timeout-max 1
load-balancing prioritized
allow aaa-assigned-hostname
keepalive-interval 30
peer-lns 2.2.2.2 encrypted secret +A2q4fv7h5tum1a06vc2wblk9l7k3ma98myremkew1552c2vosy2h1
peer-lns 3.3.3.3 encrypted secret +A16gnydsddbqqx3okh7ln6jrwxz3s3u3lzvzo5bz0ccc0ztr0cvsh
bind address 1.1.1.1
#exit
Un comportamiento esperado es que, si una de las opciones anteriores se configura para un APN basado en L2TP, el nodo de soporte GPRS de la puerta de enlace/
La puerta de enlace de red de datos de paquetes (PDN) (GGSN/PGW) utiliza IMSI o MSISDN para la autenticación PPP con el servidor de red L2TP (LNS).
La opción funciona como se espera en caso de que el equipo del usuario (UE) no proporcione ningún nombre de usuario.
ii
Friday April 07 2017
INBOUND>>>>> 09:57:08:270 Eventid:141004(3)
[PGW-S5/S2a/S2b]GTPv2C Rx PDU, from 213.151.233.172:35664 to 213.151.233.230:2123 (271)
TEID: 0x00000000, Message type: EGTP_CREATE_SESSION_REQUEST (0x20)
Sequence Number: 0x317962 (3242338)
GTP HEADER
Version number: 2
TEID flag: Present
Piggybacking flag: Not present
Message Length: 0x010B (267)
INFORMATION ELEMENTS
IMSI:
Type: 1 Length: 8 Inst: 0
Value: 231014450903030
Hex: 0100 0800 3201 4154 9030 30F0
MSISDN:
Type: 76 Length: 6 Inst: 0
Value: 421917667546
Hex: 4C00 0600 2491 7166 5764
MOBILE EQUIPMENT IDENTITY:
Type: 75 Length: 8 Inst: 0
Value: 3594050557927001
Hex: 4B00 0800 5349 5050 7529 0710
[…]
ACCESS POINT NAME:
Type: 71 Length: 38 Inst: 0
Value: ltpipsec.corp.test.mnc001.mcc231.gprs
Hex: 4700 2600 086C 7470 6970 7365 6304 636F
7270 0474 6573 7406 6D6E 6330 3031 066D
6363 3233 3104 6770 7273
SELECTION MODE:
Type: 128 Length: 1 Inst: 0
Value: MS provided APN,subscr not verified (0x01)
Hex: 8000 0100 01
PDN TYPE:
Type: 99 Length: 1 Inst: 0
Value: IPV4
Hex: 6300 0100 01
[…]
PCO:
Type: 78 Length: 32 Inst: 0
Container id: 0xC023 (PAP)
Container length: 0x06 (6)
Container content:
Auth-Req(0), Name=, Passwd=
Container id: 0x8021 (IPCP)
Container length: 0x10 (16)
Container content:
Conf-Req(0), Pri-DNS=0.0.0.0, Sec-DNS=0.0.0.0
Container id: 0x000D (IPv4-DNS-Server)
Container length: 0x00 (0)
Container content:
DNS Address: Request for IPv4 DNS Address allocation
Hex: 4E00 2000 80C0 2306 0100 0006 0000 8021
1001 0000 1081 0600 0000 0083 0600 0000
0000 0D00
[…]
Friday April 07 2017
<<<<OUTBOUND 09:57:08:295 Eventid:25001(0)
PPP Tx PDU (20)
PAP 20: Auth-Req(1), Name=421917667546, Passwd= <-- username is replaced with MSISDN as the APN is configured with “msisdn-auth”
La opción no funciona si hay un nombre de usuario proporcionado por la UE. En este caso, GGSN/PGW envía el nombre de usuario y la contraseña configurados dentro del APN.
Si no hay nada configurado allí
Friday April 07 2017
INBOUND>>>>> 09:47:51:254 Eventid:141004(3)
[PGW-S5/S2a/S2b]GTPv2C Rx PDU, from 213.151.233.172:35824 to 213.151.233.230:2123 (279)
TEID: 0x00000000, Message type: EGTP_CREATE_SESSION_REQUEST (0x20)
Sequence Number: 0x5C4D6C (6049132)
GTP HEADER
Version number: 2
TEID flag: Present
Piggybacking flag: Not present
Message Length: 0x0113 (275)
INFORMATION ELEMENTS
IMSI:
Type: 1 Length: 8 Inst: 0
Value: 231014450903030
Hex: 0100 0800 3201 4154 9030 30F0
MSISDN:
Type: 76 Length: 6 Inst: 0
Value: 421917667546
Hex: 4C00 0600 2491 7166 5764
MOBILE EQUIPMENT IDENTITY:
Type: 75 Length: 8 Inst: 0
Value: 3594050557927001
Hex: 4B00 0800 5349 5050 7529 0710
[..]
PCO:
Type: 78 Length: 40 Inst: 0
Container id: 0xC023 (PAP)
Container length: 0x0E (14)
Container content:
Auth-Req(0), Name=null, Passwd=null
Container id: 0x8021 (IPCP)
Container length: 0x10 (16)
Container content:
Conf-Req(0), Pri-DNS=0.0.0.0, Sec-DNS=0.0.0.0
Container id: 0x000D (IPv4-DNS-Server)
Container length: 0x00 (0)
Container content:
DNS Address: Request for IPv4 DNS Address allocation
Hex: 4E00 2800 80C0 230E 0100 000E 046E 756C
6C04 6E75 6C6C 8021 1001 0000 1081 0600
0000 0083 0600 0000 0000 0D00
[…]
Friday April 07 2017
<<<<OUTBOUND 09:47:51:334 Eventid:25001(0)
PPP Tx PDU (16)
PAP 16: Auth-Req(1), Name=null, Passwd=null <-- username is the same as in the APN
Solución
Se espera un comportamiento observado según el diseño.
La configuración authentication imsi-auth username-stripn prefer-chap-pco (o authentication msisdn-auth username-stripn prefer-chap-pco) se utiliza cuando no se ingresa un nombre de usuario de Opciones de configuración de protocolo (PCO).
Este es el orden de precedencia para la configuración de construcción del Identificador de acceso a la red (NAI):
- Si el nombre de usuario saliente <1-128 char string> se configura dentro del APN, esto reemplaza todas las demás configuraciones/IEs y se envía en PAP/CHAP req.
- Si la UE envía el nombre de usuario/contraseña PCO que se envía desde la UE, se envía a LNS en la solicitud del protocolo de autenticación por desafío mutuo (PAP/CHAP) del Protocolo de autenticación por contraseña.
- Si no se envía ningún nombre de usuario desde la UE, entonces msisdn/imsi@APN se envía de forma predeterminada como nombre de usuario en PAP/CHAP req.
- Además, esta CLI - authentication msisdn/imsi-auth username-stripn se puede utilizar para quitar el APN y enviar solamente el msisdn/imsi en la solicitud PAP/CHAP.
Tenga en cuenta que, en caso de que Radius realice la autenticación (localmente), el IMSI (o MSISDN) se envía en mensajes de solicitud de acceso como se espera.
Además, en el escenario de L2TP, si la autenticación es realizada por RADIUS (en el lado de LAC), el nombre de usuario esperado (IMSI o MSISDN) se ve en los mensajes de solicitud de acceso, pero no en el Req de autenticación hacia LNS.