Spec-Zone.ru › Ansible 2.9

Cisco Meraki Руководство

  • Что такое Cisco Meraki?
    • Переключатели MS
    • Брандмауэры MX
    • Беспроводные точки доступа MR
  • Использование модулей 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 не имеют способа прямого объединения для манипулирования данными. Однако список задач может использовать несколько задач, чтобы разделить список в том месте, где необходимо вставить правило, а затем объединить их обратно с добавленным новым правилом. Этапы таковы:

  1. Создайте пустые списки «передняя» и «задняя».
    vars:
      - front_rules: []
      - back_rules: []
    
  2. Получите существующие правила брандмауэра из 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}}'
    
  3. 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
    
  4. Разделите правила на два списка. Предполагается, что существующий набор правил имеет длину 2 правила.
    - set_fact:
        front_rules: '{{front_rules + [ original_ruleset[:1] ]}}'
    - set_fact:
        back_rules: '{{back_rules + [ original_ruleset[1:] ]}}'
    
  5. Объедините правила с новым правилом посередине.
    - set_fact:
        new_ruleset: '{{front_rules + new_rule + back_rules}}'
    
  6. Загрузите новый набор правил в 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

Spec-Zone.ru

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