O ping é um dos testes de conectividade mais utilizados. Quando precisamos validar muitos destinos, executar cada comando manualmente se torna repetitivo. Equipamentos Cisco permitem automatizar essa tarefa por meio do Tcl Shell e, em plataformas que oferecem o recurso, por meio de macros de comandos.
Os exemplos abaixo utilizam endereços reservados para documentação. Substitua-os pelos destinos do seu ambiente e execute os testes somente em equipamentos nos quais você tenha autorização.
Ping para vários destinos com Tcl
No modo EXEC privilegiado, entre no Tcl Shell com o comando tclsh. Em seguida, percorra a lista de destinos com foreach:
Router01# tclsh
Router01(tcl)# foreach destino {
+> 192.0.2.10
+> 192.0.2.20
+> 198.51.100.10
+> 203.0.113.10
+> } {
+> puts "\n=== Testando $destino ==="
+> puts [exec "ping $destino repeat 3 timeout 1"]
+> }
O comando executa três tentativas para cada endereço e exibe um cabeçalho antes do resultado. Os parâmetros disponíveis no ping podem variar conforme plataforma e versão. Use ping ? para verificar a sintaxe suportada.
Para sair do Tcl Shell:
Router01(tcl)# tclquit
Usando endereço de origem
Em troubleshooting de roteamento, VPN ou VRF, o endereço de origem pode alterar o resultado. Quando a plataforma aceitar a sintaxe, inclua a origem no comando executado pelo Tcl:
puts [exec "ping $destino source Loopback0 repeat 3 timeout 1"]
Confirme a sintaxe na versão instalada, principalmente quando o equipamento utiliza VRFs ou comandos de ping estendido.
Ping para vários destinos com macro
Em equipamentos que suportam macros CLI, uma sequência fixa de comandos pode ser armazenada e executada posteriormente:
Switch01# configure terminal
Switch01(config)# macro name PING1
Enter macro commands one per line. End with the character '@'.
do ping 192.0.2.10 repeat 3
do ping 192.0.2.20 repeat 3
do ping 198.51.100.10 repeat 3
do ping 203.0.113.10 repeat 3
@
Switch01(config)# end
Switch01# macro global apply PING1
Macros são adequadas para sequências estáticas. Quando a lista muda com frequência, há tratamento de condições ou a automação precisa ser reutilizada em muitos equipamentos, Tcl, EEM ou uma ferramenta externa pode ser mais apropriada.
Cuidados operacionais
- teste o script com poucos destinos antes de ampliar a lista;
- evite laços sem condição de término;
- controle o número de repetições e o timeout;
- não armazene senhas ou outros segredos no script;
- considere o impacto de muitos testes simultâneos;
- registre a origem utilizada e o horário do teste.
Para automações acionadas por eventos, veja também Cisco IOS Embedded Event Manager (EEM).