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