diff --git a/handlers/main.yml b/handlers/main.yml
index b745bf942311bc8a6f00fa4379b33eba02cb0f5f..ea0a78b9c42a54a96e825ac847cfcf84d2cb5b73 100644
--- a/handlers/main.yml
+++ b/handlers/main.yml
@@ -23,3 +23,14 @@
   service:
     name: collectd
     state: restarted
+
+- name: Restart ntpd
+  service:
+    name: '{{ "ntpd" if ansible_os_family == "OpenBSD" else omit }}'
+    name: '{{ "ntp" if ansible_os_family == "Debian" else omit }}'
+    state: restarted
+
+- name: Restart systemd-timesyncd
+  service:
+    name: systemd-timesyncd
+    state: restarted
diff --git a/tasks/ntp.yml b/tasks/ntp.yml
index e03b0870494e38bdb97d494c0ad1e8bd198c2b96..795141b4c8bb0c77ab72e830783b9c40c0da2ff2 100644
--- a/tasks/ntp.yml
+++ b/tasks/ntp.yml
@@ -3,3 +3,9 @@
 - name: Assert
   assert:
     that: ansible_os_family in [ 'Debian', 'OpenBSD' ]
+
+- include: ntp_OpenBSD.yml
+  when: ansible_os_family == 'OpenBSD' or  not ansible_init == 'systemd'
+
+- include: systemd-timesyncd.yml
+  when: ansible_os_family == 'Debian' and ansible_init == 'systemd'
diff --git a/tasks/ntpd.yml b/tasks/ntpd.yml
new file mode 100644
index 0000000000000000000000000000000000000000..302b11bf3145a25929f8b8d185739e5c66fe9f8a
--- /dev/null
+++ b/tasks/ntpd.yml
@@ -0,0 +1,34 @@
+---
+
+- assert:
+    that: ansible_os_family in [ 'Debian', 'OpenBSD' ]
+
+- name: apt install ntpd
+  when: ansible_pkg_mgr == 'apt'
+  apt:
+    name: ntp
+    state: present
+    update_cache: yes
+    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
+    owner: root
+    group: wheel
+    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 }}'
+    enabled: yes
+    state: started
diff --git a/tasks/systemd-timesyncd.yml b/tasks/systemd-timesyncd.yml
new file mode 100644
index 0000000000000000000000000000000000000000..d3e7429ba3388a471fc41e4779811bba14037e50
--- /dev/null
+++ b/tasks/systemd-timesyncd.yml
@@ -0,0 +1,16 @@
+---
+
+- name: Configure systemd-timesyncd
+  lineinfile:
+    dest: /etc/systemd/timesyncd.conf
+    line: 'NTP=0.debian.pool.ntp.org 1.debian.pool.ntp.org 2.debian.pool.ntp.org 3.debian.pool.ntp.org'
+    regexp: '^NTP='
+    state: present
+  notify:
+  - 'Restart systemd-timesyncd'
+
+- name: Enable systemd-timesyncd
+  service:
+    name: systemd-timesyncd
+    enabled: yes
+    state: started