nl2go.vpn_gateway
Rol de Ansible: Puerta de Enlace VPN
Una Rol de Ansible que gestiona la configuración de un túnel VPN entre dos pares basado en IPsec / strongSwan y proporciona configuración de enrutamiento relacionada con la puerta de enlace.
Variables de la Rol
Las variables disponibles se enumeran a continuación, junto con los valores predeterminados (ver defaults/main.yml
):
vpn_gateway_configs:
- name: default
psk: secreto
Los conjuntos de configuración deben definirse utilizando la variable vpn_gateway_configs
. El nombre
del conjunto de configuración es obligatorio y se utiliza para la identificación. La clave compartida se puede especificar usando psk
.
vpn_gateway_configs:
- name: default
state: absent
La configuración específica de la puerta de enlace puede ser eliminada usando state: absent
.
vpn_gateway_configs:
- name: default
psk: secreto
params:
lifetime: 8h
Parámetros generales de conexión como lifetime
pueden establecerse dentro de la sección params
(ver ipsec.conf para una descripción completa de los parámetros).
vpn_gateway_configs:
- name: default
psk: secreto
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 conjunto de configuración contiene la parte de configuración del par local
y 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: 'sí'
compress: 'no'
rekey: 'no'
fragmentation: 'sí'
forceencaps: 'sí'
Los params
dentro de vpn_gateway_configs
amplían/sustituyen los parámetros de conexión predeterminados presentes arriba.
vpn_gateway_config_dir: "/etc/ipsec.d/{{ role_name }}"
Define el directorio de configuración IPsec personalizado para fines de aislamiento.
Etiquetas
Se pueden usar etiquetas para limitar la ejecución de la rol a un módulo de tarea en particular. Las siguientes etiquetas están disponibles:
vpn_gateway
: Cubre todo el ciclo de vida de la rol.vpn_gateway_validate
,validate
: Valida la configuración dada.vpn_gateway_install
,install
: Instala los paquetes requeridos.vpn_gateway_config
,config
: Configura los paquetes requeridos.
Dependencias
Ninguna.
Ejemplo de Playbook
- hosts: all
roles:
- nl2go.vpn_gateway
Desarrollo
Usa docker-molecule siguiendo las instrucciones para ejecutar Molecule o instala Molecule localmente (no recomendado, pueden aparecer conflictos de versiones).
Proporciona el token de Hetzner Cloud:
export HCLOUD_TOKEN=123abc456efg
Usa lo siguiente para ejecutar pruebas:
molecule test --all
Mantenedores
Licencia
Consulta el archivo LICENSE.md para más detalles.
Información del Autor
Esta rol fue creada en 2020 por 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