added DNS resolver option powerdns-recursor
This commit is contained in:
27
roles/nameserver/tasks/configure_powerdns_recursor_snmpd.yml
Normal file
27
roles/nameserver/tasks/configure_powerdns_recursor_snmpd.yml
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
- name: "Nameserver: powerdns-recursor | snmpd | get script"
|
||||||
|
get_url:
|
||||||
|
url: "https://github.com/librenms/librenms-agent/raw/master/snmp/powerdns-recursor"
|
||||||
|
dest: "/etc/snmp/powerdns-recursor"
|
||||||
|
mode: "0755"
|
||||||
|
owner: "root"
|
||||||
|
group: "root"
|
||||||
|
|
||||||
|
- name: "Nameserver: powerdns-recursor | snmpd | remove unbound script"
|
||||||
|
file:
|
||||||
|
path: "/etc/snmp/unbound"
|
||||||
|
state: absent
|
||||||
|
|
||||||
|
- name: "Nameserver: powerdns-recursor | snmpd | configure extend"
|
||||||
|
lineinfile:
|
||||||
|
path: "{{ snmpd_conf }}"
|
||||||
|
state: present
|
||||||
|
line: "extend powerdns-recursor {{ sudo }} /etc/snmp/powerdns-recursor"
|
||||||
|
insertafter: "# SECTION: Extends"
|
||||||
|
notify: restart_snmpd
|
||||||
|
|
||||||
|
- name: "Nameserver: powerdns-recursor | snmpd | remove unbound extend"
|
||||||
|
lineinfile:
|
||||||
|
path: "{{ snmpd_conf }}"
|
||||||
|
state: absent # not required. choices: absent;present. Whether the line should be there or not.
|
||||||
|
line: "extend unbound {{ sudo }} /etc/snmp/unbound"
|
||||||
|
notify: restart_snmpd
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
- name: nameserver | snmpd | get script
|
- name: "Nameserver: unbound | snmpd | get script"
|
||||||
get_url:
|
get_url:
|
||||||
url: "https://github.com/librenms/librenms-agent/raw/master/snmp/unbound"
|
url: "https://github.com/librenms/librenms-agent/raw/master/snmp/unbound"
|
||||||
dest: "/etc/snmp/unbound"
|
dest: "/etc/snmp/unbound"
|
||||||
@@ -6,10 +6,22 @@
|
|||||||
owner: "root"
|
owner: "root"
|
||||||
group: "root"
|
group: "root"
|
||||||
|
|
||||||
- name: nameserver | snmpd | configure extend
|
- name: "Nameserver: unbound | snmpd | remove powerdns-recursor script"
|
||||||
|
file:
|
||||||
|
path: "/etc/snmp/powerdns-recursor"
|
||||||
|
state: absent
|
||||||
|
|
||||||
|
- name: "Nameserver: unbound | snmpd | configure extend"
|
||||||
lineinfile:
|
lineinfile:
|
||||||
path: "{{ snmpd_conf }}"
|
path: "{{ snmpd_conf }}"
|
||||||
state: present
|
state: present
|
||||||
line: "extend unbound {{ sudo }} /etc/snmp/unbound"
|
line: "extend unbound {{ sudo }} /etc/snmp/unbound"
|
||||||
insertafter: "# SECTION: Extends"
|
insertafter: "# SECTION: Extends"
|
||||||
notify: restart_snmpd
|
notify: restart_snmpd
|
||||||
|
|
||||||
|
- name: "Nameserver: unbound | snmpd | remove powerdns-recursor extend"
|
||||||
|
lineinfile:
|
||||||
|
path: "{{ snmpd_conf }}"
|
||||||
|
state: absent
|
||||||
|
line: "extend powerdns-recursor {{ sudo }} /etc/snmp/powerdns-recursor"
|
||||||
|
notify: restart_snmpd
|
||||||
|
|||||||
25
roles/nameserver/tasks/install_powerdns_recursor.yml
Normal file
25
roles/nameserver/tasks/install_powerdns_recursor.yml
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
- name: nameserver | powerdns-recursor | install packages
|
||||||
|
package:
|
||||||
|
name: "{{ powerdns-recursor_package }}"
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: nameserver | powerdns-recursor | copy config
|
||||||
|
template:
|
||||||
|
src: "powerdns-recursor_network.conf.j2"
|
||||||
|
dest: "/etc/powerdns/recursor.d/override.conf"
|
||||||
|
mode: "0644"
|
||||||
|
owner: "root"
|
||||||
|
group: "root"
|
||||||
|
validate: "pdns_recursor --config=check"
|
||||||
|
|
||||||
|
- name: nameserver | powerdns-recursor | disable unbound
|
||||||
|
service:
|
||||||
|
name: "unbound"
|
||||||
|
state: stopped
|
||||||
|
enabled: False
|
||||||
|
|
||||||
|
- name: nameserver | powerdns-recursor | enable service
|
||||||
|
service:
|
||||||
|
name: "powerdns-recursor"
|
||||||
|
state: started
|
||||||
|
enabled: True
|
||||||
@@ -12,6 +12,12 @@
|
|||||||
group: "root"
|
group: "root"
|
||||||
validate: "unbound-checkconf %s"
|
validate: "unbound-checkconf %s"
|
||||||
|
|
||||||
|
name: nameserver | unbound | disable service pdns-resolver
|
||||||
|
service:
|
||||||
|
name: "powerdns-resolver"
|
||||||
|
state: stopped
|
||||||
|
enabled: False
|
||||||
|
|
||||||
- name: nameserver | unbound | enable service
|
- name: nameserver | unbound | enable service
|
||||||
service:
|
service:
|
||||||
name: "unbound"
|
name: "unbound"
|
||||||
|
|||||||
@@ -6,21 +6,21 @@
|
|||||||
- block:
|
- block:
|
||||||
- include_tasks: install_unbound.yml
|
- include_tasks: install_unbound.yml
|
||||||
- include_tasks: configure_unbound_snmpd.yml
|
- include_tasks: configure_unbound_snmpd.yml
|
||||||
when: unbound == true
|
when: unbound == true and powerdns_recursor != true
|
||||||
|
|
||||||
- name: nameserver | unbound | disable systemd-resolved
|
- name: nameserver | unbound | disable systemd-resolved
|
||||||
include_tasks: disable-systemd-resolved.yml
|
include_tasks: disable-systemd-resolved.yml
|
||||||
when: bind == true or unbound == true or powerdns == true
|
when: bind == true or unbound == true or powerdns_recursor == true
|
||||||
|
|
||||||
- block:
|
- block:
|
||||||
- include_tasks: install_bind.yml
|
- include_tasks: install_bind.yml
|
||||||
- include_tasks: configure_bind_snmpd.yml
|
- include_tasks: configure_bind_snmpd.yml
|
||||||
when: bind == true
|
when: bind == true and powerdns_auth != true
|
||||||
|
|
||||||
- block:
|
- block:
|
||||||
- include_tasks: install_powerdns.yml
|
- include_tasks: install_powerdns_recursor.yml
|
||||||
- include_tasks: configure_powerdns_snmpd.yml
|
- include_tasks: configure_powerdns_recursor_snmpd.yml
|
||||||
when: powerdns == true
|
when: powerdns_recursor == true and unbound != true
|
||||||
|
|
||||||
rescue:
|
rescue:
|
||||||
- set_fact: task_failed=true
|
- set_fact: task_failed=true
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
allow-from = 192.168.1.0/24, 192.168.3.0/24, 172.16.0.0/24, 127.0.0.0/8
|
||||||
|
local-address += {{ ansible_default_ipv4.address }} {% if wg_local_ip is defined %}, {{ wg_local_ip | ipaddr('address') }} {% else %}
|
||||||
|
local-port = {{ pdns-recursor-lport | default("53") }}
|
||||||
|
query-local-address = {{ ansible_default_ipv4.address }} {% if ansible_default_ipv6.address is defined %}, {{ ansible_default_ipv6.address }} {% else %}
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
bind_package: bind9
|
bind_package: bind9
|
||||||
unbound_package: unbound
|
unbound_package: unbound
|
||||||
perl_readbackwards: libfile-readbackwards-perl
|
perl_readbackwards: libfile-readbackwards-perl
|
||||||
powerdns_server: pdns-server
|
powerdns_server_package: pdns-server
|
||||||
powerdns_recursor: pdns-recursor
|
powerdns_recursor_package: pdns-recursor
|
||||||
powerdns_tools: pdns-tools
|
powerdns_tools_package: pdns-tools
|
||||||
|
|
||||||
powerdns_backends:
|
powerdns_backends:
|
||||||
- package: pdns-backend-bind
|
- package: pdns-backend-bind
|
||||||
|
|||||||
Reference in New Issue
Block a user