nl2go.network_encryption

Travis (.org) branch Codecov Ansible Galaxy GitHub tag (latest by date) Ansible Galaxy Downloads

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.

Acerca del proyecto

Manage network encryption between inventory hosts based on[IPsec](https://de.wikipedia.org/wiki/IPsec) /[strongSwan](https://www.strongswan.org/).

Instalar
ansible-galaxy install nl2go.network_encryption
Licencia
mit
Descargas
5.4k
Propietario