【Ansible】DNSゾーン設定追加用Playbook作成

VMware仮想環境下でAnsible動作検証環境を構築しました。
今回は、zone設定追加の手順と、設定追加用Playbookを作成したのでメモしておきます。

前回、BINDインストール・起動確認までの記事はこちらから

ansible

「Ansible」DNSゾーン設定追加Playbook作成と動作確認

今回の構成は前回の構成に引き続き特に変わったところはありません。

[root@Ansible_test dns]# tree
.
|- config_files
    - 140.168.192.in-addr.arpa.rev
    - named.conf
    - test-network.local
|- hosts
|- playbook
    - dns_install.yml

「DNS」ゾーン追加設定に使用するPlaybook作成

前回のPlaybookでは、BINDのインストールからの設計をしていましたが、今回はゾーンの追加設定なので以下のような設計にしています。

[root@Ansible_test dns]# cat playbook/dns_zone_add.yml
- hosts: dns
  become: yes
  tasks:
  - name: copy named.conf
    copy:
       src: /etc/ansible/roles/dns/config_files/named.conf
       dest: /etc/named.conf
       owner: root
       group: named
       mode: 0640
  - name: copy zone file
    copy:
       src: /etc/ansible/roles/dns/config_files/test-network.local
       dest: /var/named/test-network.local
       owner: root
       group: named
       mode: 0640
  - name: copy reverse zone file
    copy:
       src: /etc/ansible/roles/dns/config_files/140.168.192.in-addr.arpa.rev
       dest: /var/named/140.168.192.in-addr.arpa.rev
       owner: root
       group: named
       mode: 0640
  - name: start_and_enable_named-chroot
    service:
      name: named-chroot
      state: restarted
      enabled: yes

今回、ゾーンの追加設定を実施するので、最後に「named-chroot」の再起動を実施させて新規追加の設定を読み込みます。

「正引き」ゾーンファイルの設定追加

以下では「test.test-network.local」を追加します。

[root@Ansible_test dns]# cat config_files/test-network.local
$TTL 3600
@                IN      SOA dns.test-network.local. root.test-network.local. (
                         2020011202 ; serial
                         3600       ; refresh 1hr
                         900        ; retry 15min
                         604800     ; expire 1w
                         86400      ; min 24hr
)

                 IN      NS     dns.test-network.local.
dns              IN      A      192.168.140.101
ansible          IN      A      192.168.140.100
test             IN      A      192.168.140.102

「逆引き」ゾーンファイルの設定追加

逆引きも上記と同じく以下で設定を追加します。

[root@Ansible_test dns]# cat config_files/140.168.192.in-addr.arpa.rev
$TTL 3600
@                IN      SOA dns.test-network.local. root.test-network.local. (
                         2020011202 ; serial
                         3600       ; refresh 1hr
                         900        ; retry 15min
                         604800     ; expire 1w
                         86400      ; min 24hr
)

                 IN      NS     dns.test-network.local.
100              IN      PTR    ansible.test-network.local.
101              IN      PTR    dns.test-network.local.
102              IN      PTR    test.test-network.local.

ゾーン追加設定用Playbook実行

正引き、逆引きゾーンファイル変更後、Playbookを実行します。

[root@Ansible_test dns]# ansible-playbook -i hosts playbook/dns_zone_add.yml

PLAY [dns] *************************************************************************************************************************************************

TASK [Gathering Facts] *************************************************************************************************************************************
ok: [192.168.140.101]

TASK [copy named.conf] *************************************************************************************************************************************
ok: [192.168.140.101]

TASK [copy zone file] **************************************************************************************************************************************
changed: [192.168.140.101]

TASK [copy reverse zone file] ******************************************************************************************************************************
changed: [192.168.140.101]

TASK [start_and_enable_named-chroot] ***********************************************************************************************************************
changed: [192.168.140.101]

PLAY RECAP *************************************************************************************************************************************************
192.168.140.101            : ok=5    changed=3    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0

正引き・逆引きゾーンファイルが「changed」となり、named-chrootが再起動されたことが確認できます。

新規で設定が追加されたことを確認

最後にそれぞれ、新規で名前解決ができることを確認します。

正引き

[root@Ansible_test dns]# nslookup test.test-network.local 192.168.140.101
Server:         192.168.140.101
Address:        192.168.140.101#53

Name:   test.test-network.local
Address: 192.168.140.102

逆引き

[root@Ansible_test dns]# nslookup 192.168.140.102 192.168.140.101
102.140.168.192.in-addr.arpa    name = test.test-network.local.

DNSゾーンファイル更新Playbookの設計は以上となります。




エンジニアのオンライン学習

ITエンジニアにおすすめの教材、オンラインスクールです。
無料からエンジニアの学習ができる教材などまとめているので参考にしてください。

おすすめオンライン教材
自宅で学習ができるオンラインスクール

ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。



コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

ABOUT US
げんき☆ひろき
インターネット関連のSEをやっています。 ネットワーク、サーバー、ストレージ、仮想基盤まで幅広く手を出しており、MVNOの構築経験もあります。 現在は、Pythonを使ったプログラミングの開発をしネットワークの自動化ツールを作成しています! Pythonの入門書も作成しているので、ぜひ参考にしてください!