nl2go.network_encryption

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

Ansible-Rolle: Netzwerkverschlüsselung

Eine Ansible-Rolle, die die Verschlüsselung des Netzwerks zwischen den angegebenen Hosts basierend auf IPsec / strongSwan verwaltet.

Anforderungen

Name Typ Version Ort
ansible-filter Python-Paket 1.0.0 Steuerknoten

Rollenvariablen

Verfügbare Variablen sind unten aufgeführt, zusammen mit den Standardwerten (siehe defaults/main.yml):

network_encryption_charon_port: 500

UDP-Port, der lokal verwendet wird. Wenn auf 0 gesetzt, wird ein zufälliger Port zugewiesen (s. strongswan.conf).

network_encryption_port_nat_t: 4500

UDP-Port, der lokal im Falle von NAT-T verwendet wird. Wenn auf 0 gesetzt, wird ein zufälliger Port zugewiesen. Muss anders als charon.port sein, sonst wird ein zufälliger Port zugewiesen (s. strongswan.conf).

network_encryption_configs:
  - name: default
    psk: secret
    

Konfigurationssets müssen mit der Variablen network_encryption_configs konfiguriert werden. Der name des Konfigurationssets ist verpflichtend und wird zur Identifizierung verwendet. Der vorab geteilte Schlüssel kann mit psk angegeben werden.

network_encryption_host_configs:
  - name: default

Hosts können mit der Variablen network_encryption_host_configs einem Konfigurationsset zugeordnet werden. Konfigurationssets werden über name referenziert.

network_encryption_host_configs:
  - name: default
    state: absent

Ein Host kann mit state: absent vom Konfigurationsset getrennt werden.

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

Die Schnittstelle kann mit der Variablen interface angegeben werden. Wenn nicht angegeben, wird standardmäßig ansible_default_ipv4.interface verwendet.

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

Allgemeine Verbindungsparameter wie lifetime können im Abschnitt params gesetzt werden (s. ipsec.conf für vollständige Parametrierung).

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

Die params innerhalb von network_encryption_configs erweitern/überschreiben die oben angegebenen Standardverbindungsparameter.

network_encryption_config_dir: "/etc/ipsec.d/{{ role_name }}"

Definiert das benutzerdefinierte IPsec-Konfigurationsverzeichnis zu Isolationszwecken.

Tags

Tags können verwendet werden, um die Ausführung der Rolle auf ein bestimmtes Aufgabenmodul zu beschränken. Folgende Tags sind verfügbar:

  • network_encryption: Deckt den gesamten Lebenszyklus der Rolle ab.
  • network_encryption_install, install: Installiert benötigte Pakete.
  • network_encryption_config, config: Konfiguriert benötigte Pakete.

Abhängigkeiten

Keine.

Beispiel-Playbook

- hosts: all
  roles:
     - nl2go.network_encryption
          

Entwicklung

Verwenden Sie docker-molecule gemäß den Anweisungen, um Molecule auszuführen oder installieren Sie Molecule lokal (nicht empfohlen, da Versionskonflikte auftreten können).

Verwenden Sie Folgendes, um Tests auszuführen:

molecule test --all

Maintainer

Lizenz

Siehe die Datei LICENSE.md für Details.

Autoreninformation

Diese Rolle wurde 2019 von Newsletter2Go GmbH erstellt.

Über das Projekt

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

Installieren
ansible-galaxy install nl2go.network_encryption
GitHub Repository
Lizenz
mit
Downloads
5.4k