--- - name: Add key for official source of bind apt_key: state: present id: 15058500A0235D97F5D10063B188E2B695BD4743 url: https://packages.sury.org/bind/apt.gpg - name: Add official source of bind apt_repository: state: present repo: "deb https://packages.sury.org/bind/ {{ ansible_distribution_release }} main" filename: isc-bind update_cache: yes - name: Install required packages apt: state: present name: - bind9 - python3-dnspython - name: Create directories for zone databases file: path: "{{ item }}" state: directory owner: root group: "{{ dns_user }}" mode: u=rwx,g=rx,o= loop: - "{{ zones_directory }}" - name: Configure bind9 options template: src: named.conf.options dest: "{{ options_configuration }}" owner: root group: "{{ dns_user }}" mode: "u=rw,g=r,o=r" notify: reload bind9 - name: Enable bind9 service systemd: name: "{{ global_bind_service_name }}" state: started enabled: yes - name: Allow dns in firewall ufw: rule: allow port: 53 proto: "{{ item }}" loop: - tcp - udp