MikroTik

How to Configure XML API on MikroTik: Step by Step

A XML API (Interface de Programação em XML) no Mikrotik é uma interface que permite automação e integração de sistemas externos com dispositivos RouterOS. Por meio de requisições em XML, é possível gerenciar configurações, coletar dados e monitorar a rede de forma programática.

Step-by-Step Guide to Configure and Use the XML API on MikroTik

1. Access the MikroTik

  • Conecte-se ao dispositivo via WinBox, SSH, ou interface Web.

2. Verify the API Service on MikroTik

  • Confirme que o serviço API está habilitado:
    RouterOS
    /ip service print
  • Caso o serviço esteja desativado, ative-o e defina a porta:
    RouterOS
    /ip service set api enabled=yes port=8728

3. Enable API SSL (optional)

  • Para conexões seguras, habilite o API-SSL:
    RouterOS
    /ip service set api-ssl enabled=yes port=8729 certificate=MyCert
  • certificate: Certificado SSL configurado para segurança (opcional).

4. Create a User for API Access

  • Adicione um usuário com permissões específicas para acessar a API:
    RouterOS
    /user add name=api_user group=full password=senha123

5. Configure Firewall Rules for API (optional)

  • Restrinja o acesso à API para IPs confiáveis:
    RouterOS
    /ip firewall filter add chain=input protocol=tcp dst-port=8728 src-address=192.168.1.100 action=accept
    /ip firewall filter add chain=input protocol=tcp dst-port=8728 action=drop

6. Test the XML API Connection

  • Use ferramentas como Postman ou scripts para enviar requisições XML ao Mikrotik:
    • URL de exemplo: http://192.168.1.1:8728
    • Exemplo de comando em Python para conectar à API:
      import ssl from routeros_api import RouterOsApiPoolconnection = RouterOsApiPool('192.168.1.1', username='api_user', password='senha123', plaintext_login=True) api = connection.get_api() result = api.get_resource('/interface').get() print(result) connection.disconnect()

7. Integrate with Automation Systems

  • Utilize a XML API para:
    • Automatizar configurações (ex.: criação de regras de firewall).
    • Monitor network statistics (bandwidth usage, interface status).
    • Generate custom device reports.

8. Monitor API Usage

  • Acompanhe conexões e requisições feitas à API:
    RouterOS
    /log print where topics=api

Final Considerations

A XML API no Mikrotik é uma ferramenta poderosa para integração e automação, permitindo que sistemas externos gerenciem e monitorem dispositivos RouterOS de maneira eficiente.