robertdebock.openvpn

Rôle Ansible openvpn

Installer et configurer un serveur ou un client OpenVPN sur votre système.

GitHub GitLab Téléchargements Version
github gitlab downloads Version

Exemple de Playbook

Cet exemple est tiré de molecule/default/converge.yml et est testé à chaque poussée, demande de fusion et version.

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

  tasks:
    - name: Créer le serveur openvpn
      ansible.builtin.include_role:
        name: robertdebock.openvpn
      vars:
        openvpn_role: "server"

    - name: Copier les certificats et clés du serveur vers le client
      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: Créer le client openvpn
      ansible.builtin.include_role:
        name: robertdebock.openvpn
      vars:
        openvpn_role: "client"
        openvpn_client_server: "127.0.0.1"

La machine doit être préparée. Dans CI, cela se fait en utilisant molecule/default/prepare.yml:

---
- name: Préparation
  hosts: all
  become: true
  gather_facts: false

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

Vous pouvez également consulter une explication complète et un exemple sur l'utilisation de ces rôles.

Variables de rôle

Les valeurs par défaut pour les variables sont définies dans defaults/main.yml:

---
# fichier de valeurs par défaut pour openvpn

# Vous pouvez configurer à la fois un client et un serveur en utilisant ce rôle.
# Utilisez `server` ou `client` pour `openvpn_role`.

openvpn_role: server

# Si vous configurez un client, configurez ces variables :
# openvpn_role: client
# openvpn_client_server: vpn.example.com

Exigences

État des rôles utilisés

Les rôles suivants sont utilisés pour préparer un système. Vous pouvez préparer votre système d'une autre manière.

Exigence GitHub GitLab
robertdebock.bootstrap Build Status GitHub Build Status GitLab
robertdebock.epel Build Status GitHub Build Status GitLab

Contexte

Ce rôle fait partie de nombreux rôles compatibles. Consultez la documentation de ces rôles pour plus d'informations.

Voici un aperçu des rôles associés : dépendances

Compatibilité

Ce rôle a été testé sur ces images de conteneur:

conteneur tags
EL 9
Debian tous
Ubuntu focal

La version minimale d'Ansible requise est 2.12, des tests ont été effectués sur :

  • La version précédente.
  • La version actuelle.
  • La version de développement.

Si vous rencontrez des problèmes, veuillez les signaler sur GitHub.

Licence

Apache-2.0.

Informations sur l'auteur

robertdebock

Veuillez envisager de me soutenir.

À propos du projet

Install and configure openvpn server or client on your system.

Installer
ansible-galaxy install robertdebock.openvpn
Licence
apache-2.0
Téléchargements
25.8k
Propriétaire
I know my way around (Linux) infrastructure, have a passion for automation, Docker, Ansible, Molecule and ci/cd.