sábado, 19 de janeiro de 2013

Montando um Home Lab (Parte 1 - VMWares)

Criar um Home Lab pode te poupar muitas horas de lab remoto durante a sua preparação. Não precisa criar um home lab completo, com gateways de verdade, PVDMs, E1s, telefones... claro, se você tiver condições, melhor! Mas montar um lab completo sai caro e toma tempo... a sugestão que eu dou é criar um lab simples, sem muito (ou nenhum) investimento, para poder testar algumas coisas. E dá para testar bastante coisa! No lab que vou mostrar nos próximos posts utilizaremos basicamente VMWare e GNS3/Dynamips.

Primeiramente, você precisa das ISOs de instalação do CUCM, CUC, UCCX e CUPS. Você pode comprar da Cisco uma versão para lab, ou usar métodos alternativos por sua conta em risco! hehehe... O caso do UCCX é um pouco mais complicado porque precisa de licença, precisa da ISO de instalação do Windows, etc. Para os outros servidores, existe uma forma de transformar um ISO de upgrade (que você pode baixar do site da Cisco) em "bootável". Veja aqui.

Fora as ISOs, você precisa de uma máquina relativamente boa. Mas não precisa exagerar! A minha por exemplo é um Intel QuadCore 2.66GHz, 8GB de RAM, rodando um Windows 7 64bits. E rodava bem... isso porque durante o seu lab, você não precisa subir as 4 VMs ao mesmo tempo. Sobe apenas as que você precisa e deixa as outras em Suspended. E a dica que eu dou também é usar processador da Intel. Já tive vários problemas rodando em AMD.

E finalmente, você vai precisar de um VMWare Workstation (que é pago... mas aí você dá os seus pulos! hehehehe), do GNS3 (que é gratuito e você pode baixar aqui), e de algumas IOSs.

Com tudo isso em mãos, vamos começar a montar o lab, que terá a seguinte topologia:

Nesse post falarei apenas do Site HQ, que vai ser basicamente subir os 4 servidores. Não vou entrar na parte de GNS3 ainda, senão vai ficar muita coisa.


1. Rede

Primeiro, você tem que decidir se vai por os servidores na mesma LAN da sua casa, ou se vai criar uma rede isolada dentro do seu computador. Eu acho mais legal colocar na LAN da sua casa, porque aí você pode colocar outros notebooks na rede e subir vários IP Communicators e tal, vai poder acessar os servidores via Wireless de um outro local... enfim, fica melhor!Para isso não precisamos fazer nada com relação a configuração de rede no VMWare. Mas como teremos os sites Branch1 e Branch 2 (esses sim criados como uma rede isolada dentro da sua máquina), vamos criar essas duas redes usando a ferramenta Network Editor, que vem junto na instalação da VMWare. Essa ferramenta tem essa cara:


Vamos colocar os servidores na VMnet0 (que está como Bridged, ou seja, vai usar a rede que está conectada na interface selecionada, entrando na LAN da sua casa), e criaremos a VMnet1 e VMnet2, cada uma em uma rede diferente, onde colocaremos o Branch1 e Branch2, respectivamente.
Para isso, em cada uma delas, selecione a opção Host-Only, habilite o DHCP e defina o IP da rede, como mostra abaixo:


No meu exemplo, defini como sendo 172.16.20.0/24 a rede da VMnet1 (Branch1) e 172.16.30.0/24 a rede da VMnet2 (Branch2).

Repare que o Windows criou 2 placas de redes virtuais. Atribua a elas os IPs 172.16.20.100 e 172.16.30.100, por exemplo:


Agora finalmente vamos começar a criar as VMs.


2. Criando as Máquinas Virtuais

Com a rede preparada, é hora de começarmos a criar as máquinas virtuais. Criaremos inicialmente 4 VMs, uma para cada servidor. No lab real, tem mais uma que é o CUCM Subscriber. Mas para o nosso home lab, ele não é necessário.

No VMWare Workstation, vá em File >> New >> Virtual Machine. Selecione a opção Custom (advanced) e depois Next.



Quando ele pedir para escolher o driver ou ISO de instalação, selecione a opção "I will install the operating system later", e clique Next.




O wizard vai pedir para você escolher o Sistema Operacional. Se for alguma versão antes da 8.6, escolha Linux >> Red Hat Enterprise Linux 4. Após a 8.6, o sistema operacional passa a ser Red Hat Linux 5. Mas como estamos montando um lab de CCIE, com os servidores na versão 7.0, vamos escolher o Red Hat 4.


Escolha um nome para a máquina, e um diretório para armazená-la. Veja se você tem bastante espaço em disco!


Deixe o número de processadores e core, como 1, e aloque 2048 MB de RAM para cada VM.


Selecione o opção "Use bridged networking" como Network Type, para que a VM utilize a LAN da sua casa.

 

Use o disco LSI Logic e crie um novo disco virtual do tipo SCSI com 80GB. Não aloque o espaço, deixe que a VM cresça sozinha... dificilmente vai chegar nos 80GB. E recomendo que divida o disco em arquivos de 2GB, no caso de você ter que copiar a VM para um HD externo que por acaso esteja formatado em FAT32 (já aconteceu comigo! hehe).

 

Pronto, a sua VM foi criada, e você vai vê-la na barra da esquerda. Clique com o botão direito nela e vá em Settings. Veja se a configuração está ok, depois clique em CD/DVD, marque a opção "Connected at power on", e selecione "Use ISO image file", selecionando o ISO de instalação.


Pronto, é só ligar a VM que ela já vai iniciar a instalação. Instale normalmente, como você faz no dia-a-dia. No caso das versões 8.x, é obrigatório você ter um servidor NTP, aí você pode usar um externo (ntp.br), ou subir um roteador no GSN3, como veremos nos próximos posts.

No caso do CCX é quase a mesma coisa, mas você deve selecionar como sistema operacional o Windows 2003 Server.

Nos próximos posts continuarei com a montagem desse Home Lab.

quarta-feira, 2 de janeiro de 2013

Instalando locales no CME

E ai pessoal!
Primeiramente, Feliz Ano Novo!!! Espero que 2013 seja um ano de muitas conquistas para você, assim como foi 2012 para mim!

Bom, começo o ano escrevendo sobre como instalar uma nova locale no CME a partir da versão 7.0. Você pode encontrar o procedimento completo neste link. Mas resumidamente, os passos são:

1. Baixe o pacote de línguas do CME do site da Cisco. É um arquivo ZIP com todas as locales disponíveis em formato TAR. Escolha os TARs que você deseja, e jogue na flash do roteador, dentro da pasta its/
copy tftp://x.x.x.x/CME-locale-xx_XX-Xxxxxx-8.6.2.4.tar flash:/its/

2. Defina o cnf-file como "perphone", dentro de telephony-service
telephony-service
 cnf-file perphone

3. Defina o cnf-file location na flash
telephony-service
 cnf-file location flash:

4. Defina a locale default do sistema.
telephony-service
 user-locale U1 load CME-locale-pt_BR-Portuguese-8.6.2.4.tar

Essa vai ser a locale default, definida na "user-locale 0". Dessa forma, todos os telefones estarão em Portugues. Se é isso que você deseja, pode parar por aqui. Mas caso você queira alguns telefones em outras línguas, execute os passos abaixo.

5. Defina as locales adicionais.
telephony-service
 user-locale 1 U2 load CME-locale-en_US-English-8.6.2.4.tar
 user-locale 2 U3 load CME-locale-ja_JP-Japanese-8.6.2.4.tar

Agora, definimos na "user-locale 1" a lingua inglesa e na "user-locale 2" a lingua japonesa.

6. Aplique as linguas em ephone-templates, e os templates nos ephones.
ephone-template 1
 user-locale 1

ephone-template 2
 user-locale 2

ephone 1
 ephone-template 1

ephone 2
 ephone-template 2

Atualize os arquivos CNF:
telephony-service
 create cnf-file

E resete os telefones.


Troubleshooting

Você não precisa adicionar nada no tftp-server, porque ele cria o binding automaticamente. Você pode verificar isso com o comando show telephony-service tftp-bindings:

tftp-server flash:/its/user_define_1_7905-dictionary.xml alias User_Define_1/7905-dictionary.xml
tftp-server flash:/its/user_define_1_7905-kate.xml alias User_Define_1/7905-kate.xml
tftp-server flash:/its/user_define_1_7921-dictionary.xml alias User_Define_1/7921-dictionary.xml
tftp-server flash:/its/user_define_1_7921-font.dat alias User_Define_1/7921-font.dat
tftp-server flash:/its/user_define_1_7921-kate.utf-8.xml alias User_Define_1/7921-kate.utf-8.xml
tftp-server flash:/its/user_define_1_7921-kate.xml alias User_Define_1/7921-kate.xml
tftp-server flash:/its/user_define_1_7960-dictionary.xml alias User_Define_1/7960-dictionary.xml
tftp-server flash:/its/user_define_1_7960-dictionary-ext.xml alias User_Define_1/7960-dictionary-ext.xml
tftp-server flash:/its/user_define_1_7960-font.xml alias User_Define_1/7960-font.xml
tftp-server flash:/its/user_define_1_7960-kate.xml alias User_Define_1/7960-kate.xml
tftp-server flash:/its/user_define_1_be-sccp.jar alias User_Define_1/be-sccp.jar
tftp-server flash:/its/user_define_1_g3-tones.xml alias User_Define_1/g3-tones.xml
tftp-server flash:/its/user_define_1_gp-sccp.jar alias User_Define_1/gp-sccp.jar
tftp-server flash:/its/user_define_1_ipc-sccp.jar alias User_Define_1/ipc-sccp.jar
tftp-server flash:/its/user_define_1_mk-sccp.jar alias User_Define_1/mk-sccp.jar
tftp-server flash:/its/user_define_1_SCCP-dictionary.utf-8.xml alias User_Define_1/SCCP-dictionary.utf-8.xml
tftp-server flash:/its/user_define_1_SCCP-dictionary.xml alias User_Define_1/SCCP-dictionary.xml
tftp-server flash:/its/user_define_1_SCCP-dictionary-ext.xml alias User_Define_1/SCCP-dictionary-ext.xml
tftp-server flash:/its/user_define_1_tags_file alias User_Define_1/tags_file
tftp-server flash:/its/user_define_1_tc-sccp.jar alias User_Define_1/tc-sccp.jar
tftp-server flash:/its/user_define_1_td-sccp.jar alias User_Define_1/td-sccp.jar
tftp-server flash:/its/user_define_1_rp-sccp.jar alias User_Define_1/rp-sccp.jar
tftp-server flash:/its/user_define_1_utf8_tags_file alias User_Define_1/utf8_tags_file
tftp-server flash:/its/user_define_1_rtl-sccp.jar alias User_Define_1/rtl-sccp.jar
tftp-server flash:/its/user_define_1_g4-tones.xml alias User_Define_1/g4-tones.xml


Obviamente, os arquivos devem estar na flash. O CME instala esses arquivos no passo 4/5. É automático, você não precisa descompactar o TAR manualmente

Router# sh flash | i user_define_1
178      62041 Jan 2 2013 12:48:52 +00:00 its/user_define_1_ipc-sccp.jar
186      69903 Jan 2 2013 12:48:56 +00:00 its/user_define_1_rp-sccp.jar
187      71837 Jan 2 2013 12:48:56 +00:00 its/user_define_1_tc-sccp.jar
188       2858 Jan 2 2013 12:48:54 +00:00 its/user_define_1_tags_file
189       4141 Jan 2 2013 12:48:54 +00:00 its/user_define_1_SCCP-dictionary.xml
190       6656 Jan 2 2013 12:48:54 +00:00 its/user_define_1_SCCP-dictionary.utf-8.xml
191      75004 Jan 2 2013 12:48:52 +00:00 its/user_define_1_gp-sccp.jar
192       1302 Jan 2 2013 12:48:50 +00:00 its/user_define_1_g3-tones.xml
193      61964 Jan 2 2013 12:48:50 +00:00 its/user_define_1_be-sccp.jar
194        736 Jan 2 2013 12:48:50 +00:00 its/user_define_1_7960-tones.xml
195      13326 Jan 2 2013 12:48:48 +00:00 its/user_define_1_7960-font.xml
196      23450 Jan 2 2013 12:48:48 +00:00 its/user_define_1_7960-dictionary-ext.xml
197      22811 Jan 2 2013 12:48:48 +00:00 its/user_define_1_7960-dictionary.xml
198       1820 Jan 2 2013 12:48:48 +00:00 its/user_define_1_7921-kate.xml
199     137616 Jan 2 2013 12:48:46 +00:00 its/user_define_1_7921-font.dat
200       1820 Jan 2 2013 12:48:46 +00:00 its/user_define_1_7905-kate.xml
201      20718 Jan 2 2013 12:48:46 +00:00 its/user_define_1_7905-dictionary.xml
202       1789 Jan 2 2013 12:48:58 +00:00 its/user_define_1_g4-tones.xml
203        636 Jan 2 2013 12:48:58 +00:00 its/user_define_1_CME-locale-pt_BR-Portuguese-8.6.2.4.tar.cfg
204     120131 Jan 2 2013 12:48:58 +00:00 its/user_define_1_rtl-sccp.jar
205       2839 Jan 2 2013 12:48:56 +00:00 its/user_define_1_utf8_tags_file
206      62041 Jan 2 2013 12:48:56 +00:00 its/user_define_1_td-sccp.jar
207       6557 Jan 2 2013 12:48:54 +00:00 its/user_define_1_SCCP-dictionary-ext.xml
208      61764 Jan 2 2013 12:48:52 +00:00 its/user_define_1_mk-sccp.jar
209       1820 Jan 2 2013 12:48:50 +00:00 its/user_define_1_7960-kate.xml
210       1886 Jan 2 2013 12:48:48 +00:00 its/user_define_1_7921-kate.utf-8.xml
211      60189 Jan 2 2013 12:48:46 +00:00 its/user_define_1_7921-dictionary.xml



Verifique se os arquivos estão ok na flash, e se os bindings do tftp foram criados. Caso esteja tudo ok, veja se o arquivo de configuração do telefone está com a linguagem correta. Esses arquivos ficam na flash (porque definimos nos passos 2 e 3), e tem o nome no formato SEP<MAC_Address>.cnf.xml. Para visualizá-los, faça:
Router# sh flash | i <MAC Address>
131       1475 Jan 2 2013 13:26:44 +00:00 its/vrf1/SEP0021A0D76E1B.cnf.xml
Router# more its/vrf1/SEP0021A0D76E1B.cnf.xml

No arquivo, você deve ver algo assim:
<userLocale>
<name>User_Define_1</name>
<langCode>pt_BR</langCode>
<winCharSet>utf-8</winCharSet>
</userLocale>


Outro comando útil para esse troubleshooting, é verificar se o telefone está conseguindo fazer o download dos arquivos via tftp. Use o debug tftp events.
Jan  2 13:50:25.671: TFTP: Looking for CTLSEP0021A0D76E1B.tlv
Jan  2 13:50:25.771: TFTP: Looking for ITLSEP0021A0D76E1B.tlv
Jan  2 13:50:25.891: TFTP: Looking for ITLFile.tlv
Jan  2 13:50:26.083: TFTP: Looking for SEP0021A0D76E1B.cnf.xml
Jan  2 13:50:26.087: TFTP: Opened flash:/its/vrf1/SEP0021A0D76E1B.cnf.xml, fd 14, size 1475 for process 30
Jan  2 13:50:26.091: TFTP: Finished flash:/its/vrf1/SEP0021A0D76E1B.cnf.xml, time 00:00:00 for process 30
Jan  2 13:50:28.703: TFTP: Looking for User_Define_2/td-sccp.jar
Jan  2 13:50:28.707: TFTP: Opened flash:/its/user_define_2_td-sccp.jar, fd 14, size 59183 for process 30
Jan  2 13:50:28.887: TFTP: Finished flash:/its/user_define_2_td-sccp.jar, time 00:00:00 for process 30