Spec-Zone.ru › Ansible

Параметры платформы RouterOS

RouterOS входит в коллекцию community.network и поддерживает только подключения через CLI и прямой доступ к API. На этой странице приведены сведения об использовании ansible.netcommon.network_cli в RouterOS с Ansible. Дополнительную информацию можно найти в руководстве по SSH для коллекции community.routeros.

Сведения об использовании API RouterOS можно найти в руководстве по API для коллекции community.routeros.

  • Доступные подключения
  • Использование CLI в Ansible

    • Пример CLI group_vars/routeros.yml
    • Пример задачи CLI

Доступные подключения

CLI

Протокол

SSH

Учетные данные

используются ключи SSH / ssh-agent, если они доступны

при использовании пароля принимается -u myuser -k

Непрямой доступ

через бастион (промежуточный узел)

Параметры подключения

ansible_connection: ansible.network.network_cli

Режим enable
(повышение привилегий)

не поддерживается RouterOS

Формат возвращаемых данных

stdout[0].

Модули SSH для RouterOS не поддерживают ansible_connection: local. Необходимо использовать ansible_connection: ansible.netcommon.network_cli.

Модулям API для RouterOS требуется ansible_connection: local. Дополнительные сведения см. в руководстве по API для коллекции community.routeros.

Использование CLI в Ansible

Пример CLI group_vars/routeros.yml

ansible_connection: ansible.netcommon.network_cli
ansible_network_os: community.network.routeros
ansible_user: myuser
ansible_password: !vault...
ansible_become: true
ansible_become_method: enable
ansible_become_password: !vault...
ansible_paramiko_proxy_command: '-o ProxyCommand="ssh -W %h:%p -q bastion01"'
  • Если вы используете ключи SSH (включая ssh-agent), можно удалить конфигурацию ansible_password.
  • Если вы подключаетесь к узлу напрямую (не через бастион/промежуточный узел), можно удалить конфигурацию ansible_paramiko_proxy_command.
  • Если вы подключаетесь к узлу через бастион/промежуточный узел, нельзя указывать пароль SSH в директиве ProxyCommand. Чтобы предотвратить утечку секретов (например, в выводе ps), SSH не поддерживает передачу паролей через переменные среды.
  • Если возникают ошибки времени ожидания, можно добавить суффикс +cet1024w к имени пользователя. Он отключит цвета консоли, включит режим «dumb», укажет RouterOS не определять возможности терминала и установит ширину терминала в 1024 столбца. Дополнительную информацию см. в статье Процесс входа в консоль в вики MikroTik.
  • Дополнительные примечания приведены в руководстве по SSH для коллекции community.routeros.

Пример задачи CLI

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

Предупреждение

Никогда не храните пароли в виде обычного текста. Для аутентификации SSH-подключений рекомендуется использовать ключи SSH. Ansible поддерживает ssh-agent для управления ключами SSH. Если для аутентификации SSH-подключений необходимо использовать пароли, рекомендуется зашифровать их с помощью Ansible Vault.

См. также

Настройка параметров времени ожидания

© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/network/user_guide/platform_routeros.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API