nl2go.network_encryption
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.
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