Skip to content

Tinc VPN management for ansible, with host_vars support

Notifications You must be signed in to change notification settings

rlex/ansible-role-tinc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Description

Installs and configures tinc mesh vpn.
Also synchronizes keys between nodes.
Requires ansible >=2.5

Example playbook:

- name: install and configure tinc mesh VPN
  hosts: all
  any_errors_fatal: true
  roles:
    - { role: tinc, tags: tinc }
Quickstart:

in host_vars/some_server:

tinc_vpn: present
tinc_vpn_hostname: internal_some_server
tinc_vpn_ip: 10.91.91.60

In group_vars/all (or whatever group you use)

tinc_netname: my_awesome_net
tinc_vpn_interface: tinc0
tinc_vpn_netmask: 255.255.255.0
tinc_vpn_subnet_cidr_netmask: 32
tinc_tcponly: 'yes'
tinc_iffonequeue: 'yes'

If you have multiple networks in same ansible root (multiple inventories sharing same playbooks / roles) make sure to use unique tinc_netname for each unique network. This is needed for proper key syncing.

Ipify

If your server is behind NAT (not so rare case) you might need to get public ip from ipify.
In that case, default setting (ansible_default_ipv4["address"]) will return LAN ip
To use ipify for getting public IP, set

tinc_physical_ip: "{{ ipify_public_ip }}"
tinc_use_ipify: true

In host/group vars.

Credits

Mitchell Anicas for initial version

About

Tinc VPN management for ansible, with host_vars support

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published