matthiaslohr.tincvpn
Rôle Ansible pour VPN tinc
Ceci est un rôle Ansible pour configurer un ou plusieurs réseaux VPN tinc (https://www.tinc-vpn.org/).
Utilisation
Ajoutez le rôle à votre fichier requirements.yml
:
- src: https://github.com/MatthiasLohr/ansible-role-tincvpn
name: matthiaslohr.tincvpn
Vous pouvez également spécifier la version à installer en utilisant le paramètre version
. Veuillez lire la documentation d'Ansible Galaxy pour plus de détails.
Définissez tincvpn_default_ip
pour vos hôtes dans le fichier d'inventaire :
[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
Exemple simple de playbook :
- hosts: all
roles:
- matthiaslohr.tincvpn
Pour des exemples sur la manière de configurer plusieurs réseaux tinc en parallèle, consultez la documentation.
Variables d'Hôte
Nom de la Variable | Valeur par Défaut | Description |
---|---|---|
tincvpn_{{ tincvpn_network }}_ip |
none |
Adresse IP tinc de ce nœud (doit faire partie de tincvpn_subnet ) |
Variables de Rôle
Nom de la Variable | Valeur par Défaut | Description |
---|---|---|
tincvpn_network |
"default" |
Nom du réseau tinc (par exemple, nom du dossier de configuration tinc). |
tincvpn_interface |
"tincvpn-{{ tincvpn_network }}" |
Nom de l'interface réseau utilisée par tinc. |
tincvpn_subnet |
"192.168.255.0/24" |
Sous-réseau utilisé par tinc. |
tincvpn_mode |
"switch" |
Paramètre Mode de tinc. |
tincvpn_port |
655 |
Port d'écoute de tinc. |
tincvpn_extra_hosts |
[] |
Hôtes tinc supplémentaires disponibles (non couverts par le playbook, voir Hôtes supplémentaires). |
tincvpn_key_bits |
2048 |
Longueur de la clé privée RSA. |
tincvpn_connect_to |
[] |
Nœuds auxquels se connecter par défaut. Vous pouvez donner un seul nom de nœud en tant que chaîne ou plusieurs nœuds en tant que liste de chaînes. |
tincvpn_routes |
[] |
Ajoutez des routes en utilisant l'interface réseau VPN tinc. |
tincvpn_local_directory |
"{{ inventory_dir }}/tincvpn-hosts/{{ tincvpn_network }}" |
Où enregistrer les clés publiques des hôtes localement. |
tincvpn_custom_config |
{} |
Dictionnaire avec des paramètres de configuration personnalisés pour le VPN tinc. ex.: PingInterval: "60" |
tincvpn_custom_up_scripts |
[] |
Commandes personnalisées définies pour le modèle de script tinc-up. |
tincvpn_custom_down_scripts |
[] |
Commandes personnalisées définies pour le modèle de script tinc-down. |
Ajustements de Configuration
Hôtes Supplémentaires
Dans le cas où vous souhaitez vous connecter à un nœud qui n'est pas inclus dans l'inventaire Ansible (par exemple, un routeur central auquel vous souhaitez vous connecter), il est possible de configurer des hôtes supplémentaires via des variables de playbook :
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-----
Routes Personnalisées
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