matthiaslohr.tincvpn
tinc VPN のための Ansible ロール
これは、1つまたは複数の tinc VPN ネットワーク(https://www.tinc-vpn.org/)を設定するための Ansible ロールです。
使い方
requirements.yml
にロールを追加します:
- src: https://github.com/MatthiasLohr/ansible-role-tincvpn
name: matthiaslohr.tincvpn
version
パラメータを使用してインストールするバージョンを指定することも可能です。
詳細は Ansible Galaxy Documentation をご覧ください。
インベントリファイルのホストに対して 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"