trozz.ansible_nebula
ansible-nebula
この役割は、Nebulaの設定をインストールして展開します。
要件
現在、この役割を実行する前に証明書を生成して展開する必要があります(例を参照)。
サポートされているNebulaバージョン
現在、この役割はバージョン 1.5.0
に対してテストされています。
役割の変数
変数名 | 型 | 目的 | デフォルト | 必須 |
---|---|---|---|---|
nebula_version |
文字列 | ダウンロードするバージョン | 1.5.0 |
はい |
nebula_force_install |
ブール | 既存のnebulaバイナリを強制上書きする | false |
いいえ |
ca |
文字列 | CAファイルへのパス | NA | はい |
cert |
文字列 | 証明書へのパス | NA | はい |
key |
文字列 | 証明書キーへのパス | NA | はい |
blocklist |
リスト | ブロックリストにある証明書のハッシュのリスト | NA | いいえ |
lighthouses |
文字列 | 発見のための静的ホスト | "{{ groups['nebula_lighthouses'] }}" | いいえ |
lighthouses_override |
リスト | 発見のための静的ホストのリスト | NA | いいえ |
lighthouse.am_lighthouse |
ブール | このインスタンスはLighthouseですか | false |
はい |
lighthouse.serve_dns |
ブール | このインスタンスはDNSを提供するべきですか | false |
はい |
lighthouse.interval |
整数 | Lighthouseへの報告間隔 | 60 |
いいえ |
listen.host |
文字列 | リッスンするIP | 0.0.0.0 |
はい |
listen.port |
整数 | リッスンするポート | 4242 |
はい |
listen.batch |
整数 | 各システムコールのためにカーネルから引き出す最大パケット数を設定 | 64 |
はい |
listen.read_buffer |
整数 | UDP側のソケットバッファを設定 | NA | いいえ |
listen.write_buffer |
整数 | UDP側のソケットバッファを設定 | NA | いいえ |
punchy |
ブール | Punchyは定期的にインバウンド/アウトバウンドをパンチし、ファイアウォールのNATマッピングの期限切れを防ぎます | true |
はい |
punch_back |
ブール | punch_backは、到達しようとしているノードが穴あけが失敗した場合に、再び接続してくれることを意味します | true |
はい |
cipher |
文字列 | Cipherは、ネットワークのために使用可能な暗号の中から選択を可能にします。 | NA | いいえ |
local_range |
文字列 | ローカル範囲は、ローカルネットワーク範囲に関するヒントを定義するために使用されます | NA | いいえ |
sshd.enabled |
ブール | sshdは情報や管理機能をsshを介して公開できます | NA | いいえ |
sshd.listen |
文字列 | 管理SSH機能のIP / ポート | NA | いいえ |
relay.relays |
リスト | リレーとして使用するホストのIP | NA | いいえ |
relay.am_relay |
文字列 | ホストがリレーとして機能すべきかを示します | false |
いいえ |
relay.use_relays |
文字列 | ホストがリレーを通じて接続しようとすべきかを示します | true |
いいえ |
metrics.prometheus |
ブール | prometheusサーバーを有効にします | NA | いいえ |
outbound |
リスト | 内蔵ファイアウォールのアウトバウンドルール | 下記参照 |
はい |
inbound |
リスト | 内蔵ファイアウォールのインバウンドルール | 下記参照 |
はい |
ファイアウォールルールの例
outbound:
- port: any
proto: any
host: any
inbound:
- port: any
proto: icmp
host: any
依存関係
なし
例のプレイブック
---
- hosts: all
remote_user: root
vars:
lighthouses:
- nebula_ip: 10.255.0.1
external_addr: 123.231.1.2
lighthouse:
nodes:
- 10.255.0.1
pre_tasks:
- name: Nebulaディレクトリを作成
file:
path: /etc/nebula
state: directory
mode: '0750'
- name: Nebula証明書を展開
copy:
src: files/{{item}}
dest: /etc/nebula/{{item}}
owner: root
group: root
mode: '0600'
with_items:
- ca.crt
- host.crt
- host.key
roles:
- ansible-nebula
---
- hosts: all
remote_user: root
vars:
lighthouses:
- nebula_ip: 10.255.0.1
external_addr: 123.231.1.2
roles:
- ansible-nebula
オプションで、デフォルトでない外部ポートを持つLighthouseを宣言できます。
---
- hosts: all
remote_user: root
vars:
lighthouse:
am_lighthouse: yes
lighthouses:
- nebula_ip: 10.255.0.1
external_addr: 123.231.1.2
external_port: 4242
roles:
- ansible-nebula
ライセンス
MIT
著者情報
この役割はそのまま提供されており、NebulaはSlackおよびコミュニティによって保守されています。