Sunday, March 29, 2015

N +1 HA

Uma das coisas que eu mais prezo em minha vida profissional é minha 'curva de aprendizagem'. E  acredito que podemos e devemos mantê-la o mais íngreme possível.
Em meu trabalho anterior, por uns dois anos, minha curva era quase uma reta vertical. Eu sabia pouco de Cisco, quase nada. Após um período a  reta foi ficando curva e a curva cada vez mais transformando em uma reta, só que agora horizontal. A mudança de emprego não foi exatamente por isso mas é muito bom sentir que estou novamente tendo a oportunidade de aprender muito a cada dia.
 Mantendo o propósito do blog, aqui vai mais algumas 'lessons learned'. O primeiro desafio que encontrei foi realmente inusitado. Algo que pode nunca vir a ocorrer novamente. Como eu tive que fazer um downgrade em um WLC (Wireless Lan Controller) da versão 7.6.130 para a versão 7.4.121, para manter a mesma versão das demais WLC. Quando eu fui jogar o software na WLC, recebi o seguinte erro:
" 
Transfer failure : Upgrade from LDPE to non LDPE software is not allowed.For DTLS encryption support, 
DTLS license should be applied.Please download AIR-CT5500-LDPE-K9-x-x-x-x.aes image instead
 "
Eu não tinha visto esse log ainda e certamente é pouco provavel que veja tão logo. LDPE WLC´s não deveriam estar aqui no Brasil. Na verdade em nenhum outro lugar além da Rússia. Se olharmos na página de download da Cisco, essa mensagem fica bem clara:


O motivo pelo qual essa WLC veio parar em minhas mãos pode ser muitos e foge do escopo. O fato é que eu tive que lidar com isso.

Essa diferença fica bem evidente se olharmos através de um comando:

(Cisco Controller) >show sysinfo

Manufacturer's Name.............................. Cisco Systems Inc.
Product Name..................................... Cisco Controller
Product Version.................................. 7.4.121.0
Bootloader Version............................... 1.0.20
Field Recovery Image Version..................... 7.6.95.16
Firmware Version................................. FPGA 1.7, Env 1.8, USB console 2.2
Build Type....................................... DATA + WPS + LDPE




(Cisco Controller) >show sysinfo

Manufacturer's Name.............................. Cisco Systems Inc.
Product Name..................................... Cisco Controller
Product Version.................................. 7.4.121.0
Bootloader Version............................... 1.0.20
Field Recovery Image Version..................... 7.6.101.1
Firmware Version................................. FPGA 1.7, Env 1.8, USB console 1.27
Build Type....................................... DATA + WPS

Podemos ver que no primeiro exemplo, temos a presença de LDPE, enquanto que no segundo não vemos.
Vale salientar que é possível converter um device LDPE para um não-LDPE e eu tentei fazê-lo mas sem sucesso. Porém, no meu caso, se tratava de um HA-SKU. Esse tipo de WLC é usada exclusivamente para backupe e não possui licenças, talvez por isso não tenha conseguido.
 Como existe outra forma de lidar com isso, não perdi muito tempo tentando converter. Vale lembrar que todos esses procedimentos não ocorreram em LAB e sim em ambientes reais e com um tempo determinado de janela.
  Enquanto você não contorna o problema, um segundo erro é mostrado nos logs:

*Mar 26 18:37:20.000: %CAPWAP-5-DTLSREQSEND: DTLS connection request sent peer_ip: x.x.x.x peer_port: 5246
*Mar 26 18:37:21.512: %CAPWAP-5-DTLSREQSUCC: DTLS connection created sucessfully peer_ip: x.x.x.x peer_port: 5246
*Mar 26 18:37:21.513: %CAPWAP-5-SENDJOIN: sending Join Request to x.x.x.x

*Mar 26 15:36:42.000: %CAPWAP-5-DTLSREQSEND: DTLS connection request sent peer_ip: x.x.x.x peer_port: 5246
*Mar 26 15:37:12.000: DTLS_CLIENT_ERROR: ../capwap/base_capwap/dtls/base_capwap_dtls_connection_db.c:2051 Max retransmission count reached!
*Mar 26 15:37:41.999: %DTLS-5-SEND_ALERT: Send FATAL : Close notify Alert to x.x.x.x:5246
*Mar 26 15:37:42.000: %CAPWAP-3-ERRORLOG: Go join a capwap controller.

 Para resolver o problema,  vá em Security > AP Policies é possível desmarcar a opção Accept Self Signed Certificate. Isso deverá resolver o problema.



Uma última dica importante. Não esqueça de ativar a licença. Ainda que uma WLC SKU-HA não possui licenças definitivas, elas possui licença temporária e precisa ser ativada, do contrário os APs não irão se associar e mostrará o seguinte erro:

"Refusing Discovery Request from AP - limit for maximum APs supported 0 reached"

Para ativar a licenças basta ir em Management >Software Activation:



É possível entrar em cada licença e ativá-la. Quando ela ainda não está ativa, será mostrado "EULA not Accepted" em  status.


É preciso estabelecer uma prioridade e clicar em set priority. Será mostrado um pop up para que seja realizado o aceite do EULA e consequentemente, será ativado a licença.

A configuração do N + 1 HA em si é extremamente simples. Na WLC primária, é preciso fazer o apontamento da WLC secundária:


É preciso preencher os campos Backup Primary Controller name e IP address. É possível inserir uma segunda WLC de Backup.

 Na WLC de Backup, é preciso colocá-la como Secundária com SSO em disable:


Não é preciso configurar nenhum endereçamento IP, apesar de aparecer um pop up reclamando.
Apenas mais uma configuração é recomendada. Em cada AP é importante estabelecer em High Availability, as WLC disponíveis em termos de Primary,Secondary e Tertiary:


E encerramos por aqui. Como podem ver, a configuração de N + 1 HA é muito simples. Com um pouco de sorte é possível encontrar situações como essas que encontrei.
 Espero que essas informações como sempre possa auxiliar alguém.



Wednesday, March 18, 2015

Multicast PIM-Sparse Mode


 Estou me preparando para a minha segunda prova do CCNP Wireless: 642-742 IUWVN. Ainda não vi o conteúdo das outras duas provas, mas arrisco dizer que essa é a mais difícil.
 Dois assuntos presentes nessa etapa estão na minha pauta para conhecer mais profundamente faz algum tempo: Multicast e QoS. Desta forma, estou realizando um estudo mais profundo desses dois assuntos. Inciando por Multicast, vou escrever um artigo extenso sobre o assunto. Além da parte teórica, vou apresentar um LAB que configurei com stream de áudio e vídeo real passando por uma rede OSPF e sob a adminstração de uma das modalidades de Multicast, a mais comum, também chamada de Sparse Mode.
 Multicast é parecido com Broadcast, porém,menos limitado.Broadcast é enviado para todos os hosts dentro de um domínio de broadcast. Em Layer 2 um endereço de broadcast segue o padrão FF:FF:FF:FF:FF:FF. Já em Layer 3 o endereço é 255.255.255.255.
 Não há muito mais para dizer sobre Broadcast. Ele é usado por muitas aplicações conhecidas como o DHCP.
 Multicast é um pouco mais elaborado. Ele também possui um endereçamento específico tanto para Layer 2 quanto para Layer 3, porém, obedece algumas regras. Multicast também possui comportamentos diferenciados, dependendo do ambiente. Ele pode se comportar tanto para One-to-Many,Many-to-many e Many-to-One.  Entretando, assim como Broadast, Multicast não é roteável e precisa que os devices sejam preparados para tal.
 O orgão responsável pela distribuição dos endereçamentos reservou a faixa que vai de 224.0.0.1 até 239.255.255.255, sendo que existem subdivisões. Por exemplo, os range de 224.0.0.1/24 (224.0.0.1 até 224.0.0.254) é reservado aos protocolos de roteamento. De 224.0.1.0 até 238.255.255.255 são usado globalmente. Enquanto que o range de 239.0.0.0 ate 239.255.255.255 são usado em redes locais.Por exemplo, os endereços 239.0.1.39 e 239.0.1.40 são usados dentro de uma rede Multicast para fins que veremos a seguir.
 Para fins didáticos, vamos organizar os endereçamentos da seguinte forma:

224.0.0.1 - 239.255.255.255 - Range reservados para Multicast em geral
224.0.0.1 - 224.0.0.254        - Protocolo de Roteamento
224.0.1.0 - 238.255.255.255- Endereços Globais
239.0.0.0 - 239.255.255.255.Enderelis Loais

A nível de layer 2, existe um padrão que advêm da relação com o layer 3. Como o range reservado pela IANA é de 224.x.x.x, os 4 primeiros dígitos são fixos: 1110. Desta forma, esses digitos terão sempre essa configuração.
 Os últimos 23 dígitos são usados para compor o endereço layer 2. Logo, 5 dígitos não serão mapeados. Esse mapeamento resulta que um endereço layer 2 pode ser mapeado para vários endereços Layer 3, até 32 mais especificamente.
 Por exemplo, os endereços 224.130.0.1, 225.130.0.1, 226.130.0.1 são mapeados para o mesmo endereço 01-00-5e-02-00-01.
  Isso é o suficiente em termos de endereçamento de Multicast. Existe um outro protocolo que é usado pelo Multicast para que os hosts se juntem a um grupo multicast. O IGMP (Internet Group Management Protocol). IGMP possui 3 versões a saber:
IGMP v1: Router envia queries a cada 60 segundos para todos os routers através do endereço 224.0.0.1 (All hosts). Os hosts, por sua vez, respondem a essas queries no endereço 224.0.0.2 informando quais os grupos ou qual o grupo eles pretendem associar.
 Não existe solicitação para deixar o grupo, é usado timeout após 180 segundos caso o hosts não responda.
 Na sua versão 2, o processo se torna um pouco mais inteligente. Agora os hosts podem tomar a iniciativa. Por sua vez, os routers pode responder ao host ao inves de responder para o endereço 224.0.0.2.
 Não é dificil de perceber que na versão 2 temos uma utilização muito mais otimizada do link e uma convergência muito mais rápida dos elementos que compõe o multicast.
 IGMP version 3 adiciona a capacidade do host indicar de qual origem ele quer receber informação e os endereço "All Hosts" passa de 224.0.0.2 para 224.0.0.22.
 Existe um problema em se  tratar multicast a nível de switches. A razão é simples. Os Switches são originalmente dispositivos de Layer 2 e como tal analisa apenass endereços MAC dos quadros. Ele observa o quadro quando sai por uma porta e associa o MAC address àquela porta. Ora, Multicast usa um MAC address "virtual" que pode estar associado a vários outros endereços de Layer 3. Desta forma, o método convencional usado pelo Switch não funciona.
 Devido a esse problema, foi desenvolvido pela Cisco o CGMP e, posteriormente o IGMP para ser aplicado aos demais vendors. O IGMP passou a ser padrão, inclusive para Cisco.
 Ao habilitar o IGMP o Switch passa a analisar a camada 7 de um pacote. Assim ele passa a ter conciência das transações de Multicast.
  O título do artigo faz mensão a PIM-Sparse mode. Porém, até agora falamos de Multicast sem mencionar nada além disso. Mas o Multicast existem em duas formas: Dense Mode e Sparse Mode.
 Dense mode é um método mais simplificado e consequentemente menos eficiente de implementação do Multicast. Ele opera muito parecido com o seu parente Broadcast enviando um query para dos os segmentos da rede. A cada 3 minutos a rede é inundada com queries enviadas pelos routers e uma mensagem de resposta chamada de prune retornada pelos hosts que não fazem parte de nenhum grupo. Com essas mensagens é montada a rede Multicast Dense mode.
  Assim como o IGMP v1, Dense mode não prioriza economia no consumo de banda. Outro método de Multicast, mais inteligente, foi proposto: Sparse Mode.
  Multicast Sparse Mode funciona,de certa forma, um pouco parecido com o protocolo de roteamento OSPF. Assim como o OSPF elege um Router Designado, Sparse Mode elege um Router com um nome estranho chamado Rendezvous (Em ingles se pronuncia "rondevú"). Uma das definições em ingles para o termo Rendezvous é "A meeting at a prearranged time and place". Traduzindo, "Um encontro em um horário e lugar pré determinado". Mas a palavra nitidamente vem do Francês e significa "Encontro".
 Os significados são precisos em relação a função desse Router.  Quando um hosts quer se comunicar com um grupo de Multicast ele envia, através de IGMP, uma requisição para seu gateway. O Gateway,por sua vez, direciona essa requisição para o Rendezvous Point, passaremos a chamar de RD. Ao receber essa requisição, o RD encaminha uma resposta para o Router e Host que fez a solicitação, indicando como alcançar o grupo solicitado. O caminho inicialmente passará pelo RD mas será adaptado assim que o fluxo for estabelecido. Veremos isso na prática em nosso LAB.
 Para realizar essas validações de origem e destino, routers usam um protocolo chamado de PIM ou Protocol Independent Multicast.
 O envio de pacote em unicast é realizado com base no endereço de destino mas o envio de Multicast é feito baseado no endereço de origem. O PIM, em conjunto com o RFP (Reverse Path Forwarding), tem como objetivo evitar loops de roteamento. Caso seja verificado que um pacote entrou por uma interface e está tentando voltar por outra interface, o RFP irá dropar o pacote para evitar loops.
 PIM não é exclusivo de Sparse Mode, ele atua também em Dense Mode. Inclusive, a Cisco disponibiliza o comando ip pim { dense-mode | sparse-mode | sparse-dense-mode }, fazendo que o Router consiga funcionar dos dois modos.
  Para iniciar sua rede Multicast é preciso que o protocolo seja habilitado em todos os  Routers que farão parte da rede através do comando ip multicast-routing. Após habilitar o Multicast, será preciso definir qual o papel de cada Router na rede.
 Além do Rendezvous Point, temos outro Router com papel específico chamado Mapping Agent. Como é possível existir diferentes RP em uma rede responsáveis por diferentes grupos Multicast, a função dos Mapping Agents é 'mapear' os RP através de enúncios Groupo-To-RP. Desta forma, os routers possuem uma orientação de para quem solicitar quando precisar se associar a um grupo.
  Mapping Agents usam o IP 224.0.1.39 e enviam Group-To-RP para o endereço 224.0.1.40.
 
Bem, após essa parte teórica sobre Multicast, vamos para uma parte prática. Abaixo apresento a topologia criada no GNS3:

Essa LAB foi feito baseado no LAB presente no Blog Multicasting with GNS3 and Virtualbox. No LAB apresentado no referido Blog, a origem do Stream foi gerado em um Ubuntu, no meu caso estou usando Wimdows XP para ambos com o VLC para gerar e abrir o Stream. A princípio funcionou perfeirtamente.
  Ainda por recomendação do Blog foi usado roteadores 7200 e foi mantido os endereçamentos da núvem de roteadores. Apenas as bordas estão diferentes. No meu caso também é possível ver um servidor de monitoração  em baixo a direita. Isso faz parte de um outro LAB que estou fazendo em paralelo para testar uma solução que estou emplementando em um cliente com software ClearView da RedLine. Talvez no futuro eu apresente algo aqui.
  A rede é composta de 6 roteadores com OSPF divulgando todas as rede,inclusive Loopback.
 
!
interface Loopback1
 ip address 1.1.X.1 255.255.255.255
 ip pim sparse-mode
!
Todos os Routers possuem essa configuração de Loopback, sendo que o terceiro octeto é o número do roteador.
 Também é preciso configurar OSPF em todos os Routers:

router ospf 1
 log-adjacency-changes
 network 0.0.0.0 255.255.255.255 area 0

Basta que sejam executados esses comandos em todos os Routers.

Os endereçamentos das interfaces está exposto na topologia. Não preocupei em criar uma outra. O importante em se dizer aqui é que TODOS os Routers precisam ter o comando :

!
ip multicast-routing
!
Outra configuração necessária é habilitar em todas as interfaces o seguinte comando:
 ip pim sparse-mode

Além dessas configurações comuns a todos os Routers, é preciso definir o Rendezvous Point e o Mapping Agent. Isso é feito com os seguintes comandos respectivamente:

!
ip pim send-rp-announce lo1 scope 15
!
e 

!
ip pim send-rp-discovery lo1 scope 15
!

Como Multicast obedece a mesma regra do Broadcast e não é roteador automaticamente, um último comando é necessário em todos os Routers

!
ip pim autorp listener
!
Após realizar todas essas configurações, valide sua rede. Efetue ping de todos lugar para todo lugar. Conexão de rede precisa estar 100%.
 Uma dificuldade que algumas pessoas podem encontrar é em como integrar as máquinas virtuais com o GNS3.
 Se você também usa Virtualbox, isso é possível fazer diretamente através dessa future presente no GNS3:

Uma dica aqui. Caso você click em VM list e a lista apareça vazia, impossibilitando o mapeamento da VM, basta clicar em "Refresh VM List" que todas as VM instaladas no Virtualbox irão aparecer. Escolha áquelas que serão usadas e click em "Save".
 Após isso, vá para o Dashboard do Virtualbox e adicione-as como qualquer outro host.

Ocorre as vezes dessa integração,por vezes prática, não funcionar como o esperado. Uma outra forma de faz isso é através de núvem mapeando para a interface de rede do Virtualbox. Seria como integrar com Loopback  do próprio Windows.



A configuração da interface de rede das VMs não tem nenhum segredo:



Uma vez validada a conectividade do LAB e adicionado as VMs, basta ligar os XPs e instalar o software VLC em cada uma.
 A frente vou mostrar as configurações em cada um.


Acima temos a configuração do Server. É preciso mapear na máquina o arquivo que queremos reproduzir no Client.
 Veja que na parte inferior escolhemos a opção "Fluxo".

A próxima Janela apenas mostra a url da fonte do arquivo, no caso nossa máquina. Basta clicar em "Próximo".


Essa janela também precisa apenas de um "Próximo".   


                                                             
Clicando em "Próximo", podemos configurar o IP para onde será enviado o fluxo e a porta. 


Na janela acima, temos uma configuração que lhe salvará de passar, como eu passei, dois dias fazendo troubleshooting no seu LAB. Na verdade eu não posso exatamente reclamar porque eu consegui aprender muito mais. Eu li 'n' materiais sobre troubleshooting e aprendi muitos comandos tentando descobrir porque o fluxo não chegava ao meu Client passando pela minha rede Multicast.
No fim, descobri que precisa do parâmetro acima indicado pela seta vermelha. Essa parâmetro não vem e é necessário. Após isso, basta clicar em "Fluxo" e pronto, teremos a janela abaixo.                


E por último, temos nosso client apresentando o vídeo.                                                                       


O sentido do fluxo é apresentado abaixo. Inicialmente, o fluxo passará pelo "ponto de encontro", Rendzvous e irá sentido Client. A topologia foi criada intensionalmente para que o tráfego se adapte ao ambiente assim que o protocolo PIM validar a topologia e garantir através do RFP que não há risco de loop. Logo o tráfego se adaptará à rede usando o percurso de melhor performance para a rede. Isso poderá ser observado através do Wireshark:                                                                         




A princípio não haveria nenhuma razão para que o fluxo passasse no ponto indicado na topologia.   Em uma situação convencional, o fluxo passaria por R3 diretamente. Vamos colocar outro ponto de captura abaixo de R1,onde o fluxo passaria em uma situação normal.
                              
                                                                                 

Se observarmos em um segundo ponto:



Vamos observar que já houve uma convergência na rede e o fluxo passa inteiramente pelo menor percurso. Para que haja essa mudança no tráfego, O RP envia pacotes de Register-Stop como abaixo:


Após isso, vamos o fluxo passando pelo caminho mais curto de forma contínua:



Assim encerramos esse  artigo. Multicast é um assunto muito interessante e muito importante. Acredito que esse artigo é profundo o suficiente para que alguém que esteja iniciando com o assunto possa ter uma boa idéia de como esse protocolo funciona. A forma que é apresentado a parte prática é muito interessante por mostrar uma situação real de transmissão de vídeo. Os testes com icmp são possíveis mas não mostram a complexidade do protocolo. É possível afirmar que se adicionarmos mais um Client na rede, ele poderá receber o mesmo fluxo. Porém, o mais importante de se dizr é que o fluxo não precisar vir do Server. O gateway é capaz de duplicar o fluxo e envia-lo para mais de um destino possibilitando uma enorme economia de banda e possibilitando um serviço de muito melhor qualidade.                                                                                                                                                













Tuesday, March 3, 2015

Multi Hop SSH Tunnel with Putty


Have you ever needed to access a server or something through a SSH Tunnel ? I did and not through one but two of them. It turns that a customer allows me access its WLC using SSH Tunnel. It is not that difficult to setup but I admit I have had some trouble getting things done. All the time I get some difficult doing something I put it on my Blog.

Bellow I'll show my scenario:


I need to setup one tunnel with the server present on my network first. Then, I need to setup another tunnel to a server stated on the Customer´s network. Then, I can use the same logic to access WLC´s on the customer side;
 We can realize that, althouth the communication inside the SSH tunnel is very security, this technique allows us to overcome firewall filter. In the place of Customer´s WLC, we could have not filtered machine. Could be our home machine for example.
 Therefore, for this post, I'm gonna focus on Tunnel setup only.
Although this might look a litle bit complex and it is at the first sight, you´ll gonna see that actualy the setup is pretty straightforward.
 Bellow I am gonna show you some prints:
First we are gonna create a access session with our local server 192.168.1.1:


Here we have the accesss session  to our first server 192.168.1.1. You can and should save this session. Name it to facilitate future access.

 In the same session, in Tunnels, under SSH, you must point to the second server on SSH port. Just like we did above.
 Here is where the second tunnel begins. You can see that the result of this setup is:
Source Porte: 2222
Source IP Address: 127.0.0.1
Destination Port: 22
Destination IP Address: 172.16.1.1
 We are creating a tunnel begining on the local host and ending on the server 172.16.1.1 passing through 192.168.1.1.
 Click Add and save the session.

 Now, to access the second server, we just need to point a new session to our local machine and using the port 2222. This port is supposed to be opened and pointing to the second server.



Once the second session is ok, we can create a Tunnel to the IP address we want to access behind the second server.



That's it. Fisrt start the connection to the first server, let the windows opened, then start the connection to the second server and finally you can access any resource by the other side. Of course, considering that all the necessary ports were opened like our example above.







Thursday, February 19, 2015

Introdução a Smart Grid


  Uma das áreas que pretendo aprofundar meu conhecimento a partir desse ano é Smart Grid. Esse primeiro artigo visa explicar o básico desta tecnologia.
  Começando pelo nome, Smart Grid significa Rede Inteligente. Rede aqui não exatamente no conceito que estamos acostumado a usar, ou seja, rede de computadores mas rede elétrica.
 Falar em rede elétrica inteligente no Brasil é por vezes um paradoxo. Nossas instalações elétricas são extremamente atrasadas. Dizem alguns que quando foram adquiridas já eram obsoletas. Eram refugos dos países do primeiro mundo. Independente da veracidade ou não, é fato que temos um sistema obsoleto. Certamente que não apenas elétrico.
 Ora, Smart Grid então irá revolucionar toda a infraestrutura de redes elétricas do país colocando-nos no primeiro mundo ? Certamente que não.
 O atraso em termo de tecnologia do país nesse setor vai muito além de qualquer esforço nesse sentido. Uma re-estruturação da rede elétrica do país passaria por um investimento que certamente não seria viável nem em uma década.
 Mas qual seria o papel de Smart Grid ? Bem, certamente não resolverá muito dos problemas existentes. Por exemplo, aquelas chaves de contato presentes em todos os postes com transformador que, quando desarmam, precisam que um técnico da companhia elétrica vá até o local com uma espécie de vara para re-conectar. Isso apenas para citar um exemplo simples.
   Smart Grid visa controlar e obter informações dos serviços fornecidos à população e não apenas de eletricidade. O conceito pode ser aplicado a uma vasta área de serviço. A idéia principal dessa tecnologia é possibilitar o controle por parte das operadoras de serviços de forma eficiente.
 Ora, isso interessa ao consumidor ? Hum,,,depende da ótica. Se você for um cidadão que pensa no progresso como um objetivo intrínseco a nossa vida, sim. Se você acredito que a administração eficiente dos recursos básicos de nossa existência é de extrema importância para nossa vida, sim. Mas você também pode ser um cidadão que enxergará nisso tudo apenas mais uma forma das operadoras obter mais lucros. E isso não será mentira.
 Porém, minha ótica é do ponto de vista da Tecnologia. Do fazer funcionar. Apenas isso. Não vou me expressar como cidadão mas como técnico.
 Em resumo, Smart Grid, na forma que estou abordando, se resume em uma forma da operadora, no caso de energia elétrica, controlar o consumo de cada relógio em tempo integral. A gama de serviços que isso irá resultar também não é foco desse artigo.
 Para controlar cada relógio, entenda-se relógio o aparelho usado para medir o quanto de energia você consumiu em um mês, a operadora terá que ter acesso a ele. Ter acesso ao relógio significa ter uma rede de comunicação de dados que interliga cada relógio a um ponto central, um NOC.
  Apresentado o cenário, vamos apresentar a forma de implementar. Para ter esse cenário operacional é preciso lidar com conceitos variados. A forma de transmissão do relógio até um NOC pode acontecer sobre muitas tecnologias: Wifi,WiMAX,Fibra Óptica,3G,etc. Qualquer tecnologia WAN disponível e de preferência todas elas por questão de redundância.
 Mas o desafio maior está em fazer cada relógio se comunicar na rede. A abordagem aparentemente mais comum é formar uma rede mesh utilizando comunicação sem fio dentro do padrão 802.15.4. Essa modalidade é chamada de 6LowPAN e não é exclusivo de Smart Grid. Essa protocolo é oriundo do conceito de Internet of Things ou IoT ou ainda Internet de Todas as Coisas.
 O 6 no termo 6LowPAN vem do IPv6. Sim, claro. Endereçar tantos dispositivos quanto objetiva IoT e, mesmo Smart Grid, requer IPv6. Desta forma já podemos considerar que no mínimo teremos uma rede dual protocolo, em termos de endereçamento, caso não seja possível uma rede totalmente IPv6. E certamente não será.
 Uma rede Mesh significa que cada dispositivo final é capaz de se comunicar com seu par até chegar a um dispositivo `central` que dará vasão a comunicação na rede WAN. Isso significa afirmar que o relógio do seu quintal poderá utilizar o relógio do quintal do seu vizinho que por sua vez poderá usar um outro relógio até atingir um equipamento que ficará preso em um poste da companhia de Luz e cujo nome é FAR (Field Area Router). Para o universo Cisco, universo do qual faço parte, o FAR é um CGR 1000, mais especificamente um CGR 1240.


O video acima mostra muito bem o CGR 1240.
















 Acima temos nosso CGR 1240 aberto e fechado para conhecimento. É fácil de perceber que é um equipamento devidamente projetado para ambientes grosseiros (IP 67).
 O FAR possui inúmeras possibilidade de comunicação com os dispositivos finais e é o Gateway para um ambiente NAN( Near Me Area Network). É possível ver  na figura acima as várias portas de conexão  presentes no equipamento. Uma dessas portas é PoE. Também podem ser observadas as antenas para comunicação sem fio.
 Uma forma de comunicação muito interessante e adequada para a função é PLC. PLC é Power Line Communication e é capaz de transferir dados através da rede elétrica.
 O FAR é Dual Steck porque muito provavelmente se comunicará com uma WAN em IPv4 enquanto que a rede de dispositivos sera IPv6.
 Outra característica interessante do FAR é sua capacidade de ser ZTD (Zero Touch Deployment) e é fácil justificar. Como ficará no topo de um poste, não é esperado que um técnico o configure no local. Certamente a atividade de fixação do mesmo ao local será delegada a uma equipe de campo.
 Devido a importância desse equipamento, vamos deixar para falar mais dele em uma próxima oportunidade.
  Um outro elemento é usado ainda a nível de Edge. Um CPE pode ser usado para possibilitar a comunicação entre o FAR e a WAN. Essse CPE deverá possibilitar a comunicação com mais de um tipo de rede e poderá se comunicar com o FAR através de uma porta Ethernet com PoE. O CGR possui um banco de bateria próprio com grande autonomia e isso poderá ser dividido com o CPE. Manter esses equipamentos sempre UP evita que a rede tenha que convergir.

 Desta forma fizemos uma exposição dos elementos que ficarão fora de um NOC e próximos a nossa casa. A rede que transportará as informações é como qualquer outra rede WAN já existente e não será objeto de estudo aqui.
  Do lado do NOC existem uma série de elementos e protocolos que podemos explorar. Obviamente que esses elementos podem variar de acordo com o ambiente projetado mas de uma forma geral serão usados os elementos abaixo:
-DHCP Server para IPv4 e IPv6
-NMS para gerência dos elementos
-Microsoft NDES
-MS NPS
-MS AD
-HER(Head End Router)
-RSA Root CA
-CA Server
-MS PKI

 Em outros artigos falaremos mais a fundo de cada elemento e dos protocolos envolvidos.



Playing With Linux - Troubleshooting SSH Access


 I was struggling in the other day trying to access a server on the customer datacenter via SSH. As it was a Cisco MSE running  a Redhat, I was in doubt if the problem resides on the server configuration or some firewall blocking ssh access.
 A very good trick you can use is as following:

/user/sbin/sshd -d -p 2222

Then, on the client,  you can start a connection on this port:






The result should be like that:


On the server side it is spected to see the following logs:




This can show you that the access is ok and you may have some troubleshooting to perform on the server side considering that the ssh access on 22 port directly still not working.




Playing with Linux - Formating Pendrive


Linux is an amazin Operational System. For those of us which play with Cisco ISO every day, Linux is not supposed to be hard, but, in fact it is.
 I am playing with Linux for quite a while, but sometimes I got myself stuck in many things. Today, I´d like to show you folks a very newby action but somtimes necessary during your days activity.
I´d like to show you how can you prepare a Pendrive, previously only used on Lunix, to be used on Windows.
You may need to install dosfstools. You can do that with :

apt-get install dosfstools.

Than you can identify you installed Pendrive using fdisk -l

Onde identified your Pendrive, you can user the following command:

mkfs.vfat -F 32 /dev/sd(a,b)(x).

In my case mkfs.vfat -F 32 /dev/sdb1



Saturday, January 24, 2015

CCNP Wireless - Cisco Unified Wireless Site Survey Ready !

Ontem realizei minha primeira prova rumo ao CCNP Wireless. Fiz a prova 642-632. Existem duas abordagem aqui: Uma seria falar da prova em si e outra seria falar de Site Survey.
 Eu já escrevi outros artigos sobre Site Survey e poderia escrever mais sobre o assunto. Da importância dessa atividade para termos uma rede apropriada.
  Porém, é fato que em uma integradora é bem provável que, atuando em projetos, você não será o cara que irá em campo fazer o site survey.
 Essa atividade é geralmente delegada para equipes de campo com menor conhecimento técnico. O quanto isso é certo ou errado cabe uma discussão. Mas, é o usual.
  Quanto á prova, também já falei sobre a dificuldade de conseguir material. E isso perdura. Mas, fazer o que ?
 Minha recomendação é estudar o material encontrado na Internet, basicamente Quick Reference e alguns outros e procurar questões da prova. Site Survey é uma atividade cuja teoria não se aplica de forma plena. É uma atividade prática. Portanto, não adianta querer aprender lendo. Se faz parte do seu trabalho, o jeito de aprender é fazendo.
 Para quem tem acesso a um AirMagnet ou Ekahau ótimo. Para quem não tem, é melhor pensar de forma prática e preparar para a prova. A Cisco não deixa muitas opções. Por sorte é possível praticar com muitas questões que podem ser encontradas na Internet.
 Minha próxima prova será 642-742Wireless Voice.

 
 
 

Tuesday, January 20, 2015

Cisco ISE - Identity Services Engine







 Umas das ferramentas recém lançadas pela Cisco é o Cisco ISE(Identity Services Engine). Hoje na versão 1.3, o Cisco ISE adquiriu um status de elevada importância em ambientes corporativos devido ao esplendoroso crescimento das redes Wireless. Mas afinal, Cisco ISE é uma ferramenta para Wireless ou uma ferramenta para Security ?
 A resposta dessa pergunta é : Depende. Cisco ISE parece ter sido concebido para  ser uma ferramenta de Wireless. Um dos pontos fortes do ISE é sua habilidade de gerenciar redes Guests e BYOD, conceitos  estes que se tornam cada vez mais e mais comuns em qualquer ambiente corporativo.
 Porém, me parece que desde o início o Cisco ISE tinha pretensões bem maiores. Já no início era comentado que mais tarde ele viria a substituir o Cisco ACS como autenticador TACACS. Essa promessa ainda não foi concretizada e, até onde acompanhei, o ACS estava Up to Date, mas acredito sim que isso venha a acontecer.
 De uma forma ou de outra, eu acho que minha pergunta é pertinente. Eu propriamente tenho interesse enorme ao delimitar esse tema. Onde trabalho, o ISE é tratado como uma ferramente de Segurança. Desta forma, em um projeto que envolva a implantação de um ISE, quase todos quando Wireless está relacionado, o time de Segurança passa a ser envolvido. É certo que eu já tive a oportunidade de entregar um projeto com ISE. Neste caso eu fiz todo o processo.
 Com profissional de tecnologia com foco em Wireless, eu defendo que o ISE não deve ser visto como um firewall. O ISE se tornou a inteligência da rede Wireless. Após ele,uma Wireless Controller é um mero switch para os Access Points. O ISE fica responsável por uma etapa muito mais complexa do processo.
 Talvez não seja possível resolver essa questão de forma tão simples. Isso pode envolver decisões estratégicas dentro de uma empresa, mas acho que vale o debate. Porque não vejo o ISE como um Firewall. Vejo o ISE mais como uma plataforma de gerência,como uma estrutura muito mais complexa do que a de um Firewall.
 Como contrapartida deste debate, eu acredito que a melhor saída para nós profissionais de Wireless é se dedicar em conhecer a fundo essa ferramente. Ignorá-la ou mesmo não conhecê-la profundamente, forcará a delimitação desse escopo. Com isso, estaremos negligenciando uma parte importante de um projeto de Wireless.
 Entregar a gerência dessa ferramenta ao profissional de segurança é entregar boa parte da inteligência de um ambiente e, tenham certeza, qualquer erro na configurações de um ISE poderá lhe obrigar a debugar uma Wireless Controller atrás de um problema que não vai existir.
  Ao dominar os detalhes da ferramenta, por outro lado, permitirá que você possa interferir nesse processo mesmo que informalmente. Ou, ,pelo menos,poderá lhe ajudar a prever comportamentos e se defender quando o problema não estiver no seu lado do projeto.
 Minha dica final é essa. Se você é ou pretende ser um profissional de Wireless, considere o ISE como uma plataforma de ambiente Wireless e domine-a. ISE não é um mero Firewall. É uma extensão da rede Wireless e como tal precisa ser dominado por um profissional de rede Wireless.





Thursday, January 8, 2015

2015 - Mas um ano dedicado a Wifi


 2014 findou-se e foi um ótimo ano. Apesar dos problemas políticos e das incertezas que isso trás a vida de todos, eu só tive a agradecer ao final dele. Pessoalmente tudo correu mais que perfeito, profissionalmente não foi nada diferente disso.
  Tive a oportunidade de me transferir para uma empresa que está na contramão da maioria das empresas no que diz respeito a perspectivas. Estou fazendo, dentro desta empresa, aquilo que planejei fazer nos próximos anos e, não menos importante, atuando numa área chave dentro da empresa.
 Tudo isso só me faz ter certeza que os passos dados em 2014 foram acertados e que gerarão frutos bons para 2015.
 2015 começa em ritmo acelerado. Vários projetos de Wifi chegando e em andamento com muito estudo. Já com uma prova do CCNP Wireless agendada, pretendo concluir essa certificação esse ano e se possível antes do fim dele.
 Quero aproveitar o apoio prestimoso oferecido pela empresa, o ambiente de wifi onde estou inserido e meu gosto por trabalhar com essa tecnologia.
 Após o CCNP Wireless quero me envolver com outros vendors dentro da área e com outros tecnologias relacionadas com wifi, como wifi offload, tecnologias celulares,etc.
 Como já expus aqui, a Cisco peca muito em não agregar tais tecnologias dentro do curriculum de Wireless. Mas se ela comete esse erro é um problema dela, eu pretendo fazer diferente. Ainda que para isso tenha que deixar o universo Cisco para trás.
  Como tem sido minha proposta para esse blog, meus passos serão descritos e minhas conquistas compartilhadas. Como forma de selfstudy e,por que não, como forma de ajuda a outros.

Friday, December 19, 2014

Cisco Mobility Services Engine - Instalação/Throubleshooting


 A grande vantagem de trabalhar em um integrador é a possibilidade de deparar com um número muito grande de soluções de rede. Eu já conhecia, através de leituras, o Cisco MSE mas apenas recentemente tive a oportunidade de configurar um.
 O MSE é uma ferramenta incrível mas que não encontramos a toda hora nos clientes. Talvez porque a função do mesmo não é vital para o ambiente. A função básica de um MSE é realizar Location e wIPS. Location é a habilidade de localizar usuários dentro da rede Wireless e IPS é voltado para segurança de rede.
  O MSE está disponível em máquina virtual e appliance e roda sobre um RedHat.  Eu tive a oportunidade de configurar um appliance. Interessante que eu recebi a tarefa devido a um problema encontrado no MSE appliance recem instalado. Por algum motivo ele não se comportava como esperado.
 Realizando pesquisas identifiquei que algumas outras pessoas relatavam a mesma condição, desta forma eu suponho que não seja tão raro, o que torna esse post útil.
  No caso que encontrei, o appliance apresentava um erro ao tentarmos ver o status do software através dos comandos:
-/etc/init.d/msed status ou getserverinfo.
O resultado vinha como segue:

[root@mse installers]# /etc/init.d/msed status
STATUS:
Health Monitor is running
Starting MSE Platform, Waiting to check the status.
Starting MSE Platform, Waiting to check the status.
Starting MSE Platform, Waiting to check the status.
Starting MSE Platform, Waiting to check the status.
Starting MSE Platform, Waiting to check the status.
Starting MSE Platform, Waiting to check the status.
Starting MSE Platform, Waiting to check the status.
Starting MSE Platform, Waiting to check the status. 

Isso não é indicativo que tudo está errado, mas é no mínimo estranho. Baseado nesse erro e na impossibilidade de integrar o MSE ao Prime foi o ponto de partida para o trabalho executado.
 Outro indicativo de que as coisas não estavam bem, era o erro apresentado após rodar o script de setup:

ERROR: Error in invoking Operation sendAuditLogMsg on mbean
javax.management.InstanceNotFoundException: mse-admin:name=cmdSetupAuditLog
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getMBean(DefaultMBeanServerInterceptor.java:1094)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getClassLoaderFor(DefaultMBeanServerInterceptor.java:1438)
at com.sun.jmx.mbeanserver.JmxMBeanServer.getClassLoaderFor(JmxMBeanServer.java:1276)
at javax.management.remote.rmi.RMIConnectionImpl$5.run(RMIConnectionImpl.java:1326)
at java.security.AccessController.doPrivileged(Native Method)
at javax.management.remote.rmi.RMIConnectionImpl.getClassLoaderFor(RMIConnectionImpl.java:1323)
at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:771)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:303)
at sun.rmi.transport.Transport$1.run(Transport.java:159)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:155)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:255)
at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:233)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:142)
at com.sun.jmx.remote.internal.PRef.invoke(Unknown Source)
at javax.management.remote.rmi.RMIConnectionImpl_Stub.invoke(Unknown Source)
at javax.management.remote.rmi.RMIConnector$RemoteMBeanServerConnection.invoke(RMIConnector.java:993)
at com.cisco.mse.common.util.JMXClient.performOperation(JMXClient.java:187)
at com.cisco.mse.common.util.JMXClient.objectInvoke(JMXClient.java:153)
at com.cisco.mse.common.util.JMXClient.performOperationFromUserInput(JMXClient.java:39)
at com.cisco.mse.common.util.JMXClient.main(JMXClient.java:14)


O erro é aparentemente de Java.

A maior parte dos arquivos do MSE estão em /opt/mse. Três subdiretórios eu gostaria de destacar que é: /opt/mse/installer, /opt/mse/unistall e /opt/mse/setup.
 No primeiro encontramos a Base de dados e a ISO e no segundo uma série de script de configuração sendo o script setup.sh o principal deles.
 Após algum tempo de verificação e a conclusão de que não era possível progredir, decidi por reinstalar.
 A partir de uma máquina conectada via serial ao appliance, entrei no diretório /opt/mse/uninstall e executei o comando:

[root@mse uninstall]# ./uninstall.

É observado a seguinte saída:

About to uninstall...

Cisco Mobility Services Engine

This will remove features installed by InstallAnywhere.  It will not remove 
files and folders created after the installation.

PRESS <ENTER> TO CONTINUE: 



===============================================================================


MSE is stopped, continuing uninstall operation...



===============================================================================
Retain High Availability Configuration
--------------------------------------

Do you wish to preserve High Availability role and pair configuration ?

  ->1- Yes
    2- No

ENTER THE NUMBER FOR YOUR CHOICE, OR PRESS <ENTER> TO ACCEPT THE DEFAULT:
   : 2




===============================================================================
Uninstall Database, License Files and Map Images
------------------------------------------------

Do you want to remove the database, license files, remote syslog server configuration and map images?

    1- Yes
    2- No



ENTER THE NUMBER FOR YOUR CHOICE, OR PRESS <ENTER> TO ACCEPT THE DEFAULT:
   : 1




===============================================================================
Confirm Uninstallation - Primary MSE
------------------------------------

Uninstall options selected:

Preserve High Availability Configuration - No
Uninstall Database, License Files and Map Images - Yes

  ->1- OK to continue
    2- Cancel

ENTER THE NUMBER OF THE DESIRED CHOICE, OR PRESS <ENTER> TO ACCEPT THE 
   DEFAULT: 



===============================================================================
Uninstalling...
---------------


...*
*
*************************
*************************
*************************
************************
...*
*
*************************
*************************
*************************
************************
...*
*
*************************
*************************
*************************
*************************



===============================================================================
Uninstall Complete
------------------

Com isso, desinstalamos o MSE de nosso .
Após a desinstalação, vem a re-instalação. Para isso temos que navegar para /opt/mse/installers .Dentro desse diretório temos os seguintes arquivos:

[root@mse installers]# ls
CISCO-MSE-L-K9-7-4-100-0-64bit.bin  database_installer_part3of4.zip
database_installer_part1of4.zip     database_installer_part4of4.zip
database_installer_part2of4.zip     dbinstaller

Para re-instalar basta rodar o arquivo .bin desta forma:

./CISCO-MSE-L-K9-7-4-100-0-64bit.bin 

A saída é como se segue:

Preparing to install...
Extracting the JRE from the installer archive...
Unpacking the JRE...
Extracting the installation resources from the installer archive...
Configuring the installer for this system's environment...

Launching installer...

Preparing CONSOLE Mode Installation...

===============================================================================
Cisco Mobility Services Engine    (created with InstallAnywhere by Macrovision)
-------------------------------------------------------------------------------




===============================================================================
Introduction
------------

InstallAnywhere will guide you through the installation of Cisco Mobility 
Services Engine.

It is strongly recommended that you quit all programs before continuing with 
this installation.

Respond to each prompt to proceed to the next step in the installation.  If you
want to change something on a previous step, type 'back'.

Licensing on the Mobility Services Engine is enforced with the release of 
software version 6.x and greater. Please have the Product Authorization Key 
(PAK) and refer to the instructions in the User Guide to enable licensing.




PRESS <ENTER> TO CONTINUE: 



===============================================================================


Installing MSE version: 7.4.100.0




===============================================================================
High Availability Role
----------------------

Select a high availability role for this server

  ->1- Primary
    2- Secondary

ENTER THE NUMBER FOR YOUR CHOICE, OR PRESS <ENTER> TO ACCEPT THE DEFAULT:
   : 




===============================================================================
MSE Startup
-----------

Would you like the Cisco Mobility Services Engine to startup automatically at 
system boot up?

  ->1- Yes
    2- No

ENTER THE NUMBER OF THE DESIRED CHOICE, OR PRESS <ENTER> TO ACCEPT THE 
   DEFAULT: 



===============================================================================
Pre-Installation Summary
------------------------

Please Review the Following Before Continuing:

Product Name:
    Cisco Mobility Services Engine

Install Folder:
    /opt/mse

Link Folder:
    /tmp

Disk Space Information (for Installation Target): 
    Required:  2,531,801,347 bytes
    Available: 515,381,497,856 bytes

PRESS <ENTER> TO CONTINUE: 



===============================================================================
Installing...
-------------

 [==================|==================|==================|==================]
 [------------------|------------------|------------------|------------------]



===============================================================================
Database Installation
---------------------

The installer will now install the database. This may take a long time (up to 
30 minutes). Do not cancel the installer.

PRESS <ENTER> TO CONTINUE: 



===============================================================================
!!!! IMPORTANT NOTE !!!! :
--------------------------

The system is minimally configured right now. It is strongly recommended that 
you run the setup script under /opt/mse/setup/setup.sh to configure all 
appliance related parameters immediately after installation is complete.

The hostname must be set correctly on the system. The Cisco MSE platform will 
NOT start if it is configured incorrectly or not configured at all.

Additionally, it is strongly recommended that the Cisco MSE be configured to 
use the same NTP servers as the controllers with which it will be synchronized.
This is essential to the correct operation of the Cisco Mobility Services 
Engine.

Both these parameters may be configured as part of the setup script.


PRESS <ENTER> TO CONTINUE: 



===============================================================================
Installation Complete
---------------------

Congratulations. Cisco Mobility Services Engine has been successfully installed


Por hora temos um MSE re-instalado em um Appliance 3355 sobre um RedHat. Vamos ver os próximos passos
 Após a instalação, temos que executar o script de configuração. Para isso temos que navegar até o diretório /opt/mse/setup:

[root@mse-bsb setup]# ./setup.sh

--------------------------------------------------------------

Welcome to the appliance setup.

Please enter the requested information.  At any prompt,
enter ^ to go back to the previous prompt. You may exit at 
any time by typing <Ctrl+C>.  

You will be prompted to choose whether you wish to configure a 
parameter, skip it, or reset it to its initial default value.
Skipping a parameter will leave it unchanged from its current
value.

Changes made will only be applied to the system once all the 
information is entered and verified.

--------------------------------------------------------------


Current hostname=[hostname]
Configure hostname?  (Y)es/(S)kip/(U)se default [Skip]: 

Current domain=[domain]
Configure domain name? (Y)es/(S)kip/(U)se default [Skip]: 

Current role=[Primary]
Configure High Availability?  (Y)es/(S)kip/(U)se default [Skip]: 

Current IP address=[IP]
Current eth0 netmask=[MASK]
Current gateway address=[GW]
Configure eth0 interface parameters? (Y)es/(S)kip/(U)se default [Skip]: 

The second ethernet interface is currently disabled for this machine.
Configure eth1 interface parameters? (Y)es/(S)kip/(U)se default [Skip]: 

Domain Name Service (DNS) Setup
DNS is currently enabled.
Current DNS server 1=[DNS]
Configure DNS related parameters? (Y)es/(S)kip/(U)se default [Skip]: 

Current timezone=[Time Zone]
Configure timezone? (Y)es/(S)kip/(U)se default [Skip]: 

Enter whether you would like to specify the 
day and time when you want the MSE to be restarted. If you don't specify anything, then 
Saturday 1 AM will be taken as default.

Configure future restart day and time ? (Y)es/(S)kip [Skip]: 

Configure Remote Syslog Server to publish/MSE logs MSE logs.

A Remote Syslog Server has not been configured for this machine.
Configure Remote Syslog Server Configuration parameters? (Y)es/(S)kip/(U)se default [Skip]: 

Enter whether or not you would like to change the
iptables for this machine (giving access to certain host).

Configure Host access control settings ? (Y)es/(S)kip [Skip]: y
Choose to add/delete/clear host for access control(add/delete/clear): add
Enter IP address of the host / subnet for access to MSE : 10.0.0.0

Network Time Protocol (NTP) Setup.

If you choose to enable NTP, the system time will be
configured from NTP servers that you select.  Otherwise,
you will be prompted to enter the current date and time.

NTP is currently enabled.
Current NTP server 1=[NTP Server]
A second NTP server has not been defined.
Configure NTP related parameters? (Y)es/(S)kip/(U)se default [Skip]: 

Audit rules Setup.
Configure audit rules and enable Audit daemon? (Y)es/(S)kip/(U)se default [Skip]: 

Current Login Banner = [Cisco Mobility Service Engine]
Configure login banner (Y)es/(S)kip/(U)se default [Skip]: 

System console is not restricted.
Configure system console restrictions? (Y)es/(S)kip/(U)se default [Skip]: 

SSH root access is currently enabled.
Configure ssh access for root (Y)es/(S)kip/(U)se default [Skip]: 

Single user mode password check is currently disabled.
Configure single user mode password check (Y)es/(S)kip/(U)se default [Skip]: 

Configure root password? (Y)es/(S)kip/(U)se default [Skip]: 

Login and password strength related parameter setup
Maximum number of days a password may be used : 99999
Minimum number of days allowed between password changes : 0
Minimum acceptable password length : disabled
Login delay after failed login : 5
Checking for strong passwords is currently enabled.
Configure login/password related parameters? (Y)es/(S)kip/(U)se default [Skip]: 

GRUB password is not currently configured.
Configure GRUB password (Y)es/(D)isable/(S)kip/(U)se default [Skip]: 

Configure NCS communication username? (Y)es/(S)kip/(U)se default [Skip]: U
The NCS communication username will be reset to "admin"

Configure NCS communication password? (Y)es/(S)kip/(U)se default [Skip]: 

Please verify the following setup information.

-------BEGIN--------

      Update MSE Host access control settings=Yes, Add/Delete host=add Server=10.0.0.0
    NCS username is changed.

-------END--------

You may enter "yes" to proceed with configuration, "no" to make
more changes, or "^" to go back to the previous step.

Configuration Changed
Is the above information correct (yes, no, or ^): yes

------------------------------------------------------------

Setup will now attempt to apply the configuration.

Changing Firewall for the given server
Setting ncs username.
Restarting network services with new settings.
Shutting down interface eth0:  [  OK  ]

Shutting down loopback interface:  [  OK  ]

Bringing up loopback interface:  [  OK  ]

Bringing up interface eth0:  [  OK  ]

***Configuration successful***
Restarting MSE framework service.
Stopping MSE Platform 
Flushing firewall rules: [  OK  ]

Setting chains to policy ACCEPT: filter [  OK  ]

Unloading iptables modules: [  OK  ]


Starting MSE Platform  

Flushing firewall rules: [  OK  ]

Setting chains to policy ACCEPT: filter [  OK  ]

Unloading iptables modules: [  OK  ]

Starting Health Monitor, Waiting to check the status.
Health Monitor successfully started
Starting Admin process... 
Started Admin process. 
Database started successfully. Starting framework and services ...
Database started successfully. Starting framework and services .............
Framework and services successfully started



Exiting setup script...

Update MSE Host access control settings=Yes, Add/Delete host=add Server=10.0.0.0, NCS username is changed.
Success
[root@mse setup]# 

Preenchido corretamente todos os campos solicitados no setup.sh, teremos um MSE ativo na rede. No meu caso, restava saber se os problemas foram resolvidos:

[root@mse setup]# /etc/init.d/msed status
STATUS:
Health Monitor is running
Starting MSE Platform, Waiting to check the status.
MSE services are up, getting the status

-------------
Server Config
-------------

Product name: Cisco Mobility Service Engine
Version: 7.4.100.0
Health Monitor Ip Address: 1.1.1.1
High Availability Role: 1
Hw Version: V02
Hw Product Identifier: AIR-MSE-3355-K9
Hw Serial Number:
Use HTTP: false
Legacy HTTPS: false
Legacy Port: 8001
Log Modules: -1
Log Level: INFO
Days to keep events: 2
Session timeout in mins: 30
DB backup in days: 2
[7m--More-- [m

[K
[7m--More-- [m
-------------
Services
-------------

Service Name: Context Aware Service
Service Version: 7.4.0.38
Admin Status: Enabled
Operation Status: Up

Service Name: WIPS
Service Version: 1.0.4041.0
Admin Status: Disabled
Operation Status: Down

Service Name: Mobile Concierge Service
Service Version: 2.0.0.37
Admin Status: Disabled
Operation Status: Down

Service Name: Location Analytics Service
Service Version: 1.0.0.12
Admin Status: Disabled
Operation Status: Down
[7m--More-- [m

[K
[7m--More-- [m
--------------
Server Monitor
--------------


Server start time: //////////////////////////////////////
Server current time: //////////////////////////////////////
Server timezone: //////////////////////////////////////
Server timezone offset: -10800000
Restarts: 0
Used Memory (bytes): 96994096
Allocated Memory (bytes): 514523136
Max Memory (bytes): 514523136
DB virtual memory (kbytes): 0
DB virtual memory limit (bytes): 0
DB disk memory (bytes): 2022057536
DB free size (kbytes): 0

-------------
Context Aware Service
-------------

Total Active Elements(Wireless Clients, Tags, Rogue APs, Rogue Clients, Interfer
[7m--More-- [m
ers, Wired Clients): 0
Active Wireless Clients: 0
Active Tags: 0
Active Rogue APs: 0
Active Rogue Clients: 0
Active Interferers: 0
Active Wired Clients: 0
Active Elements(Wireless Clients, Rogue APs, Rogue Clients, Interferers, Wired C
lients, Tags) Limit: 100
Active Sessions: 0
Wireless Clients Not Tracked due to the limiting: 0
Tags Not Tracked due to the limiting: 0
Rogue APs Not Tracked due to the limiting: 0
Rogue Clients Not Tracked due to the limiting: 0
Interferers Not Tracked due to the limiting: 0
Wired Clients Not Tracked due to the limiting: 0
Total Elements(Wireless Clients, Rogue APs, Rogue Clients, Interferers, Wired Cl
ients) Not Tracked due to the limiting: 0

-------------------------
Context Aware Sub Services
-------------------------

[7m--More-- [m
Subservice Name: Aeroscout Tag Engine
Admin Status: Disabled
Operation Status: Down

Subservice Name: Cisco Tag Engine
Admin Status: Enabled
Operation Status: Up

Tudo correto. Algumas informações foram modificadas intencionalmente.
Entretanto isso não é tudo. Ter um MSE up and running na rede não servirá de nada. Para que ele seja útil, é preciso integrá-lo aos demais componentes da rede wireless.
 A imagem abaixo localizará o MSE na arquitetura:




Como visto acima, o MSE ocupa uma posição entre as WLC´s e o Cisco Prime. Ele se comunica com as WLC´s usando o protocolo NMSP (Network Mobility Service Protocol)  e com o Prime através de SNMP (Simple Network Management Protocol). 
 Até a versão 8, o MSE não possui sequer uma interface gráfica. Ele é estritamente acessado e configurado via CLI.
 Não existe, entretanto, um local no MSE onde configuramos a WLC ou vice-versa. Quem orquestra toda a comunicação é o Prime. É esperado que o Prime faça seu trabalho, porém, existe algo que pode ser feito manualmente, como veremos abaixo:

[root@mse ~]# cmdshell
cmd> show server-auth-info
invoke command: com.aes.server.cli.CmdGetServerAuthInfo
AesLog queue high mark: 50000
AesLog queue low mark: 500
----------------
Server Auth Info
----------------
MAC Address: 00:50:56:89:2b:4a
SHA1 Key Hash: b45bfbec4db0403c55a9d094963ed259b108a243
SHA2 Key Hash: a471b440b7dd6d972de9d4fe0733434ea6e0344ec2531d879a86df425ff1da39
Certificate Type: SSC

 Essas informações devem ser obtidas no MSE. Na WLC precisamos fazer o seguinte:

(5508-1) >config auth-list add sha256-lbs-ssc 00:50:56:89:2b:4a a471b440b7dd6d972de9d4fe0733434ea6e0344ec2531d879a86df425ff1da3

Existe uma comunicação segura em SSL entre ambos. 

 A adição do MSE no Prime é simples e requer os seguintes parâmetros:

-Hostname
-IP
-Usuário
-Senha
Como sempre a informação de Contato é opcional. Não vou mostrar aqui porque não tenho acesso a um Prime nesse momento. Mas é muito simples e intuitivo.

Assim chegamos ao fim do artigo. Eu o considero muito útil porque ao ter deparado com o problema, não encontrei nenhuma informação em português para ajudar. Fica,então, essa fonte como referência.