Guia de tecnologias

Como clonar e simular dispositivos de rede no Linux

8 min read Redes Atualizado 18 Sep 2025
Simular dispositivos SNMP no Linux
Simular dispositivos SNMP 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)

  1. Baixe e descompacte o pacote do simulador (por exemplo vxsnmpsimulator-1.3.1.zip).
  2. Diretório recomendado de instalação: /usr/local/vxsnmpsimulator
  3. Crie e mova o ficheiro simulator.conf para /etc/verax.d/
  4. No simulator.conf altere a variável SIMULATOR_HOME para apontar ao diretório de instalação:
SIMULATOR_HOME="/usr/local/vxsnmpsimulator"
  1. 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/
  1. 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'
  1. Copie o arquivo simulatord para /etc/init.d.
  2. 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)

  1. Instale as ferramentas NET-SNMP. Em RHEL/CentOS:
yum install net-snmp-utils

Em Debian/Ubuntu:

apt-get install snmp snmp-mibs-downloader
  1. 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.
  1. 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)

  1. Navegue até vxsnmpsimulator/conf e abra devices.conf.
  2. 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 up

Em sistemas modernos com iproute2:

ip addr add 192.168.160.34/24 dev eth1

Passo 4 — Iniciar a simulação

  1. Certifique‑se de que a porta UDP 161 esteja livre. Pare qualquer serviço que a use (ex.: snmpd) antes de iniciar o simulador.
  2. Inicie o serviço do simulador:
service simulatord start
  1. Abra o Management Console:
service simulatord console
  1. 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.
  2. 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

  1. Confirme que o simulador está executando e que o comando SHOW lista o dispositivo.
  2. No seu sistema de monitoramento (ex.: Zabbix), adicione um novo host usando o IP simulado e configure a autenticação SNMP conforme necessário.
  3. 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

  1. Inventário: liste dispositivos e versões SNMP.
  2. Captura: crie snapshots com snmpwalk para cada dispositivo (nomeie ficheiros por hostname).
  3. Provisionamento: crie entradas em devices.conf e atribua IPs virtuais seguindo um plano de endereçamento de teste.
  4. Validação: inicie simuladores, execute snmpget/snmpwalk e verifique correspondência com os snapshots.
  5. Integração: adicione os hosts ao sistema de monitorização e valide dashboards.
  6. 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 :161

Criar alias IP com iproute2:

ip addr add 192.168.160.34/24 dev eth1

Compatibilidade 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.

Autor
Edição

Materiais semelhantes

Instalar e usar Podman no Debian 11
Containers

Instalar e usar Podman no Debian 11

Apt‑pinning no Debian: guia prático
Administração de sistemas

Apt‑pinning no Debian: guia prático

Injete FSR 4 com OptiScaler em qualquer jogo
Tecnologia

Injete FSR 4 com OptiScaler em qualquer jogo

DansGuardian e Squid com NTLM no Debian Etch
Infraestrutura

DansGuardian e Squid com NTLM no Debian Etch

Corrigir erro de instalação no Android
Android

Corrigir erro de instalação no Android

KNetAttach: Pastas de Rede remota no KDE
KDE

KNetAttach: Pastas de Rede remota no KDE