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.
Manages a VPN tunnel setup between two peers based on IPsec/strongSwanand provides gateway related routing configuration.
ansible-galaxy install nl2go.vpn_gateway