Como clonar e simular dispositivos de rede no Linux
Por que simular dispositivos SNMP?
Simular dispositivos SNMP permite realizar testes de carga, auditorias, validações de monitoramento e treinamentos sem impactar equipamentos reais. É útil para criar ambientes reproducíveis, treinar equipes e testar regras de monitoramento e alertas.
Resumo rápido:
- Captura: use snmpwalk (net-snmp) para gerar um arquivo com OIDs do dispositivo real.
- Configuração: adicione esse arquivo em devices.conf do Verax e atribua um IP virtual.
- Execução: inicie o serviço do simulador e conecte sua ferramenta de monitoramento ao IP virtual.
Importante: não exponha dados sensíveis coletados durante a captura SNMP em ambientes públicos.
Habilidades e requisitos
- Sistema Linux 32/64 bits (ex.: openSUSE, RHEL, Debian) em arquiteturas x86/x64.
- Conectividade TCP/IP com os dispositivos alvo e com a máquina que rodará o simulador.
- Java 1.6+ instalado (JRE/JDK).
- Net-SNMP (ferramentas snmpwalk/snmpget).
- Verax SNMP Agent Simulator (vxsnmpsimulator).
- Ferramenta de monitoramento de rede (Zabbix, Nagios, Prometheus + exporters, etc.).
Observação local: em distribuições baseadas em Debian use apt-get/apt; em Red Hat/CentOS use yum/dnf. Ajuste comandos conforme o gerenciador de pacotes.
Passo 1 — Instalar o SNMP Agent Simulator (Verax)
- Baixe e descompacte o pacote do simulador (por exemplo vxsnmpsimulator-1.3.1.zip).
- Diretório recomendado de instalação: /usr/local/vxsnmpsimulator
- Crie e mova o ficheiro simulator.conf para /etc/verax.d/
- No simulator.conf altere a variável SIMULATOR_HOME para apontar ao diretório de instalação:
SIMULATOR_HOME="/usr/local/vxsnmpsimulator"- No mesmo simulator.conf ajuste JRE_HOME para a pasta onde o Java está instalado:
JRE_HOME=/usr/local/java/jdk1.6.0_14/bin/- Verifique o nome da interface primária usada para criar aliases (ex.: ‘eth1’). A interface principal deve existir antes do simulador iniciar:
PRIMARY_INTERFACE='eth1'- Copie o arquivo simulatord para /etc/init.d.
- Dê permissão de execução aos scripts necessários:
- chmod +x /etc/init.d/simulatord
- chmod +x /usr/local/vxsnmpsimulator/conf/stop
- chmod +x /usr/local/vxsnmpsimulator/conf/vlan_up
- chmod +x /usr/local/vxsnmpsimulator/conf/vlan_down
Notas rápidas:
- Execute os passos com privilégios de root ou via sudo.
- Confirme que a versão do Java é compatível com o simulador.
Passo 2 — Extrair registros SNMP do dispositivo físico (snmpwalk)
- Instale as ferramentas NET-SNMP. Em RHEL/CentOS:
yum install net-snmp-utilsEm Debian/Ubuntu:
apt-get install snmp snmp-mibs-downloader- Capture o snapshot SNMP do dispositivo real com snmpwalk. Exemplo:
snmpwalk -On -Oe -OU -v2c -c public 192.168.100.8 > /root/cisco-snmprecordfile.txt- 192.168.100.8 é o IP do switch Cisco real.
- -v2c e -c public devem refletir a versão e comunidade corretas do dispositivo.
- O ficheiro gerado (cisco-snmprecordfile.txt) contém OIDs e valores que representam o estado do agente real. Esse ficheiro será usado pelo simulador.
Boas práticas na captura:
- Capture fora de horários de pico quando possível.
- Use credenciais apenas com permissão de leitura (community string de leitura).
- Armazene o ficheiro em local protegido se contiver informações sensíveis.
Quando a captura falha: verifique conectividade, comunidades SNMP, ACLs e se o dispositivo limita consultas SNMP.
Passo 3 — Adicionar o dispositivo ao simulador (devices.conf)
- Navegue até vxsnmpsimulator/conf e abra devices.conf.
- Adicione um novo bloco
apontando para o ficheiro gerado e definindo um IP virtual. Exemplo:
Regras e recomendações:
- O IP atribuído ao dispositivo simulado deve ser um IP virtual configurado na interface da máquina que executa o simulador (aliases: eth1:0, eth1:1, etc.).
- Use máscaras e portas apropriadas.
- Mantenha uma convenção de nomes e diretórios para facilitar automação.
Como criar IP virtual rapidamente (exemplo Debian/RHEL):
# ex. criar alias temporário
ifconfig eth1:0 192.168.160.34 netmask 255.255.255.0 upEm sistemas modernos com iproute2:
ip addr add 192.168.160.34/24 dev eth1Passo 4 — Iniciar a simulação
- Certifique‑se de que a porta UDP 161 esteja livre. Pare qualquer serviço que a use (ex.: snmpd) antes de iniciar o simulador.
- Inicie o serviço do simulador:
service simulatord start- Abra o Management Console:
service simulatord console- Ao conectar, o Console pode perguntar se deseja conectar ao servidor localhost por defeito (127.0.0.1:43500). Confirme com “y” se for o caso.
- Use o comando SHOW no console para listar os dispositivos simulados.

Legenda: Animação mostrando a execução do comando SHOW no console do simulador SNMP.
Resultado: o switch Cisco agora está simulado no IP 192.168.160.34.
Final: Adicionar o dispositivo simulado ao sistema de monitoramento
- Confirme que o simulador está executando e que o comando SHOW lista o dispositivo.
- No seu sistema de monitoramento (ex.: Zabbix), adicione um novo host usando o IP simulado e configure a autenticação SNMP conforme necessário.
- Execute verificações iniciais (ping, SNMP discovery) e valide métricas-chave (interfaces, CPU, memória).
Dica: trate o dispositivo simulado exatamente como um dispositivo real para validar templates, triggers e painéis.
Checklist rápido por função
Administrador de Sistema:
- Instalar JRE/JDK compatível.
- Colocar arquivos em /usr/local/vxsnmpsimulator e /etc/verax.d.
- Garantir permissões de execução e serviços de inicialização.
Engenheiro de Rede:
- Capturar snapshot com snmpwalk usando credenciais corretas.
- Validar OIDs críticos no ficheiro gerado.
- Criar IP virtual e validar roteabilidade.
Analista de Monitoramento:
- Criar host no sistema de monitoramento apontando para IP simulado.
- Executar discovery SNMP e testar itens/trigger.
- Validar dashboards e alertas.
Casos de teste / Critérios de aceitação
- O simulador responde a consultas SNMP v2c/v3 conforme configurado.
- As métricas capturadas pelo sistema de monitoramento correspondem aos valores do ficheiro de snapshot.
- O simulador sobrecarregado (muitos dispositivos simulados) mantém latência aceitável para as sondas de monitoramento.
- Ao parar o serviço simulatord, o host deixa de responder a SNMP no IP virtual.
Testes sugeridos:
- Consulta SNMP simples: snmpget -v2c -c public 192.168.160.34 sysName.0
- Varredura: snmpwalk contra /system e /interfaces.
Troubleshooting comum
Problema: o console não lista dispositivos
- Verifique se o caminho filepath em devices.conf está correto e acessível.
- Verifique permissões de arquivo e se o simulatord pode ler o ficheiro.
Problema: porta 161 ocupada
- Pare o serviço snmpd: service snmpd stop (ou systemctl stop snmpd).
- Identifique processos com netstat/ss: ss -lnp | grep :161
Problema: valores diferentes do dispositivo real
- Confirme que o snapshot foi tirado quando o equipamento estava em estado esperado.
- Alguns OIDs são dinâmicos e dependem do estado do equipamento (ex.: contadores de tráfego).
Problema: latência elevada com muitos dispositivos simulados
- Distribua a simulação entre múltiplas instâncias/hosts.
- Ajuste o polling interval no monitoramento para reduzir carga.
Quando a simulação falha — causas comuns e contrapontos
- Falta de permissão SNMP: o dispositivo real pode bloquear consultas de origem fora da rede de gestão. Solução: execute snmpwalk a partir de um host autorizado ou altere ACL temporariamente.
- O simulador não suporta OIDs proprietárias complexas: avaliar alternativas (ver abaixo) ou criar scripts que expõem valores customizados.
- Diferenças de versão SNMP (v1/v2c/v3): garanta que a versão usada na captura e na simulação seja compatível com o monitoramento.
Abordagens alternativas
- snmpsim (Python): um simulador SNMP open source que usa ficheiros de gravação gerados por snmprec/snmpwalk. Fácil de integrar em ambientes CI.
- GNS3 / EVE-NG: para simular dispositivos reais (images de IOS/IOS-XE), útil quando é necessário comportamento de encaminhamento real.
- Containers: encapsular instâncias do simulador em Docker para isolamento e escalabilidade.
Comparação rápida (qualitativa):
- Verax: interface de gestão e múltiplos dispositivos, bom para simulações empresariais.
- snmpsim: leve, scriptable, fácil para pipelines de teste.
Mini‑metodologia para simular uma rede inteira
- Inventário: liste dispositivos e versões SNMP.
- Captura: crie snapshots com snmpwalk para cada dispositivo (nomeie ficheiros por hostname).
- Provisionamento: crie entradas em devices.conf e atribua IPs virtuais seguindo um plano de endereçamento de teste.
- Validação: inicie simuladores, execute snmpget/snmpwalk e verifique correspondência com os snapshots.
- Integração: adicione os hosts ao sistema de monitorização e valide dashboards.
- Escala: automatize criação de aliases/IPs e deploy do simulador (scripts/ansible).
Segurança, privacidade e conformidade
- Trate ficheiros de snapshot como dados sensíveis — podem conter nomes, descrições e informações de topologia.
- Evite transportar ficheiros SNMP sem encriptação entre ambientes.
- Se trabalhar com dados pessoais via MIBs proprietárias, verifique requisitos de privacidade/GDPR.
Snippets e cheatsheet úteis
Testes SNMP básicos:
# Teste de leitura SNMP (sysName)
snmpget -v2c -c public 192.168.160.34 SNMPv2-MIB::sysName.0
# Varredura de interfaces
snmpwalk -v2c -c public 192.168.160.34 IF-MIB::ifDescr
# Verificar se a porta UDP 161 está em escuta
ss -lunp | grep :161Criar alias IP com iproute2:
ip addr add 192.168.160.34/24 dev eth1Compatibilidade e migração
- Se migrar de Verax para snmpsim, exporte os ficheiros de snapshot e converta formatos se necessário.
- Para ambientes baseados em containers, empacote o simulador e monte o diretório de configuração como volume.
- Em distribuições modernas, prefira systemd unit files em vez de scripts em /etc/init.d; crie unidades systemd para simulatord.
Fatores de maturidade (heurística rápida)
- Nível 1 (Manual): captura e simulação feitas manualmente para poucos dispositivos.
- Nível 2 (Automatizado): scripts automatizam captura e deploy do simulador para grupos de dispositivos.
- Nível 3 (Orquestrado): simulação integrada ao CI/CD e ambiente de testes, auto‑escala com containers.
Resumo e próximos passos
- Você aprendeu a instalar o Verax SNMP Agent Simulator, capturar um ficheiro SNMP de um dispositivo real, adicionar o ficheiro a devices.conf e iniciar a simulação.
- Próximos passos: automatizar a captura e o deploy com scripts/Ansible, experimentar snmpsim para cenários baseados em Python e dockerizar o simulador para facilitar testes em pipeline.
Notas finais: documente seus ficheiros de snapshot, mantenha cópias seguras e remova dados sensíveis antes de partilhar com terceiros.
Materiais semelhantes
Instalar e usar Podman no Debian 11
Apt‑pinning no Debian: guia prático
Injete FSR 4 com OptiScaler em qualquer jogo
DansGuardian e Squid com NTLM no Debian Etch
Corrigir erro de instalação no Android