vpn_gateway

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

Ansible Роль: VPN Gateway

Это Ansible роль, которая управляет настройкой VPN-туннеля между двумя узлами на основе IPsec / strongSwan и предоставляет конфигурацию маршрутизации, связанную с шлюзом.

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

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

vpn_gateway_configs:
  - name: default
    psk: secret

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

vpn_gateway_configs:
  - name: default
    state: absent

Конкретную конфигурацию шлюза можно удалить с помощью state: absent.

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

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

vpn_gateway_configs:
  - name: default
    psk: secret
    local:
      public: 1.1.1.1
      networks:
        - 172.4.0.0/21
    remote:
      public: 1.2.3.4
      networks:
        - 172.240.0.0/21
        - 10.2.0.0/16

Конфигурационный набор содержит части конфигурации local и remote узлов.

vpn_gateway_default_config_params:
  type: tunnel
  keyingtries: 0
  ikelifetime: 1h
  lifetime: 8h
  dpddelay: 300s
  dpdtimeout: 120
  dpdaction: clear
  authby: secret
  auto: start
  esp: aes256-sha256-modp3072
  ike: aes256-sha256-modp3072
  keyexchange: ikev2
  leftfirewall: 'yes'
  compress: 'no'
  rekey: 'no'
  fragmentation: 'yes'
  forceencaps: 'yes'

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

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

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

Теги

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

  • vpn_gateway: Обхватывает весь жизненный цикл роли.
  • vpn_gateway_validate, validate: Проверяет заданную конфигурацию.
  • vpn_gateway_install, install: Устанавливает необходимые пакеты.
  • vpn_gateway_config, config: Настраивает необходимые пакеты.

Зависимости

Нет.

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

- hosts: all
  roles:
     - nl2go.vpn_gateway

Разработка

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

Введите токен Hetzner Cloud:

export HCLOUD_TOKEN=123abc456efg

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

molecule test --all

Поддержка

Лицензия

Смотрите файл LICENSE.md для получения подробной информации.

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

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

О проекте

Manages a VPN tunnel setup between two peers based on IPsec/strongSwanand provides gateway related routing configuration.

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