nl2go.network_encryption

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

Rôle Ansible : Chiffrement Réseau

Un rôle Ansible qui gère le chiffrement du réseau entre les hôtes de l'inventaire basé sur IPsec / strongSwan.

Exigences

Nom Type Version Emplacement
ansible-filter Paquet Python 1.0.0 Nœud de contrôle

Variables du Rôle

Les variables disponibles sont listées ci-dessous, avec leurs valeurs par défaut (voir defaults/main.yml):

network_encryption_charon_port: 500

Port UDP utilisé localement. Si défini à 0, un port aléatoire sera attribué (voir strongswan.conf).

network_encryption_port_nat_t: 4500

Port UDP utilisé localement en cas de NAT-T. Si défini à 0, un port aléatoire sera attribué. Doit être différent de charon.port, sinon un port aléatoire sera attribué (voir strongswan.conf).

network_encryption_configs:
  - name: default
    psk: secret
    

Les ensembles de configuration doivent être configurés en utilisant la variable network_encryption_configs. Le name de l'ensemble de configuration est obligatoire et utilisé pour l'identification. La clé pré-partagée peut être spécifiée à l'aide de psk.

network_encryption_host_configs:
  - name: default

Les hôtes peuvent être attachés à un ensemble de configuration en utilisant la variable network_encryption_host_configs. Les ensembles de configuration sont référencés par leur name.

network_encryption_host_configs:
  - name: default
    state: absent

Un hôte peut être détaché de l'ensemble de configuration en utilisant state: absent.

network_encryption_configs:
  - name: default
    interface: eth0
    psk: secret

L'interface peut être spécifiée à l'aide de la variable interface. Si non spécifiée, elle est par défaut ansible_default_ipv4.interface.

network_encryption_configs:
  - name: default
    psk: secret
    params:
        lifetime: 8h
        

Des 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).

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

Les params dans network_encryption_configs étendent/surpassent les paramètres de connexion par défaut énoncés ci-dessus.

network_encryption_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 :

  • network_encryption : Couvre l'ensemble du cycle de vie du rôle.
  • network_encryption_install, install : Installe les paquets nécessaires.
  • network_encryption_config, config : Configure les paquets nécessaires.

Dépendances

Aucune.

Exemple de Playbook

- hosts: all
  roles:
     - nl2go.network_encryption
          

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).

Utilisez la commande suivante pour exécuter des tests :

molecule test --all

Mainteneurs

Licence

Voir le fichier LICENSE.md pour les détails.

Informations sur l'Auteur

Ce rôle a été créé en 2019 par Newsletter2Go GmbH.

À propos du projet

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

Installer
ansible-galaxy install nl2go.network_encryption
Licence
mit
Téléchargements
5.4k
Propriétaire