# Until chroot-bind.sh is migrated to ansible, we hardcode the chroot paths. - name: set chroot variables set_fact: bind_log_file: /var/log/bind.log bind_query_file: /var/log/bind_queries.log bind_cache_dir: /var/cache/bind bind_statistics_file: /var/run/named.stats bind_chroot_path: /var/chroot-bind when: bind_chroot_set | bool - name: configure apparmor template: src: apparmor.usr.sbin.named.j2 dest: /etc/apparmor.d/usr.sbin.named owner: root group: root mode: '0644' force: yes notify: restart apparmor - name: package are installed apt: name: - bind9 - dnstop state: present - name: Set bind configuration for recursive server template: src: named.conf.options_recursive.j2 dest: /etc/bind/named.conf.options owner: bind group: bind mode: "0644" force: yes notify: restart bind when: bind_recursive_server | bool - name: enable zones.rfc1918 for recursive server lineinfile: dest: /etc/bind/named.conf.local line: 'include "/etc/bind/zones.rfc1918";' regexp: "zones.rfc1918" notify: restart bind when: bind_recursive_server | bool - name: Set bind configuration for authoritative server template: src: named.conf.options_authoritative.j2 dest: /etc/bind/named.conf.options owner: bind group: bind mode: "0644" force: yes notify: restart bind when: bind_authoritative_server | bool - name: Create systemd service template: src: bind9.service.j2 dest: "{{ bind_systemd_service_path }}" owner: root group: root mode: "0644" force: yes notify: - reload systemd - restart bind when: ansible_distribution_release == "jessie" - name: "touch {{ bind_log_file }} if non chroot" file: path: "{{ bind_log_file }}" owner: bind group: adm mode: "0640" state: touch when: not (bind_chroot_set | bool) - name: "touch {{ bind_query_file }} if non chroot" file: path: "{{ bind_query_file }}" owner: bind group: adm mode: "0640" state: touch when: not (bind_chroot_set | bool) - name: send chroot-bind.sh in /root copy: src: chroot-bind.sh dest: /root/chroot-bind.sh mode: "0700" owner: root force: yes backup: yes when: bind_chroot_set | bool - name: exec chroot-bind.sh command: "/root/chroot-bind.sh" register: chrootbind_run changed_when: False when: bind_chroot_set | bool - debug: var: chrootbind_run.stdout_lines when: - bind_chroot_set | bool - chrootbind_run.stdout | length > 0 - name: Modify OPTIONS in /etc/default/bind9 for chroot replace: dest: /etc/default/bind9 regexp: '^OPTIONS=.*' replace: 'OPTIONS="-u bind -t {{ bind_chroot_path }}"' notify: restart bind when: bind_chroot_set | bool - name: logrotate for bind template: src: logrotate_bind.j2 dest: /etc/logrotate.d/bind9 owner: root group: root mode: "0644" force: yes notify: restart bind - include: munin.yml