matthiaslohr.tincvpn

Rol de Ansible para tinc VPN

Este es un rol de Ansible para configurar una o varias redes VPN de tinc (https://www.tinc-vpn.org/).

Uso

Agrega el rol a tu requirements.yml:

- src: https://github.com/MatthiasLohr/ansible-role-tincvpn
  name: matthiaslohr.tincvpn

También es posible especificar la versión que se va a instalar usando el parámetro version. Por favor, lee la Documentación de Ansible Galaxy para más detalles.

Configura tincvpn_default_ip para tus hosts en el archivo de inventario:

[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

Ejemplo simple de un playbook:

- hosts: all
  roles:
    - matthiaslohr.tincvpn

Para ver ejemplos de cómo configurar múltiples redes tinc en paralelo, consulta la documentación.

Variables de Host

Nombre de Variable Valor por Defecto Descripción
tincvpn_{{ tincvpn_network }}_ip none Dirección IP tinc de este nodo (debe ser parte de tincvpn_subnet)

Variables del Rol

Nombre de Variable Valor por Defecto Descripción
tincvpn_network "default" Nombre de la red tinc (por ejemplo, nombre de la carpeta de configuración de tinc).
tincvpn_interface "tincvpn-{{ tincvpn_network }}" Nombre de la interfaz de red utilizada por tinc.
tincvpn_subnet "192.168.255.0/24" Subred utilizada por tinc.
tincvpn_mode "switch" Configuración del Modo de tinc.
tincvpn_port 655 Puerto de escucha de tinc.
tincvpn_extra_hosts [] Hosts adicionales de tinc disponibles (no cubiertos por el playbook, consulta Hosts Adicionales).
tincvpn_key_bits 2048 Longitud de la clave privada RSA.
tincvpn_connect_to [] Nodos a los que conectarse por defecto. Puedes dar un solo nombre de nodo como cadena o múltiples nodos como una lista de cadenas.
tincvpn_routes [] Agregar rutas usando la interfaz de red VPN de tinc.
tincvpn_local_directory "{{ inventory_dir }}/tincvpn-hosts/{{ tincvpn_network }}" Donde guardar las claves públicas de los hosts localmente.
tincvpn_custom_config {} Diccionario con parámetros de configuración personalizada para tinc vpn. Ej.: PingInterval: "60"
tincvpn_custom_up_scripts [] Comandos personalizados establecidos para la plantilla de script tinc-up.
tincvpn_custom_down_scripts [] Comandos personalizados establecidos para la plantilla de script tinc-down.

Ajustes de Configuración

Hosts Adicionales

En caso de que quieras conectarte a un nodo que no esté incluido en el inventario de Ansible (por ejemplo, un router central al que deseas conectarte), es posible configurar hosts adicionales a través de las variables del 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-----

Rutas Personalizadas

tincvpn_routes:
  - network: "192.168.254.0/24"
    gateway: "192.168.255.1"
Acerca del proyecto

Ansible role for setting up one or many tinc VPN networks (https://www.tinc-vpn.org/).

Instalar
ansible-galaxy install matthiaslohr.tincvpn
Licencia
mit
Descargas
121
Propietario
Enterprise Software Architect