matthiaslohr.tincvpn
Ansible Rolle für tinc VPN
Dies ist eine Ansible-Rolle zur Einrichtung eines oder mehrerer tinc VPN-Netzwerke (https://www.tinc-vpn.org/).
Nutzung
Fügen Sie die Rolle zu Ihrer requirements.yml
hinzu:
- src: https://github.com/MatthiasLohr/ansible-role-tincvpn
name: matthiaslohr.tincvpn
Es ist auch möglich, die zu installierende Version mit dem Parameter version
anzugeben. Bitte lesen Sie die Ansible Galaxy Dokumentation für Details.
Setzen Sie tincvpn_default_ip
für Ihre Hosts in der Inventardatei:
[all]
node1 tincvpn_default_ip=192.168.255.1
node2 tincvpn_default_ip=192.168.255.2
node3 tincvpn_default_ip=192.168.255.3
Ein einfaches Playbook-Beispiel:
- hosts: all
roles:
- matthiaslohr.tincvpn
Für Beispiele, wie man mehrere tinc-Netzwerke gleichzeitig konfiguriert, schauen Sie sich die Dokumentation an.
Host-Variablen
Variablenname | Standardwert | Beschreibung |
---|---|---|
tincvpn_{{ tincvpn_network }}_ip |
none |
tinc IP-Adresse dieses Knotens (sollte Teil von tincvpn_subnet sein) |
Rollen-Variablen
Variablenname | Standardwert | Beschreibung |
---|---|---|
tincvpn_network |
"default" |
Name des tinc-Netzwerks (z.B. Name des tinc Konfigurationsordners). |
tincvpn_interface |
"tincvpn-{{ tincvpn_network }}" |
Name für die Netzwerk-Schnittstelle, die von tinc verwendet wird. |
tincvpn_subnet |
"192.168.255.0/24" |
Subnetz, das von tinc verwendet wird. |
tincvpn_mode |
"switch" |
Tinc Mode -Einstellung. |
tincvpn_port |
655 |
Tinc Hörport. |
tincvpn_extra_hosts |
[] |
Zusätzliche tinc-Hosts, die verfügbar sind (nicht im Playbook abgedeckt, siehe Zusätzliche Hosts). |
tincvpn_key_bits |
2048 |
Länge des RSA privaten Schlüssels. |
tincvpn_connect_to |
[] |
Knoten, zu denen standardmäßig eine Verbindung hergestellt werden soll. Sie können einen einzelnen Knotennamen als Zeichenfolge oder mehrere Knoten als Liste von Zeichenfolgen angeben. |
tincvpn_routes |
[] |
Routen hinzufügen, die über die tinc VPN-Netzwerkschnittstelle gehen. |
tincvpn_local_directory |
"{{ inventory_dir }}/tincvpn-hosts/{{ tincvpn_network }}" |
Wo die öffentlichen Schlüssel der Hosts lokal gespeichert werden. |
tincvpn_custom_config |
{} |
Wörterbuch mit benutzerdefinierten Konfigurationsparametern für tinc VPN, z. B.: PingInterval: "60" |
tincvpn_custom_up_scripts |
[] |
Benutzerdefinierte Befehle, die für das tinc-up-Skript-Template gesetzt sind. |
tincvpn_custom_down_scripts |
[] |
Benutzerdefinierte Befehle, die für das tinc-down-Skript-Template gesetzt sind. |
Konfigurationsanpassungen
Zusätzliche Hosts
Falls Sie eine Verbindung zu einem Knoten herstellen möchten, der nicht im Ansible-Inventar enthalten ist (z. B. einen zentralen Router, zu dem Sie eine Verbindung herstellen möchten), ist es möglich, zusätzliche Hosts über die Playbook-Variablen zu konfigurieren:
tincvpn_extra_hosts:
- name: externalnode1
address: externalnode1.example.com
public_key: |
-----BEGIN RSA PUBLIC KEY-----
...
-----END RSA PUBLIC KEY-----
- name: externalnode2
address: externalnode2.example.com
public_key: |
-----BEGIN RSA PUBLIC KEY-----
...
-----END RSA PUBLIC KEY-----
Benutzerdefinierte Routen
tincvpn_routes:
- network: "192.168.254.0/24"
gateway: "192.168.255.1"
Ansible role for setting up one or many tinc VPN networks (https://www.tinc-vpn.org/).
ansible-galaxy install matthiaslohr.tincvpn