Ansible. Mikrotik. Управление устройствами Mikrotik RouterOS
Перейти к навигации
Перейти к поиску
Описание
Ansible 2 на Centos 7. Управление микротами
Case 1. Using ansible module "community.routeros"
yum install ansible
nano /etc/ansible/ansible.cfg (or ~/.ansible.cfg)
...
[defaults]
host_key_checking = False
...
nano /tmp/hosts
[mt_routers]
192.168.17.8 ansible_host=192.168.17.8 ansible_network_os=routeros ansible_connection=network_cli connection=network_cli ansible_user=service ansible_password=PassWord gather_facts=no
109.195.22.72 ansible_host=109.195.22.72 ansible_network_os=routeros ansible_connection=network_cli connection=network_cli ansible_user=service ansible_password=PassWord gather_facts=no
nano /tmp/playbook.yml
---
- hosts: all
gather_facts: no
tasks:
- name: TEST
community.routeros.command:
commands:
- :global "1234" "1234";
- quit;
- debug:
msg: "Hostname: {{ inventory_hostname }}"
ansible-playbook -vvv -i /tmp/hosts -v /tmp/playbook.yml
Case 2. Using SSH. !!! DOESN'T WORK ANYMORE !!!
nano /etc/ansible/ansible.cfg (or ~/.ansible.cfg)
...
[defaults]
host_key_checking = False
...
nano /etc/ansible/hosts
...
[mt_routers]
192.168.199.1 ansible_connection=paramiko ansible_ssh_user=ansible ansible_ssh_pass=7X85AqCF
192.168.228.1 ansible_connection=paramiko ansible_ssh_user=ansible ansible_ssh_pass=7X85AqCF
...
mkdir /etc/ansible/playbooks
Создаем playbook - файл с задачей для хостов (групп хостов)
nano /etc/ansible/mt_telnet_enable.yml
---
- hosts: mt_routers #Имя группы хостов
serial: 1 #количество систем, которые будут обрабатываться одновременно
#connection: paramiko #тип соединения, по идее уже указан в hosts
#user: ansible #пользователь, тоже указан в hosts
gather_facts: no # Перед работой с хостом ансибл собирает с него инфу с помощью питона, естественно на микротике это работать не будет, так что эту фичу выключаем
tasks: #Выполняем нашу задачу
- name: ip service enable telnet
raw: /ip service enable telnet; quit;
Запускаем playbook
ansible-playbook-2.7 -v /etc/ansible/playbooks/mt_telnet_enable.yml