nl2go.vpn_gateway

Rôle Ansible : Passerelle VPN

Un rôle Ansible qui gère la configuration d'un tunnel VPN entre deux pairs basé sur IPsec / strongSwan et fournit la configuration de routage liée à la passerelle.

Variables du rôle

Les variables disponibles sont listées ci-dessous, avec leurs valeurs par défaut (voir defaults/main.yml) :

vpn_gateway_configs:
  - name: default
    psk: secret
    

Les ensembles de configuration doivent être définis à l'aide de la variable vpn_gateway_configs. Le name de l'ensemble de configuration est obligatoire et est utilisé pour l'identification. La clé pré-partagée peut être spécifiée à l'aide de psk.

vpn_gateway_configs:
  - name: default
    state: absent

La configuration de la passerelle spécifique peut être supprimée en utilisant state: absent.

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

Les paramètres de connexion généraux comme lifetime peuvent être définis dans la section params (voir ipsec.conf pour la description complète des paramètres).

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

Un ensemble de configuration contient la partie de configuration des pairs local et 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'

Les params dans vpn_gateway_configs étendent ou remplacent les paramètres de connexion par défaut présents ci-dessus.

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

Définit le répertoire de configuration IPsec personnalisé pour des raisons d'isolation.

Tags

Les tags peuvent être utilisés pour limiter l'exécution du rôle à un module de tâche particulier. Les tags suivants sont disponibles :

  • vpn_gateway: Couvre l'ensemble du cycle de vie du rôle.
  • vpn_gateway_validate, validate: Valide la configuration donnée.
  • vpn_gateway_install, install: Installe les packages requis.
  • vpn_gateway_config, config: Configure les packages requis.

Dépendances

Aucune.

Exemple de Playbook

- hosts: all
  roles:
     - nl2go.vpn_gateway
          

Développement

Utilisez docker-molecule en suivant les instructions pour exécuter Molecule ou installez Molecule localement (non recommandé, des conflits de version pourraient apparaître).

Fournissez le token Hetzner Cloud :

export HCLOUD_TOKEN=123abc456efg

Utilisez ce qui suit pour exécuter les tests :

molecule test --all

Mainteneurs

Licence

Consultez le fichier LICENSE.md pour plus de détails.

Informations sur l'auteur

Ce rôle a été créé en 2020 par Newsletter2Go GmbH.

À propos du projet

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

Installer
ansible-galaxy install nl2go.vpn_gateway
Licence
mit
Téléchargements
5.1k
Propriétaire