Cisco Meraki Руководство
- Что такое Cisco Meraki?
- Использование модулей Meraki
- Общие параметры
- Аутентификация Meraki
- Возвращаемые структуры данных
- Обработка возвращаемых данных
- Объединение существующих и новых данных
- Обработка ошибок
Что такое Cisco Meraki?
Cisco Meraki — это простая в использовании облачная платформа сетевой инфраструктуры для корпоративных сред. В то время как большинство сетевого оборудования использует командные интерфейсы (CLI) для конфигурации, Meraki использует удобную панель управления, размещённую в облаке Meraki. Не требуется локальное управляющее оборудование или программное обеспечение — только сетевая инфраструктура для работы вашего бизнеса.
Переключатели MS
Переключатели Meraki MS выпускаются в различных вариантах и форматах. Переключатели Meraki поддерживают порты 10/100/1000/10000, а также технологию mGig компании Cisco для медной связи 2.5/5/10 Гбит/с. Доступны варианты с 8, 24 и 48 портами с PoE (802.3af/802.3at/UPoE), имеющиеся во многих моделях.
Брандмауэры MX
Брандмауэры MX от Meraki поддерживают полную глубокую инспекцию пакетов на уровнях 3-7. Брандмауэры MX совместимы с различными технологиями VPN, включая IPSec, SSL VPN и простую в использовании технологию AutoVPN от Meraki.
Беспроводные точки доступа MR
Беспроводные точки доступа MR — это точки доступа корпоративного класса с высокой производительностью для предприятий. Точки доступа MR имеют технологию MIMO и встроенную технологию формирования луча для высокопроизводительных приложений. BLE позволяет разрабатывать сложные приложения для определения местоположения без использования локальных аналитических платформ.
Использование модулей Meraki
Модули Meraki предоставляют удобный интерфейс для управления вашей средой Meraki с помощью Ansible. Например, информация о настройках SNMP для конкретной организации может быть получена с помощью модуля meraki_snmp <meraki_snmp_module>.
- name: Query SNMP settings
meraki_snmp:
api_key: abc123
org_name: AcmeCorp
state: query
delegate_to: localhost
Можно запросить информацию о конкретном объекте. Например, модуль meraki_admin <meraki_admin_module> поддерживает
- name: Gather information about Jane Doe
meraki_admin:
api_key: abc123
org_name: AcmeCorp
state: query
email: janedoe@email.com
delegate_to: localhost
Общие параметры
Все модули Ansible Meraki поддерживают следующие параметры, которые влияют на взаимодействие с API панели управления Meraki. Большинство из них должны использоваться только разработчиками Meraki, а не широкой публикой.
- host
- Имя хоста или IP-адрес панели управления Meraki.
- use_https
- Указывает, должна ли коммуникация происходить по протоколу HTTPS. (По умолчанию
yes) - use_proxy
- Использовать ли прокси для коммуникации.
- validate_certs
- Определяет, следует ли проверять или доверять сертификатам. (По умолчанию
yes)
Это общие параметры, используемые практически во всех модулях.
- org_name
- Имя организации для выполнения действий.
- org_id
- Идентификатор организации для выполнения действий.
- net_name
- Имя сети для выполнения действий.
- net_id
- Идентификатор сети для выполнения действий.
- state
- Общие указания о действиях.
queryвыполняет поиск.presentсоздает или редактирует.absentудаляет.
Подсказка
Используйте параметры org_id и net_id, когда это возможно. org_name и net_name требуют дополнительных вызовов API для получения значений идентификаторов. org_id и net_id будут выполняться быстрее.
Аутентификация Meraki
Для всех API-запросов к панели управления Meraki требуется API-ключ. API-ключ можно сгенерировать на странице настроек организации. Каждый этап в книге задач требует указания параметра api_key.
Функция «Хранилище» Ansible позволяет хранить конфиденциальные данные, такие как пароли или ключи, в зашифрованных файлах вместо простого текста в ваших книгах задач или ролях. Эти файлы хранилища можно затем распространять или размещать в системе управления версиями. Для получения дополнительной информации см. Использование хранилища в книгах задач.
API Meraki возвращает ошибку 404, если API-ключ неверен. Он не предоставляет никаких специфических ошибок, говорящих о неверном ключе. Если вы получаете ошибку 404, проверьте API-ключ в первую очередь.
Возвращаемые структуры данных
Meraki и связанные с ним модули Ansible возвращают большую часть информации в виде списка. Например, это возвращаемая информация модулем meraki_admin при запросе администраторов. Возвращается список, даже если элементов только один.
[
{
"orgAccess": "full",
"name": "John Doe",
"tags": [],
"networks": [],
"email": "john@doe.com",
"id": "12345677890"
}
]
Обработка возвращаемых данных
Поскольку данные ответа Meraki используют списки вместо должным образом индексированных словарей для ответов, при запросе данных для определенной информации следует применять определённые стратегии. Во многих ситуациях используйте функцию Jinja2 selectattr().
Объединение существующих и новых данных
Модули Meraki Ansible не позволяют манипулировать данными. Например, может потребоваться вставить правило в середину набора правил брандмауэра. Ansible и модули Meraki не имеют способа прямого объединения для манипулирования данными. Однако список задач может использовать несколько задач, чтобы разделить список в том месте, где необходимо вставить правило, а затем объединить их обратно с добавленным новым правилом. Этапы таковы:
-
- Создайте пустые списки «передняя» и «задняя».
-
vars: - front_rules: [] - back_rules: []
-
- Получите существующие правила брандмауэра из Meraki и создайте новую переменную.
-
- name: Get firewall rules meraki_mx_l3_firewall: auth_key: abc123 org_name: YourOrg net_name: YourNet state: query delegate_to: localhost register: rules - set_fact: original_ruleset: '{{rules.data}}'
-
-
Write the new rule. The new rule needs to be in a list so it can be merged with other lists in an upcoming step. The blank - puts the rule in a list so it can be merged. -
- set_fact: new_rule: - - comment: Block traffic to server src_cidr: 192.0.1.0/24 src_port: any dst_cidr: 192.0.1.2/32 dst_port: any protocol: any policy: deny
-
-
- Разделите правила на два списка. Предполагается, что существующий набор правил имеет длину 2 правила.
-
- set_fact: front_rules: '{{front_rules + [ original_ruleset[:1] ]}}' - set_fact: back_rules: '{{back_rules + [ original_ruleset[1:] ]}}'
-
- Объедините правила с новым правилом посередине.
-
- set_fact: new_ruleset: '{{front_rules + new_rule + back_rules}}'
-
- Загрузите новый набор правил в Meraki.
-
- name: Set two firewall rules meraki_mx_l3_firewall: auth_key: abc123 org_name: YourOrg net_name: YourNet state: present rules: '{{ new_ruleset }}' delegate_to: localhost
Обработка ошибок
Модули Meraki Ansible часто завершатся ошибкой, если будут указаны некорректные или несовместимые параметры. Однако, вероятно, будут ситуации, когда модуль примет информацию, но API Meraki отклонит данные. Если это произойдёт, ошибка будет возвращена в поле body для кода состояния HTTP 400.
API Meraki возвращает ошибку 404, если API-ключ неверен. Он не предоставляет никаких специфических сообщений об ошибке, говорящих о неверном ключе. Если вы получаете ошибку 404, проверьте API-ключ в первую очередь. Ошибки 404 также могут возникнуть, если указаны некорректные идентификаторы объектов (например, org_id).
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.8/scenario_guides/guide_meraki.html