nl2go.network_encryption

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

Rola Ansible: Szyfrowanie Sieci

Rola Ansible, która zarządza szyfrowaniem sieci między hostami w inwentarzu, oparta na IPsec / strongSwan.

Wymagania

Nazwa Typ Wersja Lokalizacja
ansible-filter Pakiet Pythona 1.0.0 Węzeł kontrolny

Zmienne Roli

Dostępne zmienne są wymienione poniżej, wraz z wartościami domyślnymi (zobacz defaults/main.yml):

network_encryption_charon_port: 500

Lokalny port UDP. Jeśli ustawiono na 0, zostanie przydzielony losowy port (zob. strongswan.conf).

network_encryption_port_nat_t: 4500

Lokalny port UDP używany w przypadku NAT-T. Jeśli ustawiono na 0, zostanie przydzielony losowy port. Musi być różny od charon.port, w przeciwnym razie zostanie przydzielony losowy port (zob. strongswan.conf).

network_encryption_configs:
  - name: default
    psk: secret
    

Zestawy konfiguracji muszą być skonfigurowane za pomocą zmiennej network_encryption_configs. Nazwa zestawu konfiguracji jest obowiązkowa i używana do identyfikacji. Klucz pre-shared można określić za pomocą psk.

network_encryption_host_configs:
  - name: default

Hosty można przyłączyć do zestawu konfiguracji używając zmiennej network_encryption_host_configs. Zestawy konfiguracji są wskazywane przez name.

network_encryption_host_configs:
  - name: default
    state: absent

Host można odłączyć od zestawu konfiguracji, ustawiając state: absent.

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

Interfejs można określić za pomocą zmiennej interface. Jeśli nie jest określony, domyślnie używa ansible_default_ipv4.interface.

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

Ogólne parametry połączenia, takie jak lifetime, mogą być ustawione w sekcji params (zob. ipsec.conf dla pełnego opisu parametrów).

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

params w network_encryption_configs rozszerza/zastępuje domyślne parametry połączenia wymienione powyżej.

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

Określa niestandardowy katalog konfiguracji IPsec w celu izolacji.

Tagowanie

Tagi mogą być używane do ograniczenia wykonania roli do konkretnego modułu zadania. Następujące tagi są dostępne:

  • network_encryption: Obejmuje cały cykl życia roli.
  • network_encryption_install, install: Instaluje wymagane pakiety
  • network_encryption_config, config: Konfiguruje wymagane pakiety

Zależności

Brak.

Przykład Playbooka

- hosts: all
  roles:
     - nl2go.network_encryption
          

Rozwój

Użyj docker-molecule zgodnie z instrukcjami, aby uruchomić Molecule lub zainstaluj Molecule lokalnie (niezalecane, mogą wystąpić konflikty wersji).

Użyj następującego polecenia do uruchomienia testów:

molecule test --all

Utrzymujący

Licencja

Zobacz plik LICENSE.md dla szczegółów.

Informacje o autorze

Ta rola została stworzona w 2019 roku przez Newsletter2Go GmbH.

O projekcie

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

Zainstaluj
ansible-galaxy install nl2go.network_encryption
Licencja
mit
Pobrania
5.4k
Właściciel