diff --git a/roles/nameserver/tasks/install_bind.yml b/roles/nameserver/tasks/install_bind.yml index 1ca7e9b..7824389 100644 --- a/roles/nameserver/tasks/install_bind.yml +++ b/roles/nameserver/tasks/install_bind.yml @@ -1,4 +1,22 @@ - name: nameserver | bind | install packages package: name: "{{ bind_package }}" - state: present \ No newline at end of file + state: present + +- name: nameserver | bind | basic configuration + replace: + path: "{{ named_conf_options }}" + regexp: + replace: "{{ item.option }}" + validate: "{{ named_checkconf }} {{ named_conf_options }}" + loop: + - { regexp: '^\s*listen-on {(?:[\s\n]*(?:\d{1,3}\.){3}\d{1,3};)*[\s\n]*};', option: "\tlisten-on { {{ ansible_default_ipv4.address }}; };"} + - { regexp: '^\s*listen-on-v6 {(?:[\s\n]*(?:[\da-f:]*;)*[\s\n]*};', option: "\tlisten-on-v6 { {{ ansible_default_ipv6.address }}; };"} + + + lineinfile: + path: "{{ named_conf_options }}" + regexp: "{{ item.regexp }}" + state: present + line: "{{ item.option }}" + insertafter: "options {" \ No newline at end of file diff --git a/roles/nameserver/vars/Archlinux.yml b/roles/nameserver/vars/Archlinux.yml index cf3109b..144d56c 100644 --- a/roles/nameserver/vars/Archlinux.yml +++ b/roles/nameserver/vars/Archlinux.yml @@ -5,4 +5,5 @@ perl_readbackwards: perl-file-readbackwards # named / bind specific named_conf_zones: /etc/named.conf named_conf_options: /etc/named.conf -named_conf_local: /etc/named.conf \ No newline at end of file +named_conf_local: /etc/named.conf +named_checkconf: /usr/bin/named-checkconf \ No newline at end of file diff --git a/roles/nameserver/vars/Debian.yml b/roles/nameserver/vars/Debian.yml index 857da7d..39af645 100644 --- a/roles/nameserver/vars/Debian.yml +++ b/roles/nameserver/vars/Debian.yml @@ -5,4 +5,5 @@ perl_readbackwards: libfile-readbackwards-perl # named / bind specific named_conf_zones: /etc/bind/named.conf.default-zones named_conf_options: /etc/bind/named.conf.options -named_conf_local: /etc/bind/named.conf.local \ No newline at end of file +named_conf_local: /etc/bind/named.conf.local +named_checkconf: /usr/sbin/named-checkconf \ No newline at end of file diff --git a/roles/nameserver/vars/Ubuntu.yml b/roles/nameserver/vars/Ubuntu.yml index 857da7d..39af645 100644 --- a/roles/nameserver/vars/Ubuntu.yml +++ b/roles/nameserver/vars/Ubuntu.yml @@ -5,4 +5,5 @@ perl_readbackwards: libfile-readbackwards-perl # named / bind specific named_conf_zones: /etc/bind/named.conf.default-zones named_conf_options: /etc/bind/named.conf.options -named_conf_local: /etc/bind/named.conf.local \ No newline at end of file +named_conf_local: /etc/bind/named.conf.local +named_checkconf: /usr/sbin/named-checkconf \ No newline at end of file