--- - name: sets up a fresh redhat 9 vm to offer dns services hosts: dns become: true tasks: - name: installs bind ansible.builtin.dnf: name: - bind - bind-utils - firewalld state: present - name: install bind conf file in /etc/named.conf ansible.builtin.template: src: ../../templates/bind.conf.j2 dest: /etc/named.conf mode: '0640' - name: change file ownership,group and permissions of named.conf ansible.builtin.file: path: /etc/named.conf owner: root group: named mode: '0640' - name: install bind conf file in /etc/named.conf ansible.builtin.template: src: ../../templates/homelab.local.zone.j2 dest: /var/named/homelab.local.zone mode: '0640' - name: change file ownership,group and permissions of homelab.local.zone ansible.builtin.file: path: /var/named/homelab.local.zone owner: root group: named mode: '0640' - name: allow access to a firewall ansible.posix.firewalld: service: "{{item}}" permanent: true state: enabled immediate: true loop: - "dns" - "dns-over-tls" - "mdns" - name: start the bind service ansible.builtin.service: name: named state: restarted enabled: true