summaryrefslogtreecommitdiffstats
path: root/roles/pihole/tasks
diff options
context:
space:
mode:
authorAhmed Abdelhalim <[email protected]>2025-08-18 21:22:15 +0200
committerAhmed Abdelhalim <[email protected]>2025-08-19 00:16:11 +0200
commit42af81b283832aee07c336f9d591350a9fc089da (patch)
treef26555e57a5ed3946d206ee04f0328ea478d118d /roles/pihole/tasks
parent08e7307ea0b311e081560ed6126a6c0d196215e4 (diff)
Fix pihole install to work on raspberry and simplify on arch
Diffstat (limited to 'roles/pihole/tasks')
-rw-r--r--roles/pihole/tasks/main.yml44
1 files changed, 32 insertions, 12 deletions
diff --git a/roles/pihole/tasks/main.yml b/roles/pihole/tasks/main.yml
index 92f787df..84899e26 100644
--- a/roles/pihole/tasks/main.yml
+++ b/roles/pihole/tasks/main.yml
@@ -63,15 +63,35 @@
cmd: "pihole -g"
changed_when: false
-- name: "Set Pi-hole as system DNS"
- ansible.builtin.lineinfile:
- path: "/etc/systemd/resolved.conf"
- regexp: "{{ item.regexp }}"
- line: "{{ item.line }}"
- backup: true
- notify: "Restart systemd-resolved"
- with_items:
- - regexp: "^#?DNSStubListener="
- line: "DNSStubListener=no"
- - regexp: "^#?DNS="
- line: "DNS=127.0.0.1"
+- name: "Configure pihole as system DNS"
+ notify:
+ - "Restart NetworkManager"
+ - "Restart systemd-resolved"
+ block:
+ - name: "Configure NetworkManager to disable DNS management"
+ ansible.builtin.copy:
+ dest: "/etc/NetworkManager/NetworkManager.conf"
+ owner: "root"
+ group: "root"
+ mode: "0644"
+ content: |
+ [main]
+ dns=none
+
+ - name: "Configure systemd-resolved for Pi-hole"
+ ansible.builtin.copy:
+ dest: "/etc/systemd/resolved.conf"
+ owner: "root"
+ group: "root"
+ mode: "0644"
+ content: |
+ [Resolve]
+ DNS=127.0.0.1#53
+ DNSStubListener=no
+
+ - name: "Configure system DNS"
+ ansible.builtin.file:
+ src: "/run/systemd/resolve/resolv.conf"
+ dest: "/etc/resolv.conf"
+ state: "link"
+ force: true