Contents

Introduction

Problema:

Dispositivos usados:

Comandos utilizados:

Verifique:

Via CLI 3850:

Via MSE GUI

Troubleshoot:

Debugs:

Cenário de falha:

Cenário de sucesso:

Discussões relacionadas da comunidade de suporte da Cisco

Introduction

O Network Mobility Services Protocol (NMSP) gerencia a comunicação entre o Mobility Services Engine (MSE) e o Wireless LAN Controller (WLC).

O NMSP é um protocolo bidirecional que pode ser executado em um transporte orientado a conexão ou sem conexão.Os switches sensíveis ao contexto podem usar o NMSP para se comunicar com um ou mais MSEs. O NMSP é baseado em um sistema bidirecional de solicitações e respostas entre o MSE e o controlador de acesso. Agora, vamos ver como habilitar essa comunicação entre MSE e WLC.

Aqui usamos 3850 (WLC baseada em IOS) e MSE para esta postagem.

Problema:

Problemas ao estabelecer o túnel NMSP entre 3850 e MSE.

Dispositivos usados:

MSE: MSE virtual 8.0.110 (MR1)

WLC: 3850 3.3.5SE

Infraestrutura principal (PI): 2.2.1

Como o NMSP funciona em SSL (Secure Socket Layer), você precisa configurar a credencial MSE em WLC. O MSE usa o endereço MAC e o hash de chave, portanto, o WLC deve estar ciente desses dois parâmetros. Você pode obter esses detalhes via MSE CLI como mostrado abaixo

[root@robin ~]# cmdshell

cmd> show server-auth-info

comando invocar: com.aes.server.cli.CmdGetServerAuthInfo

Marca alta da fila AesLog: 50000

Marca baixa da fila AesLog: 500

—

Informações de autenticação do servidor

—

Endereço MAC: 00:50:56:9c:34:89

Hash de chave SHA1: e0afbe2e2abeed5a2f9ffc75f059da6a1bf2bfa0

Hash de chave SHA2: 6ab919e20afc103d025aaf210c2a9dda151af9403ef52e80a35ae1ecb6d3c177

Tipo de certificado: SSC

Agora, configurando as configurações NMSP em uma plataforma de acesso convergido (5760/3850/3650).

Aqui usamos 3850 para este exemplo. Temos que configurar o endereço MAC MSE como nome de usuário e hash de chave como senha. Note: A versão em execução no meu 3850 é a criptografia 3.3.5 SE e SHA2 é usada no IOS-XE.

Comandos utilizados:

3850c(config)#username 0050569c3489 aaa attribute list NMSP

3850c(config)#aaa lista de atributos NMSP

3850c(config)#tipo de atributo senha 6ab919e20afc103d025aaf210c2a9dda151af9403ef52e80a35ae1ecb6d3c 177

3850c(config)#aaa authorization credential-download wcm_loc_serv_cert local

Em sua infraestrutura Prime, clique em: Serviços > Serviços de Mobilidade > Sincronizar Serviços

Selecione o 3850 e clique no botão "Alterar atribuição de MSE".

Em seguida, você precisa selecionar o MSE e os serviços apropriados que deseja sincronizar entre o WLC (3850) e o MSE.

Verifique:

Após a conclusão dos serviços de sincronização, você pode verificá-lo a partir da WLC, MSE ou IP GUI.

Via CLI 3850:

Via MSE GUI

Para MSE v8.0 ou posterior, acesse: (https://<MSE_IP>/mseui/ )

Troubleshoot:

Se o NMSP ainda estiver inativo:

1) Verifique o hash da chave e, se não corresponder, insira o hash manualmente conforme mostrado acima

2) A sincronização de horário do NTP deve estar lá entre o MSE e o WLC

Debugs:

Cenário de falha:

Falha na validação da chave hash:

3850c#set trace nmsp connection level debug

3850c#show trace messages nmsp

[03/06/15 22:28:10.762 UTC a27 10241] Nova conexão NMSP alocada 0

[03/06/15 22:28:10.762 UTC a28 10241] sslConexãoInicialização: SSL_new() conn ssl b3f8a8d0

[03/06/15 22:28:10.762 UTC a29 10241] sslConexãoInicialização: SSL_do_handshake para conn ssl b3f8a8d0, estado conn: Estado INIT, SSL: MANIPULAÇÃO

[03/06/15 22:28:10.762 UTC a2a 10241] Estado SSL = 0x6000; em que = 0x10; ret = 0x1

[03/06/15 22:28:10.762 UTC a2b 10241] ret_type_string=desconhecido

[03/06/15 22:28:10.762 UTC a2c 10241] ret_desc_string=desconhecido

[03/06/15 22:28:10.762 UTC a2d 10241] SSL_state_string=antes/aceitar inicialização

[03/06/15 22:28:10.762 UTC a2e 10241] Estado SSL = 0x6000; em que = 0x2001; ret = 0x1

[03/06/15 22:28:10.762 UTC a2f 10241] ret_type_string=desconhecido

[03/06/15 22:28:10.762 UTC a30 10241] ret_desc_string=desconhecido

[03/06/15 22:28:10.762 UTC a31 10241] SSL_state_string=antes/aceitar a inicialização

[03/06/15 22:28:10.762 UTC a32 10241] Estado SSL = 0x2111; em que = 0x2002; ret = 0xffffffff

[03/06/15 22:28:10.762 UTC a33 10241] ret_type_string=desconhecido

[03/06/15 22:28:10.762 UTC a34 10241] ret_desc_string=desconhecido

[03/06/15 22:28:10.762 UTC a35 10241] SSL_state_string=SSLv3 read client hello B

—Mais— ???????? ?????????[06/03/15 22:28:10.762 UTC a36 10241] — retorna WANT_READ para conn ssl b3f8a8d0

[03/06/15 22:28:10.762 UTC a37 10241] sslConnectionInit() êxito com o estado de conexão: Estado INIT, SSL: MANIPULAÇÃO

[03/06/15 22:28:10.768 UTC a38 10241] doSSLRecvLoop: O handshake não foi concluído para conn 0

[03/06/15 22:28:10.768 UTC a39 10241] sslConexãoInicialização: SSL_do_handshake para conn ssl b3f8a8d0, estado conn: Estado INIT, SSL: MANIPULAÇÃO

[03/06/15 22:28:10.768 UTC a3a 10241] Estado SSL = 0x2111; em que = 0x2001; ret = 0x1

[03/06/15 22:28:10.768 UTC a3b 10241] ret_type_string=desconhecido

[03/06/15 22:28:10.768 UTC a3c 10241] ret_desc_string=desconhecido

[03/06/15 22:28:10.768 UTC a3d 10241] SSL_state_string=SSLv3 read client hello B

[03/06/15 22:28:10.768 UTC a3e 10241] Estado SSL = 0x2130; em que = 0x2001; ret = 0x1

[03/06/15 22:28:10.768 UTC a3f 10241] ret_type_string=desconhecido

[03/06/15 22:28:10.768 UTC a40 10241] ret_desc_string=desconhecido

[03/06/15 22:28:10.768 UTC a41 10241] SSL_state_string=SSLv3 write server hello A

[03/06/15 22:28:10.768 UTC a42 10241] Estado SSL = 0x2140; em que = 0x2001; ret = 0x1

[03/06/15 22:28:10.768 UTC a43 10241] ret_type_string=desconhecido

[03/06/15 22:28:10.768 UTC a44 10241] ret_desc_string=desconhecido

[03/06/15 22:28:10.768 UTC a45 10241] SSL_state_string=SSLv3 write certificate A

—Mais— ???????? ??????????[06/03/15 22:28:10.768 UTC a46 10241] Estado SSL = 0x2160; em que = 0x2001; ret = 0x1

[03/06/15 22:28:10.768 UTC a47 10241] ret_type_string=desconhecido

[03/06/15 22:28:10.768 UTC a48 10241] ret_desc_string=desconhecido

[03/06/15 22:28:10.768 UTC a49 10241] SSL_state_string=SSLv3 write certificate request A

[03/06/15 22:28:10.768 UTC a4a 10241] Estado SSL = 0x2100; em que = 0x2001; ret = 0x1

[03/06/15 22:28:10.768 UTC a4b 10241] ret_type_string=desconhecido

[03/06/15 22:28:10.768 UTC a4c 10241] ret_desc_string=desconhecido

[03/06/15 22:28:10.768 UTC a4d 10241] SSL_state_string=SSLv3 flush data

[03/06/15 22:28:10.768 UTC a4e 10241] Estado SSL = 0x2180; em que = 0x2002; ret = 0xffffffff

[03/06/15 22:28:10.768 UTC a4f 10241] ret_type_string=desconhecido

[03/06/15 22:28:10.768 UTC a50 10241] ret_desc_string=desconhecido

[03/06/15 22:28:10.768 UTC a51 10241] SSL_state_string=SSLv3 read client certificate A

[03/06/15 22:28:10.768 UTC a52 10241] — retorna WANT_READ para conn ssl b3f8a8d0

[03/06/15 22:28:11.068 UTC a53 10241] doSSLRecvLoop: O handshake não foi concluído para conn 0

[03/06/15 22:28:11.068 UTC a54 10241] sslConnectionInit: SSL_do_handshake para conn ssl b3f8a8d0, estado conn: Estado INIT, SSL: MANIPULAÇÃO

[03/06/15 22:28:11.069 UTC a55 10241] Validação de certificado de peer Concluída para conn ssl b3f8a8d0, lista de autenticação de chamada.

—Mais— ???????? ??????????[06/03/15 22:28:11.070 UTC a56 10241] Falha na autenticação da lista de autorização para conn ssl b3f8a8d0

[03/06/15 22:28:12.070 UTC a57 10241] Ponto não validado em relação à AuthList

[03/06/15 22:28:12.070 UTC a58 10241] Estado SSL = 0x2182; em que = 0x4008; ret = 0x22e

[03/06/15 22:28:12.070 UTC a59 10241] ret_type_string=fatal

[06/03/15 22:28:12.070 UTC a5a 10241] ret_desc_string=certificado desconhecido

[03/06/15 22:28:12.070 UTC a5b 10241] SSL_state_string=SSLv3 read client certificate C

[03/06/15 22:28:12.070 UTC a5c 10241] Estado SSL = 0x2182; em que = 0x2002; ret = 0xffffffff

[03/06/15 22:28:12.070 UTC a5d 10241] ret_type_string=desconhecido

[03/06/15 22:28:12.070 UTC a5e 10241] ret_desc_string=desconhecido

[03/06/15 22:28:12.070 UTC a5f 10241] SSL_state_string=SSLv3 read client certificate C

[06/03/15 22:28:12.070 UTC a60 10241] — falha no handshake para conn ssl b3f8a8d0, erro ssl_err 1 = erro:140890B2:rotas SSL3_SSL GET_CLIENT_CERTIFICATE:nenhum certificado retornado

[06/03/15 22:28:12.070 UTC a61 10241] liberando Nmsp conn ssl b3f8a8d0, conn id 0

Cenário de sucesso:

[06/06/15 17:47:53.600 UTC 4f2 10205] Enviando NMSP_APP_MEAS_NOTIFY_MSG para o servidor 0

[06/06/15 17:56:34.305 UTC 4f3 10205] Nova conexão NMSP alocada 0

—Mais— ???????? ??????????[06/06/15 17:56:34.306 UTC 4f4 10205] sslConnectionInit: SSL_new() conn ssl 590a6048

[06/06/15 17:56:34.306 UTC 4f5 10205] sslConexãoInicialização: SSL_do_handshake para conn ssl 590a6048, estado conn: Estado INIT, SSL: MANIPULAÇÃO

[06/06/15 17:56:34.306 UTC 4f6 10205] Estado SSL = 0x6000; em que = 0x10; ret = 0x1

[06/06/15 17:56:34.306 UTC 4f7 10205] ret_type_string=desconhecido

[06/06/15 17:56:34.306 UTC 4f8 10205] ret_desc_string=desconhecido

[06/06/15 17:56:34.307 UTC 4f9 10205] SSL_state_string=antes/aceitar a inicialização

[06/06/15 17:56:34.307 UTC 4fa 10205] Estado SSL = 0x6000; em que = 0x2001; ret = 0x1

[06/06/15 17:56:34.307 UTC 4fb 10205] ret_type_string=desconhecido

[06/06/15 17:56:34.307 UTC 4fc 10205] ret_desc_string=desconhecido

[06/06/15 17:56:34.307 UTC 4fd 10205] SSL_state_string=antes/aceitar inicialização

[06/06/15 17:56:34.307 UTC 4fe 10205] Estado SSL = 0x2111; em que = 0x2002; ret = 0xffffffff

[06/06/15 17:56:34.307 UTC 4ff 10205] ret_type_string=desconhecido

[06/06/15 17:56:34.307 UTC 500 10205] ret_desc_string=desconhecido

[06/06/15 17:56:34.307 UTC 501 10205] SSL_state_string=SSLv3 read client hello B

[06/06/15 17:56:34.307 UTC 502 10205] — retorna WANT_READ para conn ssl 590a6048

[06/06/15 17:56:34.307 UTC 503 10205] sslConnectionInit() êxito com o estado de conexão: Estado INIT, SSL: MANIPULAÇÃO

—Mais— ???????? ??????????[06/06/15 17:56:34.309 UTC 504 10205] doSSLRecvLoop: O handshake não foi concluído para conn 0

[06/06/15 17:56:34.309 UTC 505 10205] sslConnectionInit: SSL_do_handshake para conn ssl 590a6048, estado conn: Estado INIT, SSL: MANIPULAÇÃO

[06/06/15 17:56:34.309 UTC 506 10205] Estado SSL = 0x2111; em que = 0x2001; ret = 0x1

[06/06/15 17:56:34.309 UTC 507 10205] ret_type_string=desconhecido

[06/06/15 17:56:34.309 UTC 508 10205] ret_desc_string=desconhecido

[06/06/15 17:56:34.309 UTC 509 10205] SSL_state_string=SSLv3 read client hello B

[06/06/15 17:56:34.309 UTC 50a 10205] Estado SSL = 0x2130; em que = 0x2001; ret = 0x1

[06/06/15 17:56:34.309 UTC 50b 10205] ret_type_string=desconhecido

[06/06/15 17:56:34.309 UTC 50c 10205] ret_desc_string=desconhecido

[06/06/15 17:56:34.309 UTC 50d 10205] SSL_state_string=SSLv3 write server hello A

[06/06/15 17:56:34.310 UTC 50e 10205] Estado SSL = 0x2140; em que = 0x2001; ret = 0x1

[06/06/15 17:56:34.310 UTC 50f 10205] ret_type_string=desconhecido

[06/06/15 17:56:34.310 UTC 510 10205] ret_desc_string=desconhecido

[06/06/15 17:56:34.310 UTC 511 10205] SSL_state_string=SSLv3 write certificate A

[06/06/15 17:56:34.310 UTC 512 10205] Estado SSL = 0x2160; em que = 0x2001; ret = 0x1

[06/06/15 17:56:34.310 UTC 513 10205] ret_type_string=desconhecido

—Mais— ???????? ??????????[06/06/15 17:56:34.310 UTC 514 10205] ret_desc_string=desconhecido

[06/06/15 17:56:34.310 UTC 515 10205] SSL_state_string=SSLv3 write certificate request A

[06/06/15 17:56:34.310 UTC 516 10205] Estado SSL = 0x2100; em que = 0x2001; ret = 0x1

[06/06/15 17:56:34.310 UTC 517 10205] ret_type_string=desconhecido

[06/06/15 17:56:34.310 UTC 518 10205] ret_desc_string=desconhecido

[06/06/15 17:56:34.310 UTC 519 10205] SSL_state_string=SSLv3 flush data

[06/06/15 17:56:34.310 UTC 51a 10205] Estado SSL = 0x2180; em que = 0x2002; ret = 0xffffffff

[06/06/15 17:56:34.310 UTC 51b 10205] ret_type_string=desconhecido

[06/06/15 17:56:34.310 UTC 51c 10205] ret_desc_string=desconhecido

[06/06/15 17:56:34.310 UTC 51d 10205] SSL_state_string=SSLv3 read client certificate A

[06/06/15 17:56:34.310 UTC 51e 10205] — retorna WANT_READ para conn ssl 590a6048

[06/06/15 17:56:34.610 UTC 51f 10205] doSSLRecvLoop: O handshake não foi concluído para conn 0

[06/06/15 17:56:34.610 UTC 520 10205] sslConexãoInicialização: SSL_do_handshake para conn ssl 590a6048, estado conn: Estado INIT, SSL: MANIPULAÇÃO

[06/06/15 17:56:34.616 UTC 521 10205] Validação de certificado de peer concluída para o conn ssl 590a6048, lista de autenticação de chamada.

[06/06/15 17:56:34.622 UTC 522 10205] Aulist authentication successfully for conn ssl 590a6048

??????????? ??????????[06/06/15 17:56:35.616 UTC 523 10205] Peer validado em relação à AuthList

[06/06/15 17:56:35.616 UTC 524 10205] Estado SSL = 0x2180; em que = 0x2001; ret = 0x1

[06/06/15 17:56:35.616 UTC 525 10205] ret_type_string=desconhecido

[06/06/15 17:56:35.616 UTC 526 10205] ret_desc_string=desconhecido

[06/06/15 17:56:35.616 UTC 527 10205] SSL_state_string=SSLv3 read client certificate A

[06/06/15 17:56:35.633 UTC 528 10205] Estado SSL = 0x2190; em que = 0x2001; ret = 0x1

[06/06/15 17:56:35.633 UTC 529 10205] ret_type_string=desconhecido

[06/06/15 17:56:35.633 UTC 52a 10205] ret_desc_string=desconhecido

[06/06/15 17:56:35.633 UTC 52b 10205] SSL_state_string=SSLv3 read client key exchange A

[06/06/15 17:56:35.635 UTC 52c 10205] Estado SSL = 0x21a0; em que = 0x2001; ret = 0x1

[06/06/15 17:56:35.636 UTC 52d 10205] ret_type_string=desconhecido

[06/06/15 17:56:35.636 UTC 52e 10205] ret_desc_string=desconhecido

[06/06/15 17:56:35.636 UTC 52f 10205] SSL_state_string=SSLv3 read certificate verify A

[06/06/15 17:56:35.636 UTC 530 10205] Estado SSL = 0x21c0; em que = 0x2001; ret = 0x1

[06/06/15 17:56:35.636 UTC 531 10205] ret_type_string=desconhecido

[06/06/15 17:56:35.636 UTC 532 10205] ret_desc_string=desconhecido

—Mais— ???????? ??????????[06/06/15 17:56:35.636 UTC 533 10205] SSL_state_string=SSLv3 lido pronto A

[06/06/15 17:56:35.636 UTC 534 10205] Estado SSL = 0x21d0; em que = 0x2001; ret = 0x1

[06/06/15 17:56:35.636 UTC 535 10205] ret_type_string=desconhecido

[06/06/15 17:56:35.636 UTC 536 10205] ret_desc_string=desconhecido

[06/06/15 17:56:35.636 UTC 537 10205] SSL_state_string=SSLv3 write change cipher spec A

[06/06/15 17:56:35.636 UTC 538 10205] Estado SSL = 0x21e0; em que = 0x2001; ret = 0x1

[06/06/15 17:56:35.636 UTC 539 10205] ret_type_string=desconhecido

[06/06/15 17:56:35.636 UTC 53a 10205] ret_desc_string=desconhecido

[06/06/15 17:56:35.636 UTC 53b 10205] SSL_state_string=SSLv3 write concluído A

[06/06/15 17:56:35.637 UTC 53c 10205] Estado SSL = 0x2100; em que = 0x2001; ret = 0x1

[06/06/15 17:56:35.637 UTC 53d 10205] ret_type_string=desconhecido

[06/06/15 17:56:35.637 UTC 53e 10205] ret_desc_string=desconhecido

[06/06/15 17:56:35.637 UTC 53f 10205] SSL_state_string=SSLv3 flush data

[06/06/15 17:56:35.637 UTC 540 10205] Estado SSL = 0x3; em que = 0x20; ret = 0x1

[06/06/15 17:56:35.637 UTC 541 10205] ret_type_string=desconhecido

[06/06/15 17:56:35.637 UTC 542 10205] ret_desc_string=desconhecido

[06/06/15 17:56:35.637 UTC 543 10205] SSL_state_string=A negociação SSL foi concluída com êxito

[06/06/15 17:56:35.637 UTC 544 10205] Estado SSL = 0x3; em que = 0x2002; ret = 0x1

—Mais— ???????? ??????????[06/06/15 17:56:35.637 UTC 545 10205] ret_type_string=desconhecido

[06/06/15 17:56:35.637 UTC 546 10205] ret_desc_string=desconhecido

[06/06/15 17:56:35.637 UTC 547 10205] SSL_state_string=A negociação SSL foi concluída com êxito

[06/06/15 17:56:35.637 UTC 548 10205] SSL_do_handshake() foi bem sucedido para o conn ssl 590a6048

[06/06/15 17:56:35.637 UTC 549 10205] Êxito na conexão NMSP! para conn 0