znerol.ipaddr_hash
Ansibleロール: ipaddr_hash
プレフィックスとシード(例: inventory_hostname
)に基づいてIPアドレスを計算するためのJinja2フィルタープラグインを提供します。
このプラグインは、ホスト名に基づいて静的に割り当てられたIPv6アドレスの予測可能なアドレッシング方式を求める人々にとって便利です。
IPを導出するためのアルゴリズムはシンプルです:
ip = プレフィックス + (sha256(シード) & ホストマスク)
要件
特になし
ロール変数
特になし
依存関係
- コントローラでのPythonモジュール netaddr
サンプルプレイブック
ipaddr_hash
フィルターの使用例:
- hosts: localhost
tasks:
- import_role:
name: znerol.ipaddr_hash
- debug:
msg: "example.com のために生成されたIPv6アドレス(プレフィックス '2001:db8::/64')は {{ '2001:db8::/64' | ipaddr_hash('example.com') }} です"
これにより、次のアドレスが生成されます: 2001:db8::13d2:1255:86ce:1947
.
サンプルの入出力についてはテスト/test.ymlを参照してください。
ライセンス
GPLv3