TanodTools
PT

Diff de export do RouterOS

Cole dois exports, como antes e depois de uma mudança ou dois roteadores que deveriam ser iguais, e veja exatamente o que difere, menu por menu.

Os dois exports são comparados no navegador e nunca saem do seu dispositivo

Compara os exports linha a linha dentro de cada menu, depois de unir as linhas quebradas e descartar o cabeçalho. Mudanças na ordem das regras aparecem como linhas removidas e adicionadas. Os valores secretos são mascarados por padrão. MikroTik e RouterOS são marcas registradas da SIA Mikrotīkls. Esta ferramenta é independente e não é afiliada nem endossada pela MikroTik.

Como comparar duas configurações do RouterOS

  1. Em cada roteador, ou antes e depois de uma mudança, execute /export (v6: /export hide-sensitive) e copie a saída, ou abra os arquivos .rsc salvos.
  2. Cole o export mais antigo à esquerda e o mais novo à direita. A comparação é atualizada enquanto você digita.
  3. Expanda as seções destacadas para ler o que foi adicionado (+) e removido (−) e copie as mudanças como texto para um registro de mudanças.

Lendo um diff de configuração do RouterOS

Um export é a configuração do roteador escrita como os comandos que a recriariam: uma linha de menu como /ip firewall filter seguida dos comandos add e set daquele menu. Só aparecem os ajustes que diferem dos padrões, o que mantém os exports curtos, mas significa que um ajuste que voltou ao padrão simplesmente desaparece do export mais novo. O diff trata cada menu como uma seção, compara os seus comandos em ordem e destaca as seções que mudaram.

Algumas diferenças são ruído e não mudanças: o cabeçalho com a data do export, o ID do software e o número de série é descartado, as linhas quebradas são unidas e as linhas de comentário podem ser ignoradas. O que sobra é o que o roteador faria de fato de modo diferente. A ordem é mantida de propósito: as regras de firewall, NAT, mangle e queue são processadas de cima para baixo, então mover uma regra é uma mudança real.

Dicas

  • Guarde um export datado depois de cada janela de mudança e compare-o com o anterior para ver exatamente o que foi feito.
  • Conferindo uma atualização da v6 para a v7? Compare o script convertido do assistente de migração com um export feito depois da atualização.
  • Para texto simples que não é um export, o diff de texto geral também compara palavra por palavra.

Perguntas frequentes

Por que comparar por seção em vez do arquivo inteiro?

Um export é uma lista de menus, e o mesmo menu sempre aparece no mesmo lugar. Comparar menu por menu evita que uma mudança em /ip firewall filter se misture com linhas de /ip address e permite ver de relance quais partes da configuração mudaram.

Por que as linhas longas do meu export aparecem diferentes aqui?

O RouterOS quebra as linhas longas de um export com uma barra invertida no final e continua na linha seguinte. O diff as une de novo em uma linha lógica e colapsa os espaços repetidos, então uma regra que apenas foi requebrada não conta como mudança.

Uma regra só mudou de posição, mas aparece como removida e adicionada. Por quê?

A ordem importa nas chains de firewall, NAT e mangle: uma regra que muda de lugar pode alterar o que o roteador faz. Por isso o diff mantém a ordem e mostra uma regra movida como removida da posição antiga e adicionada na nova.

As senhas e chaves ficam ocultas?

Com "Mascarar segredos" ligado, os valores de senhas, secrets, chaves privadas e pré-compartilhadas, chaves MD5 e communities SNMP são substituídos por ***** na comparação. De qualquer forma, nada do que você cola sai do seu navegador.

Posso usar com apenas um export?

Sim. Com apenas um lado preenchido, a página lista as seções desse export com a contagem de linhas de cada uma, o que é um jeito rápido de ler uma configuração longa.