<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://wiki.cless.pro/index.php?action=history&amp;feed=atom&amp;title=AWX._Mikrotik._%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D1%83%D1%81%D1%82%D1%80%D0%BE%D0%B9%D1%81%D1%82%D0%B2%D0%B0%D0%BC%D0%B8_Mikrotik_RouterOS</id>
	<title>AWX. Mikrotik. Управление устройствами Mikrotik RouterOS - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.cless.pro/index.php?action=history&amp;feed=atom&amp;title=AWX._Mikrotik._%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D1%83%D1%81%D1%82%D1%80%D0%BE%D0%B9%D1%81%D1%82%D0%B2%D0%B0%D0%BC%D0%B8_Mikrotik_RouterOS"/>
	<link rel="alternate" type="text/html" href="https://wiki.cless.pro/index.php?title=AWX._Mikrotik._%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D1%83%D1%81%D1%82%D1%80%D0%BE%D0%B9%D1%81%D1%82%D0%B2%D0%B0%D0%BC%D0%B8_Mikrotik_RouterOS&amp;action=history"/>
	<updated>2026-10-23T00:13:22Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.36.2</generator>
	<entry>
		<id>https://wiki.cless.pro/index.php?title=AWX._Mikrotik._%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D1%83%D1%81%D1%82%D1%80%D0%BE%D0%B9%D1%81%D1%82%D0%B2%D0%B0%D0%BC%D0%B8_Mikrotik_RouterOS&amp;diff=1647&amp;oldid=prev</id>
		<title>Cless: Новая страница: «= Описание = Управление устройствами Mikrotik RouterOS  = Требования =  * Нельзя именовать микротик...»</title>
		<link rel="alternate" type="text/html" href="https://wiki.cless.pro/index.php?title=AWX._Mikrotik._%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D1%83%D1%81%D1%82%D1%80%D0%BE%D0%B9%D1%81%D1%82%D0%B2%D0%B0%D0%BC%D0%B8_Mikrotik_RouterOS&amp;diff=1647&amp;oldid=prev"/>
		<updated>2023-09-09T19:46:21Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «= Описание = Управление устройствами Mikrotik RouterOS  = Требования =  * Нельзя именовать микротик...»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Описание =&lt;br /&gt;
Управление устройствами Mikrotik RouterOS&lt;br /&gt;
&lt;br /&gt;
= Требования =&lt;br /&gt;
&lt;br /&gt;
* Нельзя именовать микротик (/system identity) строкой более 31 символа! Будет ошибка при подключении через Job (а также при подключении через ansible)&lt;br /&gt;
* В версии RouterOS 6.49.x существует ограничение на кол-во строк или общий объем команд RouterOS, которые запускаются из каждого playbook. поэтому необходимо разделять playbook на несколько tasks.  Пример playbook для RouterOS 6.49.x:&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot;&amp;gt;&lt;br /&gt;
---&lt;br /&gt;
- hosts: all&lt;br /&gt;
  gather_facts: false&lt;br /&gt;
&lt;br /&gt;
  tasks:&lt;br /&gt;
    - name: ip-list-trustedLan&lt;br /&gt;
      community.routeros.command:&lt;br /&gt;
        commands:&lt;br /&gt;
            /ip firewall address-list remove [find list=trustedLan];&lt;br /&gt;
            /ip firewall address-list add list=trustedLan address=192.168.4.236/30 comment=blk;&lt;br /&gt;
&lt;br /&gt;
    - name: ip-list-trustedUsersVnc&lt;br /&gt;
      community.routeros.command:&lt;br /&gt;
        commands:&lt;br /&gt;
            /ip firewall address-list remove [find list=trustedUsersVnc] ;&lt;br /&gt;
            /ip firewall address-list add list=trustedUsersVnc address=192.168.2.215 comment=sar-nesterov ;&lt;br /&gt;
&lt;br /&gt;
    - name: ip-list-trustedWan&lt;br /&gt;
      community.routeros.command:&lt;br /&gt;
        commands:&lt;br /&gt;
&lt;br /&gt;
            /ip firewall address-list remove [find list=trustedWan] ;&lt;br /&gt;
            /ip firewall address-list add list=trustedWan address=217.65.208.115 comment=sar ;&lt;br /&gt;
&lt;br /&gt;
    - debug:&lt;br /&gt;
        msg: &amp;quot;host - {{ inventory_hostname }}&amp;quot;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* Установленный собственный сервер Gitlab, с репозитория которого будем динамически скачивать сценарии управления микротиком *.yml и запускать на AWX&lt;br /&gt;
* Созданная в AWX инвентаризация с именем &amp;quot;inv01&amp;quot; (динамическая или созданная статически вручную), в которой уже имеется тестовый хост &amp;quot;alef_mikrotik-test_199-177&amp;quot;, принадлежащий группе &amp;quot;mikrotik-test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
= Настройка =&lt;br /&gt;
&lt;br /&gt;
== На сервере Gitlab ==&lt;br /&gt;
Создаем пустой репозиторий &amp;quot;awx&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== На сервере AWX (CLI) ==&lt;br /&gt;
Генерируем ключ SSH на машине AWX и добавляем его в гитлаб через веб-интерфейс&amp;lt;blockquote&amp;gt;Чтобы пользоваться git-репозиторием &amp;quot;awx&amp;quot; Gitlab на другом устройстве (AWX), необходимо на этом устройстве создать ключ ssh&lt;br /&gt;
&lt;br /&gt;
Generate SSH key&lt;br /&gt;
&lt;br /&gt;
You will get two keys in ~/.ssh/ directory.&lt;br /&gt;
&lt;br /&gt;
* 'id_rsa' would be your private key&lt;br /&gt;
* 'id_rsa.pub' would be your public key.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&amp;lt;code&amp;gt;ssh-keygen&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* по-умолчанию ключи создадутся в /root/.ssh/&lt;br /&gt;
* добавляем содержимое /root/.ssh/id_rsa.pub в веб-интерфейсе Gitlab (в свойствах репозитория): User settings - SSH key&lt;br /&gt;
* далее можем клонировать репозиторий и работать с ним на этом устройстве без использования логина/пароля&lt;br /&gt;
&lt;br /&gt;
Клонируем чистый проект на машину AWX&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;mkdir ~/git_projects&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cd ~/git_projects&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;git clone git@192.168.199.160:gitlab-instance-8aac966e/awx.git&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cd ~/awx&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Подготавливаем дерево файлов и каталогов файл и пушим его на gitlab&amp;lt;blockquote&amp;gt;   Как пример будут использоваться два сценария:&lt;br /&gt;
&lt;br /&gt;
*        mikrotik_router_10_ip-list_set.yml&lt;br /&gt;
*        mikrotik_router_20_firewall_critical-ports_set.yml&lt;br /&gt;
&lt;br /&gt;
   Сценарий mikrotik_router_ALL.yml будет запускать оба предыдущих сценария на AWX одновременно (об этом ниже)&amp;lt;/blockquote&amp;gt;&amp;lt;code&amp;gt;nano ./mikrotik/RPK/firewall/mikrotik_router_10_ip-list_set.yml&amp;lt;/code&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot;&amp;gt;&lt;br /&gt;
---&lt;br /&gt;
- hosts: all&lt;br /&gt;
  gather_facts: false&lt;br /&gt;
  tasks:&lt;br /&gt;
  - name: global VAR create&lt;br /&gt;
   community.routeros.command:&lt;br /&gt;
     commands:&lt;br /&gt;
         /ip firewall address-list remove [find list=trustedLan];&lt;br /&gt;
         /ip firewall address-list add list=trustedLan address=192.168.4.236/30 comment=blk;&lt;br /&gt;
         /ip firewall address-list add list=trustedLan address=192.168.5.236/30 comment=blsh;&lt;br /&gt;
         /ip firewall address-list add list=trustedLan address=192.168.6.236/30 comment=smr;&lt;br /&gt;
         quit;&lt;br /&gt;
  - debug:&lt;br /&gt;
     msg: &amp;quot;System {{ inventory_hostname }}&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;code&amp;gt;nano ./mikrotik/RPK/firewall/mikrotik_router_20_firewall_critical-ports_set.yml&amp;lt;/code&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot;&amp;gt;&lt;br /&gt;
---&lt;br /&gt;
- hosts: all&lt;br /&gt;
  gather_facts: false&lt;br /&gt;
  vars:&lt;br /&gt;
  - fwFilterAddRuleComment: =critical-ports=&lt;br /&gt;
  - fwFilterPlacebeforeRuleComment: =accept-all=&lt;br /&gt;
  &lt;br /&gt;
  tasks:&lt;br /&gt;
  - name: mikrotik router firewall critical ports add&lt;br /&gt;
   community.routeros.command:&lt;br /&gt;
     commands:&lt;br /&gt;
       - # debug&lt;br /&gt;
         :put &amp;quot;{{ fwFilterAddRuleComment }}&amp;quot;;&lt;br /&gt;
         :put &amp;quot;{{ fwFilterPlacebeforeRuleComment }}&amp;quot;;&lt;br /&gt;
       - # remove old rules&lt;br /&gt;
         /ip firewall filter remove [find where comment~&amp;quot;{{ fwFilterAddRuleComment }}&amp;quot;];&lt;br /&gt;
       - # add or update new rules        &lt;br /&gt;
         local &amp;quot;fwFilterRulesArray&amp;quot; [:toarray &amp;quot;&amp;quot;];&lt;br /&gt;
         :foreach i in=[/ip firewall filter find where comment~&amp;quot;{{ fwFilterPlacebeforeRuleComment }}&amp;quot;] do={&lt;br /&gt;
             :set &amp;quot;fwFilterRulesArray&amp;quot; ($&amp;quot;fwFilterRulesArray&amp;quot;, $i)};&lt;br /&gt;
         :foreach x in=$fwFilterRulesArray do={&lt;br /&gt;
             :put $x;};&lt;br /&gt;
         :put &amp;quot;---&amp;quot;;&lt;br /&gt;
         :put ($fwFilterRulesArray-&amp;gt;0);&lt;br /&gt;
         :local fwFilterFirstElement ($fwFilterRulesArray-&amp;gt;0);&lt;br /&gt;
         &lt;br /&gt;
         /ip firewall filter add action=accept chain=input comment=&amp;quot;{{ fwFilterAddRuleComment }} input mgmt ports allow only for trustedSystem&amp;quot; dst-port=21,22,23,8291,8728,8729 protocol=tcp src-address-list=trustedSystem place-before=$fwFilterFirstElement;&lt;br /&gt;
         /ip firewall filter add action=accept chain=input comment=&amp;quot;{{ fwFilterAddRuleComment }} input mgmt ports allow only for trustedLan&amp;quot; dst-port=21,22,23,8291,8728,8729 protocol=tcp src-address-list=trustedLan place-before=$fwFilterFirstElement;&lt;br /&gt;
         /ip firewall filter add action=accept chain=input comment=&amp;quot;{{ fwFilterAddRuleComment }} input mgmt ports allow only for trustedWan&amp;quot; dst-port=21,22,23,8291,8728,8729 protocol=tcp src-address-list=trustedWan place-before=$fwFilterFirstElement;&lt;br /&gt;
         /ip firewall filter add action=drop chain=input comment=&amp;quot;{{ fwFilterAddRuleComment }} input mgmt ports drop for other&amp;quot; dst-port=21,22,23,8291,8728,8729 protocol=tcp place-before=$fwFilterFirstElement;&lt;br /&gt;
         /ip firewall filter add action=accept chain=forward comment=&amp;quot;{{ fwFilterAddRuleComment }} forward all-ppp-iface-in ports allow only for trustedUsersVnc&amp;quot;&lt;br /&gt;
             dst-port=5900,4899 in-interface=all-ppp protocol=tcp src-address-list=trustedUsersVnc place-before=$fwFilterFirstElement;&lt;br /&gt;
         /ip firewall filter add action=accept chain=forward comment=&amp;quot;{{ fwFilterAddRuleComment }} forward all-ppp-iface-in ports allow only for trustedLan&amp;quot;&lt;br /&gt;
             dst-port=21,22,23,4899,5060,5900,8291,8728,8729 in-interface=all-ppp protocol=tcp src-address-list=trustedLan place-before=$fwFilterFirstElement;&lt;br /&gt;
         /ip firewall filter add action=accept chain=forward comment=&amp;quot;{{ fwFilterAddRuleComment }} forward all-ppp-iface-in ports allow only for trustedLan&amp;quot;&lt;br /&gt;
             dst-port=5060 in-interface=all-ppp protocol=udp src-address-list=trustedLan place-before=$fwFilterFirstElement;&lt;br /&gt;
         /ip firewall filter add action=accept chain=forward comment=&amp;quot;{{ fwFilterAddRuleComment }} forward all-ppp-iface-in ports allow only for trustedSystem&amp;quot;&lt;br /&gt;
             dst-port=21,22,23,4899,5060,5900,8291,8728,8729 in-interface=all-ppp protocol=tcp src-address-list=trustedSystem place-before=$fwFilterFirstElement;&lt;br /&gt;
         /ip firewall filter add action=accept chain=forward comment=&amp;quot;{{ fwFilterAddRuleComment }} forward all-ppp-iface-in ports allow only for trustedSystem&amp;quot;&lt;br /&gt;
             dst-port=5060 in-interface=all-ppp protocol=udp src-address-list=trustedSystem place-before=$fwFilterFirstElement;&lt;br /&gt;
         /ip firewall filter add action=drop chain=forward comment=&amp;quot;{{ fwFilterAddRuleComment }}t forward all-ppp-iface-in ports drop for other&amp;quot; dst-port=21,22,23,4899,5060,5900,8291,8728,8729 in-interface=all-ppp protocol=tcp place-before=$fwFilterFirstElement;&lt;br /&gt;
         /ip firewall filter add action=drop chain=forward comment=&amp;quot;{{ fwFilterAddRuleComment }} forward all-ppp-iface-in ports drop for other&amp;quot; dst-port=5060 in-interface=all-ppp protocol=udp place-before=$fwFilterFirstElement;&lt;br /&gt;
       - quit;&lt;br /&gt;
&lt;br /&gt;
  - debug:&lt;br /&gt;
     msg: &amp;quot;System {{ inventory_hostname }}&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;code&amp;gt;nano ./mikrotik/RPK/firewall/mikrotik_router_ALL.yml&amp;lt;/code&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot;&amp;gt;&lt;br /&gt;
---&lt;br /&gt;
- import_playbook: mikrotik_router_10_ip-list_set.yml&lt;br /&gt;
- import_playbook: mikrotik_router_20_firewall_critical-ports_set.yml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Необходимые требования к сценарию:&lt;br /&gt;
&lt;br /&gt;
* расширение *.yml&lt;br /&gt;
* бит исполнения &amp;quot;x&amp;quot; (-rwxr-xr-x)&lt;br /&gt;
&lt;br /&gt;
Присвоим бит &amp;quot;x&amp;quot; файлам    &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;chmod +x mikrotik/RPK/firewall/*&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;tree -p&amp;lt;/code&amp;gt;&lt;br /&gt;
     ├── [drwxr-xr-x]  mikrotik&lt;br /&gt;
     │   └── [drwxr-xr-x]  RPK&lt;br /&gt;
     │       └── [drwxr-xr-x]  firewall&lt;br /&gt;
     │           ├── [-rwxr-xr-x]  mikrotik_router_10_ip-list_set.yml&lt;br /&gt;
     │           ├── [-rwxr-xr-x]  mikrotik_router_20_firewall_critical-ports_set.yml&lt;br /&gt;
     │           └── [-rwxr-xr-x]  mikrotik_router_ALL.yml&lt;br /&gt;
Пушим всё на Gitlab&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;git add *&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;git commit -m &amp;quot;sync to gitlab&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;git push origin&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Теперь необходимо проверить что все файлы и папки отсинхронились в Gitlab&lt;br /&gt;
&lt;br /&gt;
Установка модуля ansible для управления RouterOS&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ansible-galaxy collection install community.routeros&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== На сервере AWX (веб-интерфейс) ==&lt;br /&gt;
Если инвентаризация динамическая и подтягивается из Gitlab (репозиторий &amp;quot;awx&amp;quot;), то предварительно необходимо ВЫКЛЮЧИТЬ галку &amp;quot;Overwrite variables&amp;quot; чтобы при обновлении инвентаризации переменные группы (лог/пас и т.д.) не удалялись.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Inventories - inv01 - Sources - awx&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;code&amp;gt;УБРАТЬ ГАЛКУ: Overwrite variables&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Устанавливаем переменные для '''группы mikrotik-test''' в '''Inventory''' (лог, пас, настройки модуля подключения к mikrotik).&lt;br /&gt;
&lt;br /&gt;
Да, именно здесь, а не в стандартном Credentials. При использовании модуля AWX community.routeros стандартный Credential для routeros не работает.&lt;br /&gt;
&lt;br /&gt;
Все хосты в ней при запуске Job будут подтягивать эти переменные.    &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Inventories - inv01 - Groups - mikrotik-test&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;   - Edit details&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;       Variables (YAML):&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;           ansible_connection: '''ansible.netcommon.network_cli'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;           ansible_network_os: '''community.routeros.routeros'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;           ansible_user: '''service'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;           ansible_ssh_pass: '''PassWord'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Создаем Credentials SCM (Gitlab) для подключения Project к репозиторию Gitlab&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Credentials - Add&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;   Name: '''gitlab'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;   Credential Type: '''Source control'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;   SCM Private Key: '''&amp;lt;...&amp;gt;''' ''# На этой машине (AWX) создаем SSH ключ (уже создали в предыдущем пункте): &amp;quot;ssh-keygen&amp;quot;, содержимое /root/.ssh/id_rsa помещаем в это поле. На Gitlab в настройках профиля добавляем новый SSH-ключ, содержимое /root/.ssh/id_rsa.pub добавляем туда.''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Создаем проект &amp;quot;inv01_control&amp;quot; для управления хостами&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Projects - Add&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;   Name: '''inv01_control'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;   Organization: '''Default'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;   Source Control Type: '''Git'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;   Source Control Revision&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;   Source Control URL: '''git@192.168.199.160:gitlab-instance-8aac966e/test-awx.git'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;   Source Control Credential: '''Scm: gitlab'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;   Default Execution Environment: '''awx-custom-ee''' # это доп образ для работы модуля python zabbix-api, скорее всего для нашей задачи не потребуется (если не настроена динамическая инва), поэтому можно выбрать стандартный AWX-EE&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;   Enabled Options&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;       v - '''Discard local changes before syncing'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;       v - '''Delete the project before syncing'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;       v - '''Update revision on job launch'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Создаем шаблоны Job для запуска задания на mikrotik&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Templates - Add&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;   Name: '''mikrotik_router_10_ip-list_set'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;   Job Type: '''run'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;   Organization: '''Default'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;   Inventory: '''inv01'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;   Project: '''inv01_control'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;   Execution Environment: '''awx-custom-ee''' ''# это доп образ для работы модуля python zabbix-api, скорее всего для нашей задачи не потребуется (если не настроена динамическая инва), поэтому можно выбрать стандартный AWX-EE''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;   Playbook: '''mikrotik/RPK/firewall/mikrotik_router_10_ip-list_set.yml'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;   Limit: '''mikrotik-test''' ''# ОЧЕНЬ ВАЖНАЯ ОПЦИЯ. так как мы запускаем Job для всей инвы inv01, то она ограничивает запуск заданий только для хостов, которые принадлежат группе &amp;quot;mikrotik-test&amp;quot;, ИНАЧЕ ЗАДАНИЕ ЗАПУСТИТСЯ НА ВСЕХ ХОСТАХ ИНВЕНТАРИЗАЦИИ &amp;quot;inv01&amp;quot;''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Templates - Add&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;   Name: '''mikrotik_router_20_firewall_critical-ports_add'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;   Job Type: '''run'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;   Organization: '''Default'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;   Inventory: '''inv01'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;   Project: '''inv01_control'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;   Execution Environment: '''awx-custom-ee''' ''# это доп образ для работы модуля python zabbix-api, скорее всего для нашей задачи не потребуется (если не настроена динамическая инва), поэтому можно выбрать стандартный AWX-EE''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;   Playbook: '''mikrotik/RPK/firewall/mikrotik_router_20_firewall_critical-ports_add.yml'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;   Limit: '''mikrotik-test''' ''# ОЧЕНЬ ВАЖНАЯ ОПЦИЯ. так как мы запускаем Job для всей инвы inv01, то она ограничивает запуск заданий только для хостов, которые принадлежат группе &amp;quot;mikrotik-test&amp;quot;, ИНАЧЕ ЗАДАНИЕ ЗАПУСТИТСЯ НА ВСЕХ ХОСТАХ ИНВЕНТАРИЗАЦИИ &amp;quot;inv01&amp;quot;''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Этот шаблон содержит ссылки на плэйбуки, которые лежат в той же директории, что и сам этот плэйбук и запускает их в порядке, указанном в нем:&amp;lt;blockquote&amp;gt;---&lt;br /&gt;
&lt;br /&gt;
   - import_playbook: mikrotik_router_10_ip-list_set.yml&lt;br /&gt;
&lt;br /&gt;
   - import_playbook: mikrotik_router_20_firewall_critical-ports_set.yml&amp;lt;/blockquote&amp;gt;&amp;lt;code&amp;gt;Templates - Add&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;   Name: '''mikrotik_router_ALL'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;   Job Type: '''run'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;   Organization: '''Default'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;   Inventory: '''inv01'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;   Project: '''inv01_control'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;   Execution Environment: '''awx-custom-ee''' ''# это доп образ для работы модуля python zabbix-api, скорее всего для нашей задачи не потребуется (если не настроена динамическая инва), поэтому можно выбрать стандартный AWX-EE''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;   Playbook: '''mikrotik/RPK/firewall/mikrotik_router_ALL.yml'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;   Limit: '''mikrotik-test''' ''# ОЧЕНЬ ВАЖНАЯ ОПЦИЯ. так как мы запускаем Job для всей инвы inv01, то она ограничивает запуск заданий только для хостов, которые принадлежат группе &amp;quot;mikrotik-test&amp;quot;, ИНАЧЕ ЗАДАНИЕ ЗАПУСТИТСЯ НА ВСЕХ ХОСТАХ ИНВЕНТАРИЗАЦИИ &amp;quot;inv01&amp;quot;''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== На Mikrotik &amp;quot;alef_mikrotik-test_199-177&amp;quot;, которым необходимо управлять ==&lt;br /&gt;
Создаем учетную запись&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;login: '''service'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;pass: '''PassWord'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== На сервере AWX (веб-интерфейс) ==&lt;br /&gt;
Запускаем Job:&lt;br /&gt;
&lt;br /&gt;
* '''mikrotik_router_10_ip-list_set.yml'''&lt;br /&gt;
* '''mikrotik_router_20_firewall_critical-ports_set.yml'''&lt;br /&gt;
&lt;br /&gt;
   ИЛИ&lt;br /&gt;
&lt;br /&gt;
* '''mikrotik_router_ALL.yml''', который будет запускать оба предыдущих сценария на AWX одновременно&lt;br /&gt;
&lt;br /&gt;
[[Категория:AWX]]&lt;br /&gt;
[[Категория:Mikrotik]]&lt;br /&gt;
__ОБЯЗАТЕЛЬНОЕ_ОГЛАВЛЕНИЕ__&lt;/div&gt;</summary>
		<author><name>Cless</name></author>
	</entry>
</feed>