matthiaslohr.tincvpn

tinc VPN 的 Ansible 角色

这是一个用于设置一个或多个 tinc VPN 网络的 Ansible 角色(https://www.tinc-vpn.org/)。

使用方法

将角色添加到你的 requirements.yml 中:

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

你也可以通过使用 version 参数来指定要安装的版本。 请阅读 Ansible Galaxy 文档 获取详细信息。

在库存文件中为你的主机设置 tincvpn_default_ip

[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

简单的剧本示例:

- hosts: all
  roles:
    - matthiaslohr.tincvpn

有关如何并行配置多个 tinc 网络的示例,请查看 文档

主机变量

变量名 默认值 描述
tincvpn_{{ tincvpn_network }}_ip none 此节点的 tinc IP 地址(应该是 tincvpn_subnet 的一部分)

角色变量

变量名 默认值 描述
tincvpn_network "default" tinc 网络的名称(例如 tinc 配置文件夹的名称)。
tincvpn_interface "tincvpn-{{ tincvpn_network }}" tinc 使用的网络接口的名称。
tincvpn_subnet "192.168.255.0/24" tinc 使用的子网。
tincvpn_mode "switch" tinc 的 模式 设置。
tincvpn_port 655 tinc 监听端口。
tincvpn_extra_hosts [] 可用的额外 tinc 主机(未被剧本覆盖,请阅读 附加主机)。
tincvpn_key_bits 2048 RSA 私钥的长度。
tincvpn_connect_to [] 默认要连接的节点。你可以给出一个节点名作为字符串,或多个节点作为字符串列表。
tincvpn_routes [] 通过 tinc VPN 网络接口添加路由。
tincvpn_local_directory "{{ inventory_dir }}/tincvpn-hosts/{{ tincvpn_network }}" 保存主机公钥的本地路径。
tincvpn_custom_config {} 带有 tinc VPN 自定义配置参数的字典,例如:PingInterval: "60"
tincvpn_custom_up_scripts [] 为 tinc-up 脚本模板指定的自定义命令。
tincvpn_custom_down_scripts [] 为 tinc-down 脚本模板指定的自定义命令。

配置调整

附加主机

如果你想连接到一个不在 Ansible 库存中的节点(例如,中央路由器),可以通过剧本变量配置附加主机:

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-----

自定义路由

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
许可证
mit
下载
121
拥有者
Enterprise Software Architect