Варианты платформы RouterOS
RouterOS входит в коллекцию community.network и в настоящее время поддерживает только подключения через командную строку. httpapi модули могут быть добавлены в будущем. На этой странице содержатся подробности о том, как использовать ansible.netcommon.network_cli на RouterOS в Ansible.
Доступные подключения
Командная строка | |
|---|---|
Протокол | SSH |
Учетные данные |
использует ключи SSH / SSH-агент, если присутствует принимает |
Непрямой доступ | через бастион (шлюз) |
Настройки подключения |
|
Режим включения | не поддерживается RouterOS |
Формат возвращаемых данных |
|
RouterOS не поддерживает ansible_connection: local. Вы должны использовать ansible_connection: ansible.netcommon.network_cli.
Использование командной строки в Ansible
Пример переменных группы 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"'
- Если вы используете ключи SSH (включая ssh-agent), вы можете удалить конфигурацию
ansible_password. - Если вы получаете доступ к хосту напрямую (не через бастион/шлюз), вы можете удалить конфигурацию
ansible_ssh_common_args. - Если вы получаете доступ к хосту через бастион/шлюз, вы не можете включать свой пароль SSH в директиву
ProxyCommand. Чтобы предотвратить утечку секретов (например, в выводеps), SSH не поддерживает предоставление паролей через переменные окружения. - Если возникают ошибки таймаута, вы можете добавить суффикс
+cet1024wк вашему имени пользователя, что отключит цвета консоли, включит «глухой» режим, запретит RouterOS пытаться определять возможности терминала и установит ширину терминала в 1024 колонки. Подробнее см. статью Процесс входа в консоль в вики MikroTik.
Пример задачи командной строки
- 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–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/network/user_guide/platform_routeros.html