Quando eu comecei na área de redes estava ficando popular o PoE – Power over Ethernet, conforme padrão 802.3af do IEEE – Institute of Electrical and Electronics Engineers. Antes disso era comum encontrarmos equipamentos Cisco com o Inline Power, tecnologia PoE criada pela Cisco, antes da padronização do IEEE. Desde então tivemos a proliferação de dispositivos com suporte ao fornecimento/alimentação de energia elétrica via cabo de rede. Se inicialmente os telefones e access-points eram os principais dispositivos alimentados via PoE, com o decorrer dos anos essa tecnologia mostrou-se útil para alimentar outros equipamentos, e hoje vemos catracas, relógios de ponto, thinclients e até switches sendo alimentados via cabo de rede. Para prover energia para todos estes tipos de dipositivos, além do 802.3af, temos o 802.3at (conhecido como PoE+) e o 802.3bt (4PPoE). Quando falamos de PoE, em qualquer padrão, o disposto que é a fonte de energia é chamado PSE – Power Sourcing Equipament (normalmente um switch), e o dispositivo que é alimentado via cabo de rede é chamado PD – Powered Device. Interessante que durante as pesquisas para fazer este post, achei bastante informação divergente. E diferente do que que acontece com RFCs, os padrões IEEE não estão disponíveis gratuitamente. Cisco UPoE Em 2014 a Cisco lançou o UPoE – Universal Power over Ethernet, que usa os 4 pares do cabo UTP e fornece até 60 Watts de potência. Este padrão Cisco foi o precursor do modelo 802.3bt. Até a próxima.
Atualizando Cisco Firepower FXOS
Os appliances Firepowers 2100, 4100 e 9300 possuem uma espécie de hypervisor, análogo ao VMware ESXi. Este sistema operacional é chamado FXOS – Firepower eXtensible Operating System. Eventualmente este software pode precisar ser atualizado, e para isso usamos o FCM – Firepower Chassis Manager, interface gráfica para administração do appliance (o FCM é como o CIMC que temos em servidores Cisco, ILO em servidores HP ou DRAC nos servidores DELL). Atualizando o FXOS 1) Acesse a FCM e faça o login. Vá em System > Updates e clique em Upload Image para fazer o upload do novo FXOS. 2) Após terminar o upload basta clicar no ícone com duas setas (upgrade). Se não houver nenhum Logical Device incompatível, o upgrade iniciará. O appliance será reiniciado durante o processo. 3) Acesse o appliance via linha de comando para acompanhar o upgrade, se quiser. Após fazer o login, digite scope system e então show firmware monitor. Este comando vai mostrar a versão atual e o status de 3 componentes. 4) Repita o comando show firmware monitor e observe que os componentes estarão sendo atualizados. 5) Repita o comando (show firmware monitor) e quando todos os itens estiverem com a nova versão o upgrade terminou. O upgrade pode demorar até 30 minutos. Para ver a lista de appliances e logical devices suportados para cada versão de FXOS veja a lista de compatibilidade. E mais detalhes do processo de upgrade neste link. Até a próxima.
Cisco IOS-XE Packet Capture (TCPDump em switches e roteadores)
Uma funcionalidade que gosto bastante no IOS-XE (também disponível nos IOSs mais novos) é o Embedded Packet Capture. Com esta funcionalidade podemos fazer a captura de pacotes que passam por uma determinada interface , semelhante ao TCPDump. Os pacotes capturados são armazenados na DRAM do equipamento (ou seja, não ficam salvos após o reload), e podemos vê-los diretamente na CLI do roteador. Outra opção é salvar os pacotes em um arquivo .PCAP, transferir para o computador e então abri-lo. Neste caso, salvando o arquivo na flash, ele ficará armazenado mesmo após o reload. Usando Packet Capture no IOS-XE Basta informarmos um nome para a captura, a interface que desejamos monitorar, e então iniciamos a coleta. Depois de um tempo, quando achar que já pegou os pacotes que queria, a captura pode ser interrompida. BrainGW01#monitor capture cap1 interface g3/0/4 both match any BrainGW01#show monitor capture cap1 parameter monitor capture cap1 interface GigabitEthernet3/0/4 BOTH monitor capture cap1 match any monitor capture cap1 buffer size 10 monitor capture cap1 limit pps 1000 BrainGW01#monitor capture cap1 start Started capture point : cap1 BrainGW01#monitor capture cap1 stop Stopped capture point : cap1 BrainGW01# Para visualizar um sumário do que foi capturado, basta usar o comando abaixo. BRDC1IWANHUB_01#show monitor capture cap1 buffer brief —————————————————————————- # size timestamp source destination dscp protocol —————————————————————————- 0 251 0.000000 10.45.41.22 -> 10.40.16.165 34 AF41 UDP 1 279 0.000000 10.40.16.165 -> 10.45.41.22 0 BE ICMP 2 279 0.000000 10.40.16.165 -> 10.45.41.22 0 BE ICMP 3 66 0.000000 10.45.40.18 -> 10.40.16.165 0 BE TCP 4 279 0.000992 10.40.16.165 -> 10.45.41.22 0 BE ICMP 5 129 0.001999 10.40.16.156 -> 10.41.114.22 0 BE TCP 6 77 0.001999 10.40.16.156 -> 10.41.114.22 0 BE TCP 7 68 0.001999 10.40.16.156 -> 10.41.114.11 0 BE TCP 8 1078 0.001999 10.47.58.101 -> 10.47.81.80 0 BE TCP 9 54 0.003998 10.43.52.25 -> 10.40.16.131 0 BE TCP 10 1414 0.003998 10.40.16.131 -> 10.43.52.25 0 BE TCP 11 1414 0.003998 10.40.16.131 -> 10.43.52.25 0 BE TCP A opção show monitor capture cap1 buffer detailed mostra mais informações dos pacotes capturados. E podemos usar os filtros de output (include, exclude, section,…) como em outros comandos. Caso necessário podemos salvar a captura em um arquivo e copiar para o computador. BrainGW01#monitor capture cap1 export location flash:/teste.pcap BrainGW01#copy flash:/cap1.pcap tftp://10.100.0.3/cap1.pcap Teoricamente podemos exportar da DRAM diretamente para o TFTP, mas já tive problemas ao fazer isso (o arquivo não era copiado). Use o comando no monitor capture cap1 para remover a captura do equipamento. Este é o exemplo mais simples, mas podemos escolher se capturamos os pacotes de entrada e/ou saída da interface, o protocolo (IPv4, IPv6), ou ainda usar uma ACL para ser mais específico. No IOS os comandos são um pouco diferentes, mas temos o mesmo resultado. Mais informações sobre o EPC, e exemplo de uso no IOS, neste link. Até a próxima.
Instalando licença no Cisco CSR1000V
O Cisco Cloud Services Router (CSR) 1000v é um roteador virtual que pode rodar em VMWare, Citrix, KVM, HyperV e ainda na AWS. Ao fazer o download do virtual appliance ele funciona por 60 dias com licença AX – Application Experience, e 100-Kbps de throughput. É um equipamento interessante para fazer lab/simulações e também para ter em produção. E neste caso, para continuar usando o roteador, precisamos adicionar as devidas licenças. Licenças disponíveis: IP Base Technology package, 10 Gbps SEC Technology package, 5 Gbps APP Technology package, 5 Gbps AX Technology package, 2.5 Gbps 1000 broadband sessions 12 GB memory upgrade Depois de adquirir a licença e baixá-la (cisco.com/go/license), bastar copiar o arquivo para a flash do CSR100V e instruir o equipamento à utilizá-la. 1) Verificando status atual. BrainCSR#show license detail % Error: No licenses found 2) Copiando a licença para flash. BrainCSR#copy tftp: flash: Address or name of remote host []? 10.123.45.201 Source filename []? 9CHKWF6EAX_20181021111852501.lic Destination filename [9CHKWF6EAX_20181021111852501.lic]? Accessing tftp://10.123.45.201/9CHKWF6EAX_20181021111852501.lic… Loading 9CHKWF6EAX_20181021111852501.lic from 10.123.45.201 (via GigabitEthernet1): ! [OK – 1239 bytes] 1239 bytes copied in 0.066 secs (18773 bytes/sec) BrainCSR#dir | in .lic 25 -rw- 1239 Oct 21 2018 17:20:05 -02:00 9CHKWF6EAX_20181021111852501.lic 3) Instalando a licença. BrainCSR#license install bootflash:9CHKWF6EAX_20181021111852501.lic Installing licenses from “bootflash:9CHKWF6EAX_20181021111852501.lic” Installing…Feature:ax_2500M…Successful:Supported 1/1 licenses were successfully installed 0/1 licenses were existing licenses 0/1 licenses were failed to install 4) Configurando o roteador para usar a licença no próximo boot. BrainCSR#conf t Enter configuration commands, one per line. End with CNTL/Z. BrainCSR(config)#license boot level ax % use ‘write’ command to make license boot config take effect on next boot 5) Aceite o End User Agreement. BrainCSR(config)#license accept end user agreement PLEASE READ THE FOLLOWING TERMS CAREFULLY. INSTALLING THE LICENSE OR LICENSE KEY PROVIDED FOR ANY CISCO PRODUCT FEATURE OR USING SUCH PRODUCT FEATURE CONSTITUTES YOUR FULL ACCEPTANCE OF THE FOLLOWING TERMS. YOU MUST NOT PROCEED FURTHER IF YOU ARE NOT WILLING TO BE BOUND BY ALL THE TERMS SET FORTH HEREIN. Use of this product feature requires an additional license from Cisco, together with an additional payment. You may use this product feature on an evaluation basis, without payment to Cisco, for 60 days. Your use of the product, including during the 60 day evaluation period, is subject to the Cisco end user license agreement http://www.cisco.com/en/US/docs/general/warranty/English/EU1KEN_.html If you use the product feature beyond the 60 day evaluation period, you must submit the appropriate payment to Cisco for the license. After the 60 day evaluation period, your use of the product feature will be governed solely by the Cisco end user license agreement (link above), together with any supplements relating to such product feature. The above applies even if the evaluation license is not automatically terminated and you do not receive any notice of the expiration of the evaluation period. It is your responsibility to determine when the evaluation period is complete and you are required to make payment to Cisco for your use of the product feature beyond the evaluation period. Your acceptance of this agreement for the software features on one product shall be deemed your acceptance with respect to all such software on all Cisco products you purchase which includes the same software. (The foregoing notwithstanding, you must purchase a license for each software feature you use past the 60 days evaluation period, so that if you enable a software feature on 1000 devices, you must purchase 1000 licenses for use past the 60 day evaluation period.) Activation of the software command line interface will be evidence of your acceptance of this agreement. ACCEPT? (yes/[no]): yes BrainCSR(config)#end 6) Salve a config e reinicie o roteador. BrainCSR#wr mem Building configuration… [OK] BrainCSR#reload 7) Verifique a licença em uso. BrainCSR#sh license detail Index: 1 Feature: ax_2500M Version: 1.0 License Type: Permanent License State: Active, In Use License Count: Non-Counted License Priority: Medium Store Index: 0 Store Name: Primary License Storage BrainCSR# BrainCSR#show platform hardware throughput level The current throughput level is 2500000 kb/s No caso de licença trial temos um a linha com a data que a licença expira. Mais informações: Datasheet CSR1000v Cisco Software Licensing (CSL) CSR1000v Trial Até a próxima.
Cisco FMC com deployment travado
A Cisco tem se esforçado para resolver os bugs no Firepower/FTD/FMC/FDM, mas apesar da melhoria ainda temos alguns problemas (a versão 6.3 está bem melhor, e recomendo à todos o upgrade). Um problema no FMC que já vi algumas vezes em versões anteriores a 6.3, são deployments que ficam travados. Inclusive acontece de aparecer deployment para device que não existe. No exemplo abaixo, aqui no laboratório, tínhamos apenas um 5506X, mas o FMC mostrava um deployment rodando a mais de 5 mil dias em um ASA5515X. Nestes casos a primeira opção é acionar o TAC, e deixar que eles façam o diagnóstico e a correção (normalmente deletando o job ou a entrada na tabela, como veremos a seguir). Mas caso você não tenha acesso ao TAC, pode tentar (por conta e risco), este procedimento, que peguei no fórum da Cisco. 1) Acesse o FMC via CLI e eleve o privilégio para root. root@FireSIGHT:~# sudo su – 2) Reinicie a console. root@FireSIGHT:~# /etc/rc.d/init.d/console restart Verifique na interface gráfica se o deployment continua sendo exibido. Se continuar, remova o deployment do banco de dados. 3) Verifique na tabela de notificações os itens com status 7, pedindo para mostrar o identificador (uuid). OmniQuery.pl -db mdb -e “select status,category,hex(uuid) from notification where status=7;” +——–+——————-+———————————-+ | status | category | hex(uuid) | +——–+——————-+———————————-+ | 7 | task:category.150 | 24EB1942AF4B3369B4134E3F345C03F7 | | 7 | task:category.150 | 07EE0C1F9DF737698DDA0892FE202599 | +——–+——————-+———————————-+ 2 rows in set 4) Delete as entradas na tabela, especificando o uuid. OmniQuery.pl -db mdb -e ‘delete from notification where uuid=unhex(“24EB1942AF4B3369B4134E3F345C03F7”);’ OmniQuery.pl -db mdb -e ‘delete from notification where uuid=unhex(“07EE0C1F9DF737698DDA0892FE202599″);’ Verifique novamente a interface gráfica, e com sorte o deployment não estará mais lá. Neste caso específico, esse “job” apareceu sozinho, e continuava sendo exibido mesmo depois de outros deployments válidos serem executados. Até a próxima.
Cisco Router DHCP database
Podemos configurar DHCP Server nos roteadores (e até nos switches) Cisco, e isso não é nenhuma novidade. Esta funcionalidade é bem útil em ambientes menores, onde por vezes não temos um servidor para fazer esta função. Também é comum ter o roteador como DHCP server na rede de voz, para os telefones. Acontece que se usarmos apenas a configuração básica temos uma limitação que pode causar problemas. Por padrão a tabela de lease (binding) fica na memória RAM, e assim, caso o roteador seja reiniciado ele volta sem saber quais IPs já foram atribuidos. Isso obviamente acaba acarretando conflito de IPs, uma vez que o roteador passa a distribuir IPs que já estão sendo utilizados. Felizmente podemos resolver isso com o comando ip dhcp database, e apontar a nvram como destino do arquivo que armazenará as informações. Podemos apontar um destino externo, como FTP, ou ainda, teoricamente, a flash. Porém já vi relatos de problemas quando usamos a flash, então não recomendaria esta opção. Configurando DHCP Server com Binding Persistente BrainRT01#conf tBrainRT01(config)#ip dhcp database nvram:dhcp_bindingBrainRT01(config)#ip dhcp excluded-address 10.10.20.1 10.10.20.10BrainRT01(config)#ip dhcp excluded-address 10.10.20.254BrainRT01(config)#ip dhcp pool VOICEBrainRT01(dhcp-config)#network 10.10.20.0 255.255.255.0BrainRT01(dhcp-config)#default-router 10.10.20.1BrainRT01(dhcp-config)#option 150 ip 10.10.20.7BrainRT01(dhcp-config)#dns-server 10.10.10.9 10.10.10.10BrainRT01(dhcp-config)#endBrainRT01#Verficação binding RAMBrainRT01#show ip dhcp bindingBindings from all pools not associated with VRF:IP address Client-ID/ Lease expiration Type Hardware address/ User name10.10.20.11 0100.0e38.92dd.d1 Mar 29 2019 10:38 AM Automatic10.10.20.13 0100.0e38.88e9.5a Mar 29 2019 04:05 PM Automatic10.10.20.14 0100.0e38.92dc.81 Mar 29 2019 04:06 PM Automatic10.10.20.16 0100.14f2.cb7b.c0 Mar 29 2019 06:38 AM Automatic10.10.20.17 0100.14f2.faf3.de Mar 29 2019 04:05 PM Automatic10.10.20.18 0100.0e38.88e9.b7 Mar 29 2019 04:06 PM Automatic10.10.20.19 0100.0e38.6eee.f7 Mar 29 2019 06:38 AM Automatic10.10.20.20 0100.0e38.33a7.57 Mar 29 2019 04:10 PM Automatic10.10.20.21 0100.14f2.cb7b.a6 Mar 29 2019 06:38 AM Automatic10.10.20.23 0100.0e38.92dd.24 Mar 29 2019 04:05 PM Automatic10.10.20.24 0100.14a9.1ab4.e8 Mar 29 2019 06:37 AM AutomaticVerificação Binding NVRAMBrainRT01#more nvram:dhcp_binding*time* Mar 28 2019 04:32 PM*version* 3!IP address Type Hardware address Lease expiration VRF10.10.20.11 id 0100.0e38.92dd.d1 Mar 29 2019 10:38 AM10.10.20.13 id 0100.0e38.88e9.5a Mar 29 2019 04:05 PM10.10.20.14 id 0100.0e38.92dc.81 Mar 29 2019 04:06 PM10.10.20.16 id 0100.14f2.cb7b.c0 Mar 29 2019 06:38 AM10.10.20.17 id 0100.14f2.faf3.de Mar 29 2019 04:05 PM10.10.20.18 id 0100.0e38.88e9.b7 Mar 29 2019 04:06 PM10.10.20.19 id 0100.0e38.6eee.f7 Mar 29 2019 06:38 AM10.10.20.20 id 0100.0e38.33a7.57 Mar 29 2019 04:10 PM10.10.20.21 id 0100.14f2.cb7b.a6 Mar 29 2019 06:38 AM10.10.20.23 id 0100.0e38.92dd.24 Mar 29 2019 04:05 PM10.10.20.24 id 0100.14a9.1ab4.e8 Mar 29 2019 06:37 AM Mais informações sobre DHCP Server no roteador neste link. Até a próxima.