diff --git a/handlers/main.yml b/handlers/main.yml
index ea0a78b9c42a54a96e825ac847cfcf84d2cb5b73..53894b2de6d863ff5cb093baf10ed86018183f6b 100644
--- a/handlers/main.yml
+++ b/handlers/main.yml
@@ -26,8 +26,7 @@
 
 - name: Restart ntpd
   service:
-    name: '{{ "ntpd" if ansible_os_family == "OpenBSD" else omit }}'
-    name: '{{ "ntp" if ansible_os_family == "Debian" else omit }}'
+    name: '{{ ntpd_service[ansible_os_family] }}'
     state: restarted
 
 - name: Restart systemd-timesyncd
diff --git a/tasks/ntpd.yml b/tasks/ntpd.yml
index 302b11bf3145a25929f8b8d185739e5c66fe9f8a..511575d93f60d65324cd7468497bce4805366c1a 100644
--- a/tasks/ntpd.yml
+++ b/tasks/ntpd.yml
@@ -12,23 +12,17 @@
     cache_valid_time: 3600
 
 - name: Configure ntpd
-  lineinfile:
-    line: '{{ "servers pool.ntp.org" if ansible_os_family == "OpenBSD" else omit }}'
-    line: '{{ "server debian.pool.ntp.org" if ansible_os_family == "OpenBSD" else omit }}'
-    regexp: '{{ "^servers " if ansible_os_family == "OpenBSD" else omit }}'
-    regexp: '{{ "^server " if ansible_os_family == "Debian" else omit }}'
-    dest: '{{ "/etc/ntpd.conf" if ansible_os_family == "OpenBSD" else omit }}'
-    dest: '{{ "/etc/ntp.conf" if ansible_os_family == "Debian" else omit }}'
-    create: yes
+  template:
+    src: ntpd.conf.j2
+    dest: '{{ ntpd_conf[ansible_os_family] }}'
     owner: root
-    group: wheel
+    group: '{{ root_group[ansible_os_family] }}'
     mode: '0644'
   notify:
   - Restart ntpd
 
 - name: Enable ntpd
   service:
-    name: '{{ "ntpd" if ansible_os_family == "OpenBSD" else omit }}'
-    name: '{{ "ntp" if ansible_os_family == "Debian" else omit }}'
+    name: '{{ ntpd_service[ansible_os_family] }}'
     enabled: yes
     state: started
diff --git a/templates/ntpd.conf.j2 b/templates/ntpd.conf.j2
new file mode 100644
index 0000000000000000000000000000000000000000..a52094b554e5cbf4b90424c00009cb6a6ae245f8
--- /dev/null
+++ b/templates/ntpd.conf.j2
@@ -0,0 +1,3 @@
+{% for i in range(4) %}
+server {{ i }}.{{ ntp_pool[ansible_os_family] }}
+{% endfor %}
diff --git a/vars/main.yml b/vars/main.yml
index 853fa99b114ce523fe813789fd0aded010333ed4..67503905ada25b4d44316f3fdea0e56ff097b5dc 100644
--- a/vars/main.yml
+++ b/vars/main.yml
@@ -47,3 +47,12 @@ root_group:
 cert_dir:
     OpenBSD: /etc/ssl/certs
     Debian: /usr/local/share/ca-certificates
+ntpd_conf:
+    OpenBSD: /etc/ntpd.conf
+    Debian: /etc/ntp.conf
+ntp_pool:
+    OpenBSD: pool.ntp.org
+    Debian: debian.pool.ntp.org
+ntpd_service:
+    OpenBSD: ntpd
+    Debian: ntp