nl2go.vpn_gateway
Ansible Rolle: VPN-Gateway
Eine Ansible Rolle, die eine VPN-Tunnel-Verbindung zwischen zwei Partnern basierend auf IPsec / strongSwan verwaltet und routingbezogene Gateway-Konfigurationen bereitstellt.
Rollenvariablen
Verfügbare Variablen sind unten aufgeführt, zusammen mit den Standardwerten (siehe defaults/main.yml
):
vpn_gateway_configs:
- name: default
psk: geheim
Konfigurationssets müssen mit der Variable vpn_gateway_configs
definiert werden. Der name
des Konfigurationssets ist obligatorisch und dient zur Identifizierung. Der vorab geteilte Schlüssel kann mit psk
angegeben werden.
vpn_gateway_configs:
- name: default
state: absent
Die spezifische Gateway-Konfiguration kann mit state: absent
entfernt werden.
vpn_gateway_configs:
- name: default
psk: geheim
params:
lifetime: 8h
Allgemeine Verbindungsparameter wie lifetime
können im Abschnitt params
festgelegt werden (siehe ipsec.conf für eine vollständige Parameterbeschreibung).
vpn_gateway_configs:
- name: default
psk: geheim
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
Ein Konfigurationsset enthält die local
und remote
Konfiguration für die Partner.
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: 'ja'
compress: 'nein'
rekey: 'nein'
fragmentation: 'ja'
forceencaps: 'ja'
Die params
innerhalb von vpn_gateway_configs
erweitern bzw. überschreiben die oben angegebenen Standardverbindungsparameter.
vpn_gateway_config_dir: "/etc/ipsec.d/{{ role_name }}"
Definiert das benutzerdefinierte IPsec-Konfigurationsverzeichnis zu Isolationszwecken.
Tags
Tags können verwendet werden, um die Ausführung der Rolle auf ein bestimmtes Aufgabenmodul zu beschränken. Folgende Tags sind verfügbar:
vpn_gateway
: Deckt den gesamten Lebenszyklus der Rolle ab.vpn_gateway_validate
,validate
: Überprüft die gegebene Konfiguration.vpn_gateway_install
,install
: Installiert die erforderlichen Pakete.vpn_gateway_config
,config
: Konfiguriert die erforderlichen Pakete.
Abhängigkeiten
Keine.
Beispiel-Playbook
- hosts: all
roles:
- nl2go.vpn_gateway
Entwicklung
Verwenden Sie docker-molecule und folgen Sie den Anweisungen, um Molecule auszuführen oder installieren Sie Molecule lokal (nicht empfohlen, es könnten Versionskonflikte auftreten).
Stellen Sie ein Hetzner Cloud-Token bereit:
export HCLOUD_TOKEN=123abc456efg
Verwenden Sie Folgendes, um Tests auszuführen:
molecule test --all
Wartung
Lizenz
Siehe die Datei LICENSE.md für Einzelheiten.
Autor Informationen
Diese Rolle wurde 2020 von Newsletter2Go GmbH erstellt.
Manages a VPN tunnel setup between two peers based on IPsec/strongSwanand provides gateway related routing configuration.
ansible-galaxy install nl2go.vpn_gateway