network_encryption

Travis (.org) branch Codecov Ansible Galaxy GitHub tag (latest by date) Ansible Galaxy Downloads

Ansible Роль: Сетевая шифровка

Ansible роль, которая управляет шифрованием сети между хостами инвентаря на основе IPsec / strongSwan.

Требования

Название Тип Версия Местоположение
ansible-filter Python пакет 1.0.0 Управляющий узел

Переменные роли

Доступные переменные перечислены ниже, вместе с их значениями по умолчанию (см. defaults/main.yml):

network_encryption_charon_port: 500

Локально используемый UDP порт. Если установлен в 0, будет назначен случайный порт (смотрите strongswan.conf).

network_encryption_port_nat_t: 4500

Локально используемый UDP порт в случае NAT-T. Если установлен в 0, будет назначен случайный порт. Он должен отличаться от charon.port, в противном случае будет назначен случайный порт (смотрите strongswan.conf).

network_encryption_configs:
  - name: default
    psk: secret
    

Конфигурационные наборы должны быть настроены с использованием переменной network_encryption_configs. Имя конфигурационного набора является обязательным и используется для идентификации. Предварительно разделённый ключ может быть задан с помощью psk.

network_encryption_host_configs:
  - name: default

Хосты могут быть привязаны к конфигурационному набору с помощью переменной network_encryption_host_configs. Конфигурационные наборы ссылаются по имени.

network_encryption_host_configs:
  - name: default
    state: absent

Хост может быть отключен от конфигурационного набора с помощью state: absent.

network_encryption_configs:
  - name: default
    interface: eth0
    psk: secret

Интерфейс может быть указан с помощью переменной interface. Если не указано, по умолчанию используется ansible_default_ipv4.interface.

network_encryption_configs:
  - name: default
    psk: secret
    params:
        lifetime: 8h
        

Общие параметры соединения, такие как lifetime, могут быть заданы в разделе params (смотрите ipsec.conf для полного описания параметров).

network_encryption_default_config_params:
  ike: aes256gcm16-prfsha384-modp4096,aes256gcm16-prfsha384-ecp384!
  esp: aes256gcm16-modp4096,aes256gcm16-ecp384!
  keyingtries: 0
  ikelifetime: 1h
  lifetime: 8h
  dpddelay: 30
  dpdtimeout: 120
  dpdaction: clear
  authby: secret
  keyexchange: ikev2
  type: tunnel

Параметры в params в network_encryption_configs расширяют/заменяют параметры соединения по умолчанию, указанные выше.

network_encryption_config_dir: "/etc/ipsec.d/{{ role_name }}"

Определяет пользовательский каталог конфигурации IPsec для изоляции.

Теги

Теги могут использоваться для ограничения выполнения роли конкретным модулем задачи. Доступные теги:

  • network_encryption: Охватывает полный жизненный цикл роли.
  • network_encryption_install, install: Устанавливает необходимые пакеты.
  • network_encryption_config, config: Настраивает необходимые пакеты.

Зависимости

Нет.

Пример плейбука

- hosts: all
  roles:
     - nl2go.network_encryption
          

Разработка

Используйте docker-molecule в соответствии с инструкциями для запуска Molecule или установите Molecule локально (не рекомендуется, могут возникнуть конфликты версий).

Используйте следующее для запуска тестов:

molecule test --all

Ответственные за поддержку

Лицензия

См. файл LICENSE.md для подробностей.

Информация об авторе

Эта роль была создана в 2019 году компанией Newsletter2Go GmbH.

О проекте

Manage network encryption between inventory hosts based on[IPsec](https://de.wikipedia.org/wiki/IPsec) /[strongSwan](https://www.strongswan.org/).

Установить
ansible-galaxy install nl2go/ansible-role-network-encryption
Лицензия
mit
Загрузки
5404
Владелец