nl2go.network_encryption
Rol de Ansible: Cifrado de Red
Una Rol de Ansible que gestiona el cifrado de red entre los hosts del inventario basado en IPsec / strongSwan.
Requisitos
Nombre | Tipo | Versión | Ubicación |
---|---|---|---|
ansible-filter | Paquete de Python | 1.0.0 | Nodo de control |
Variables de rol
Las variables disponibles se enumeran a continuación, junto con los valores predeterminados (ver defaults/main.yml
):
network_encryption_charon_port: 500
Puerto UDP usado localmente. Si se establece en 0, se asignará un puerto aleatorio (ver strongswan.conf).
network_encryption_port_nat_t: 4500
Puerto UDP usado localmente en caso de NAT-T. Si se establece en 0, se asignará un puerto aleatorio. Debe ser diferente de charon.port, de lo contrario, se asignará un puerto aleatorio (ver strongswan.conf).
network_encryption_configs:
- name: default
psk: secret
Los conjuntos de configuración deben configurarse utilizando la variable network_encryption_configs
. El nombre
del conjunto de configuración es obligatorio y se utiliza para la identificación. La clave compartida se puede especificar utilizando psk
.
network_encryption_host_configs:
- name: default
Los hosts se pueden asociar a un conjunto de configuración utilizando la variable network_encryption_host_configs
. Los conjuntos de configuración se referencian por nombre
.
network_encryption_host_configs:
- name: default
state: absent
Un host se puede desvincular del conjunto de configuración utilizando state: absent
.
network_encryption_configs:
- name: default
interface: eth0
psk: secret
La interfaz se puede especificar utilizando la variable interface
. Si no se especifica, por defecto se utiliza ansible_default_ipv4.interface
.
network_encryption_configs:
- name: default
psk: secret
params:
lifetime: 8h
Parámetros de conexión generales como lifetime
pueden configurarse dentro de la sección params
(ver ipsec.conf para la descripción completa de parámetros).
network_encryption_default_config_params:
ike: aes256gcm16-prfsha384-modp4096,aes256gcm16-prfsha384-ecp384!
esp: aes256gcm16-modp4096,aes256gcm16-ecp384!
keyingtries: 0
ikelifetime: 1h
lifetime: 8h
dpddelay: 30
dpdtimeout: 120
dpdaction: clear
authby: secret
keyexchange: ikev2
type: tunnel
Los params
dentro de network_encryption_configs
extienden/sustituyen los parámetros de conexión predeterminados mencionados anteriormente.
network_encryption_config_dir: "/etc/ipsec.d/{{ role_name }}"
Define el directorio de configuración IPsec personalizado para fines de aislamiento.
Etiquetas
Las etiquetas se pueden usar para limitar la ejecución del rol a un módulo de tarea particular. Las siguientes etiquetas están disponibles:
network_encryption
: Cubre el ciclo de vida completo del rol.network_encryption_install
,install
: Instala paquetes requeridos.network_encryption_config
,config
: Configura los paquetes requeridos.
Dependencias
Ninguna.
Ejemplo de Playbook
- hosts: all
roles:
- nl2go.network_encryption
Desarrollo
Utiliza docker-molecule siguiendo las instrucciones para ejecutar Molecule o instala Molecule localmente (no recomendado, pueden aparecer conflictos de versiones).
Utiliza lo siguiente para ejecutar pruebas:
molecule test --all
Mantenedores
Licencia
Consulta el archivo LICENSE.md para más detalles.
Información del Autor
Este rol fue creado en 2019 por Newsletter2Go GmbH.
Manage network encryption between inventory hosts based on[IPsec](https://de.wikipedia.org/wiki/IPsec) /[strongSwan](https://www.strongswan.org/).
ansible-galaxy install nl2go.network_encryption