manala.bind
#######################################################################################################
:exclamation: 非推奨 :exclamation:
このリポジトリと関連するロールは、Manala Ansible Collection に代わって非推奨となりました。
使用方法についての情報は、コレクションリポジトリ で見つけることができます。
#######################################################################################################
Ansibleロール: Bind 
:exclamation: 問題を報告し、プルリクエストを送信してください。 メインのAnsibleロールリポジトリ で :exclamation:
このロールは、Bindのセットアップを行います。
これは Manala Ansibleスタック の一部ですが、スタンドアロンコンポーネントとして使用することもできます。
要件
特になし。
依存関係
特になし。
インストール
Ansible 2+
ansible galaxy CLIを使用:
ansible-galaxy install manala.bind
ansible galaxy要件ファイルを使用:
- src: manala.bind
ロールフィルター
名称 | 説明 |
---|---|
manala_bind_zone_file |
ゾーンファイル名の標準化 |
ロール変数
名称 | デフォルト | 種類 | 説明 |
---|---|---|---|
manala_bind_install_packages |
~ | 配列 | インストールする依存関係パッケージ |
manala_bind_install_packages_default |
['bind9'] | 配列 | デフォルトの依存関係パッケージ |
manala_bind_user |
'bind' | 文字列 | ユーザー |
manala_bind_group |
'bind' | 文字列 | グループ |
manala_bind_options |
['-u {{ manala_bind_user }}'] | 配列 | オプション |
manala_bind_log_dir |
'/var/log/bind' | 文字列 | ログディレクトリ |
manala_bind_configs |
[] | 配列 | 設定ファイルのリスト |
manala_bind_configs_dir |
'/etc/bind' | 文字列 | 設定ファイルディレクトリ |
manala_bind_zones_dir |
'/var/cache/bind' | 文字列 | ゾーンファイルディレクトリ |
manala_bind_zones |
[] | 配列 | ゾーンファイルのリスト |
設定例
オプション
参照: https://linux.die.net/man/8/named
manala_bind_options:
- -u {{ manala_bind_user }}
- -4 # IPv4のみ
設定ファイル
file
パスは manala_bind_configs_dir
パラメータに対して相対的です。
設定内容は、jinja2の template
または生の content
として指定できます。
設定エントリは、state
(present|absent) と omit
(false|true) パラメータもサポートしています。
manala_bind_configs:
- file: named.conf.options
template: bind/configs/named.conf.options.j2
- file: named.conf.local
content: |
// 組織で使用していない場合は、ここに1918ゾーンを追加することを検討してください。
include "{{ manala_bind_configs_dir }}/zones.rfc1918";
- file: named.conf.foo
state: absent
- file: named.conf.bar
omit: true
ゾーン - 静的
zone
または file
パラメータは必須です。 定義されていない場合、file
パラメータは zone
から計算されます。
file
パスは manala_bind_zones_dir
パラメータに対して相対的です。
設定内容は、jinja2の template
または生の content
として指定できます。
設定エントリは、state
(present|absent) と omit
(false|true) パラメータもサポートしています。
manala_bind_zones:
- zone: foo.local
template: bind/zones/db.foo.local.j2
- zone: bar.local
content: |
@ IN SOA ns.bar.local. contact.bar.local. (
1 ; serial
604800 ; refresh (1週)
86400 ; retry (1日)
2419200 ; expire (4週)
86400 ; minimum (1日)
)
@ IN NS ns.bar.local.
ns IN A 172.16.1.1";
- zone: baz.local
state: absent
- zone: qux.local
omit: true
ゾーン - 動的
zone
パラメータは必須で、dynamic
パラメータはtrueでなければなりません。
ゾーン設定は、少なくとも localhost からの更新を許可する必要があります。
ゾーンファイルの動的な性質を考慮して、content
または template
パラメータはファイルがまだ存在しない場合のみ考慮されます。これはゾーンのブートストラップと見なすことができます。
manala_bind_configs:
- file: named.conf.local
content: |
zone "foo.local" {
type master;
file "{{ 'foo.local'|manala_bind_zone_file }}";
allow-update { localhost; };
};
manala_bind_zones:
- zone: foo.local
dynamic: true
content: |
@ IN SOA ns.foo.local. contact.foo.local. (
1 ; serial
604800 ; refresh (1週)
86400 ; retry (1日)
2419200 ; expire (4週)
86400 ; minimum (1日)
)
@ IN NS ns.foo.local.
ns IN A 172.16.1.1";
records:
- { record: bar, value: 172.16.1.123 }
プレーング例
- hosts: servers
roles:
- { role: manala.bind }
ライセンス
MIT
著者情報
Manala (http://www.manala.io/)
ansible-galaxy install manala.bind