routeros-qemu-chr
Executar o MikroTik RouterOS CHR no QEMU
O MikroTik RouterOS CHR oferece um roteador virtual completo para testes e desenvolvimento, mas a configuração exige navegar por opções do QEMU, drivers VirtIO e configurações de firmware. Esta habilidade fornece orientação completa para executar o CHR com aceleração, configuração adequada do VirtIO e integração com a API REST.
Baixar o ZIP da skill
Upload no Claude
Vá em Configurações → Capacidades → Skills → Upload skill
Ative e comece a usar
Testar
A utilizar "routeros-qemu-chr". Inicializar o CHR com aceleração KVM e API REST na porta 9180
Resultado esperado:
O QEMU inicia com aceleração de hardware. O RouterOS inicializa em ~5 segundos. Resposta HTTP 200 de http://127.0.0.1:9180/ confirma que está pronto. API REST acessível em http://127.0.0.1:9180/rest/ com credenciais de administrador.
A utilizar "routeros-qemu-chr". Habilitar KVM no runner Ubuntu do GitHub Actions
Resultado esperado:
Regra udev criada em /etc/udev/rules.d/99-kvm4all.rules. Permissões do dispositivo KVM atualizadas para 0666. QEMU abre com sucesso /dev/kvm para aceleração de hardware. Tempo de inicialização reduzido de ~30s para ~5s.
A utilizar "routeros-qemu-chr". Configurar encaminhamento de portas para serviços RouterOS
Resultado esperado:
Portas do hospedeiro mapeadas: 9180→80 (API REST), 9122→22 (SSH), 9728→8728 (API), 9729→8729 (API-SSL), 9291→8291 (WinBox). Serviços acessíveis do hospedeiro via portas localhost.
Auditoria de Segurança
Baixo RiscoDocumentation and reference skill for running RouterOS CHR in QEMU. Static analysis flagged 343 patterns, but evaluation reveals these are false positives: shell backtick notation in markdown code examples (not execution), sudo in GitHub Actions CI (expected), MD5 references in kernel history docs (not actual usage), and legitimate acceleration detection commands. All network access targets MikroTik infrastructure for downloading CHR images. Risk level set to LOW due to external command patterns in documentation examples, but no actual malicious code present.
Problemas de Alto Risco (4)
Problemas de Risco Médio (3)
Problemas de Baixo Risco (2)
Fatores de risco
⚙️ Comandos externos (3)
🌐 Acesso à rede (2)
📁 Acesso ao sistema de arquivos (2)
Pontuação de qualidade
O Que Você Pode Construir
Teste Automatizado da API REST RouterOS em CI
Execute o RouterOS CHR como um fixture de teste de CI para validar chamadas da API REST, gerar esquemas RAML e testar configurações /app YAML sem configuração manual do roteador.
Ambiente de Desenvolvimento e Aprendizado
Inicialize uma instância CHR com licença gratuita para explorar recursos do RouterOS, testar regras de firewall, experimentar com bridging e aprender conceitos de rede sem hardware de produção.
Teste Multi-Arquitetura
Teste configurações do RouterOS nas arquiteturas x86_64 e aarch64 usando QEMU com firmware apropriado (SeaBIOS para x86, UEFI para ARM) e opções de aceleração.
Tente Estes Prompts
Ajude-me a configurar o RouterOS CHR no QEMU. Preciso baixar a imagem estável mais recente e inicializá-la com aceleração KVM e porta 9180 para a API REST.
Escreva um fluxo de trabalho do GitHub Actions que baixa o RouterOS CHR, inicializa com KVM se disponível (com fallback para TCG), aguarda a inicialização e executa testes da API REST.
Configure o QEMU para inicializar o RouterOS CHR aarch64 no macOS Apple Silicon. Inclua a configuração UEFI pflash e a configuração explícita do dispositivo virtio-blk-pci.
O RouterOS CHR falha ao inicializar com uma tela em branco. A imagem de disco usa if=virtio no aarch64. O que pode estar errado e como corrigir?
Melhores Práticas
- Use -device virtio-blk-pci explícito em vez da forma abreviada if=virtio no aarch64 para evitar a armadilha MMIO que causa falhas silenciosas de inicialização
- Verifique se /dev/kvm permite escrita (não apenas existência) antes de habilitar o KVM, e sempre faça fallback para TCG elegantemente caso o KVM não esteja disponível
- Use padrões de encaminhamento de portas como tcp::9180-:80 em vez de codificar IPs localhost para tornar a configuração portátil e reutilizável
Evitar
- Não use if=virtio na arquitetura aarch64 - isso resolve para MMIO, que o RouterOS não suporta, causando falhas silenciosas de inicialização
- Não ignore a verificação de permissão do KVM - /dev/kvm pode existir, mas estar ilegível, e o QEMU não faz fallback silencioso para TCG em erros de permissão
- Não use git pull && git push em builds CI concorrentes - use o padrão retry-with-rebase para evitar rejeições de push por condições de corrida