manala.bind

#######################################################################################################

:exclamation: 非推奨 :exclamation:

このリポジトリと関連するロールは、Manala Ansible Collection に代わって非推奨となりました。

使用方法についての情報は、コレクションリポジトリ で見つけることができます。

#######################################################################################################

Ansibleロール: Bind Build Status

: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/)

プロジェクトについて

Handle bind

インストール
ansible-galaxy install manala.bind
ライセンス
Unknown
ダウンロード
47.7k
所有者
Manala is an open source project supported by the french web agency ELAO providing advanced ansible roles for website's infrastructures and far more.