openvpn

Ansible роль openvpn

Установите и настройте сервер или клиент openvpn на вашей системе.

GitHub GitLab Скачивания Версия
github gitlab downloads Версия

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

Этот пример взят из molecule/default/converge.yml и тестируется на каждом пуше, запросе на вытягивание и релизе.

---
- name: Converge
  hosts: all
  become: true
  gather_facts: true

  tasks:
    - name: Создать сервер openvpn
      ansible.builtin.include_role:
        name: robertdebock.openvpn
      vars:
        openvpn_role: "server"

    - name: Скопировать сертификаты и ключи с сервера на клиент
      ansible.builtin.copy:
        src: /etc/openvpn/easy-rsa/pki/{{ item }}
        dest: /etc/openvpn/client/{{ item | basename }}
        mode: "0640"
        remote_src: true
      loop:
        - ca.crt
        - issued/client.crt
        - private/client.key
        - ta.key

    - name: Создать клиент openvpn
      ansible.builtin.include_role:
        name: robertdebock.openvpn
      vars:
        openvpn_role: "client"
        openvpn_client_server: "127.0.0.1"

Машину нужно подготовить. В CI это делается с помощью molecule/default/prepare.yml:

---
- name: Подготовить
  hosts: all
  become: true
  gather_facts: false

  roles:
    - role: robertdebock.bootstrap
    - role: robertdebock.epel

Смотрите также полное объяснение и пример о том, как использовать эти роли.

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

Значения по умолчанию для переменных установлены в defaults/main.yml:

---
# файл по умолчанию для openvpn

# Вы можете настроить как клиент, так и сервер с помощью этой роли.
# Используйте `server` или `client` для `openvpn_role`.

openvpn_role: server

# Если вы настраиваете клиент, установите эти переменные:
# openvpn_role: client
# openvpn_client_server: vpn.example.com

Требования

Состояние используемых ролей

Для подготовки системы используются следующие роли. Вы можете подготовить вашу систему другим способом.

Требование GitHub GitLab
robertdebock.bootstrap Статус сборки GitHub Статус сборки GitLab
robertdebock.epel Статус сборки GitHub Статус сборки GitLab

Контекст

Эта роль является частью многих совместимых ролей. Ознакомьтесь с документацией этих ролей для получения дополнительной информации.

Вот обзор связанных ролей: dependencies

Совместимость

Эта роль была протестирована на следующих образах контейнеров:

контейнер теги
EL 9
Debian все
Ubuntu focal

Минимальная версия Ansible, которая требуется — 2.12, тесты проводились на:

  • Предыдущей версии.
  • Текущей версии.
  • Версии разработки.

Если вы найдете проблемы, пожалуйста, сообщите о них в GitHub.

Лицензия

Apache-2.0.

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

robertdebock

Пожалуйста, подумайте о спонсировании меня.

О проекте

Install and configure openvpn server or client on your system.

Установить
ansible-galaxy install robertdebock/ansible-role-openvpn
Лицензия
apache-2.0
Загрузки
22021
Владелец
I know my way around (Linux) infrastructure, have a passion for automation, Docker, Ansible, Molecule and ci/cd.