network_encryption
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