RouterOS es parte de la comunidad.red colección y solo admite conexiones CLI en la actualidad. httpapi Es posible que se agreguen módulos en el futuro. Esta página ofrece detalles sobre cómo usar ansible.netcommon.network_cli en RouterOS en Ansible.

  • Conexiones disponibles
  • Uso de la CLI en Ansible

    • CLI de ejemplo group_vars/routeros.yml
    • Ejemplo de tarea CLI

Conexiones disponibles

CLI

Protocolo

SSH

Cartas credenciales

utiliza SSH keys / SSH-agente si está presente

acepta -u myuser -k si usa contraseña

Acceso indirecto

a través de un bastión (host de salto)

Configuración de conexión

ansible_connection: ansible.network.network_cli

Habilitar modo
(Escalada de privilegios)

no es compatible con RouterOS

Formato de datos devueltos

stdout[0].

RouterOS no es compatible ansible_connection: local. Debes usar ansible_connection: ansible.netcommon.network_cli.

Uso de la CLI en Ansible

CLI de ejemplo group_vars/routeros.yml

ansible_connection: ansible.netcommon.network_cli
ansible_network_os: community.network.routeros
ansible_user: myuser
ansible_password:!vault...ansible_become: yes
ansible_become_method: enable
ansible_become_password:!vault...ansible_ssh_common_args:'-o ProxyCommand="ssh -W %h:%p -q bastion01"'
  • Si está utilizando SSH keys (incluido un ssh-agent) puede eliminar el ansible_password configuración.
  • Si está accediendo a su host directamente (no a través de un bastión/host de salto), puede eliminar el ansible_ssh_common_args configuración.
  • Si está accediendo a su host a través de un bastión/host de salto, no puede incluir su contraseña SSH en el ProxyCommand directiva. Para evitar que se filtren secretos (por ejemplo, en ps salida), SSH no admite proporcionar contraseñas a través de variables de entorno.
  • Si recibe errores de tiempo de espera, es posible que desee agregar +cet1024w sufijo a su nombre de usuario que deshabilitará los colores de la consola, habilitará el modo “tonto”, le indicará a RouterOS que no intente detectar las capacidades de la terminal y establecerá el ancho de la terminal en 1024 columnas. ver artículo Proceso de inicio de sesión de la consola en la wiki de MikroTik para obtener más información.

Ejemplo de tarea CLI

-name: Display resource statistics (routeros)
  community.network.routeros_command:commands: /system resource print
  register: routeros_resources
  when: ansible_network_os == 'community.network.routeros'

Advertencia

Nunca almacene contraseñas en texto sin formato. Recomendamos usar SSH keys para autenticar las conexiones SSH. Ansible admite ssh-agent para administrar su SSH keys. Si debe utilizar contraseñas para autenticar las conexiones SSH, le recomendamos cifrarlas con Bóveda de Ansible.

Ver también

Configuración de opciones de tiempo de espera