diff --git a/ansible/roles/install_node_exporter/tasks/main.yaml b/ansible/roles/install_node_exporter/tasks/main.yaml
index 3bee4a737d298234cb23f10d104dc646f5bba070..cb52fd31744509308fd10b707ebedf6af9ad8820 100644
--- a/ansible/roles/install_node_exporter/tasks/main.yaml
+++ b/ansible/roles/install_node_exporter/tasks/main.yaml
@@ -58,3 +58,16 @@
     name: node_exporter
     state: restarted
     enabled: true
+
+- name: Collect facts about system services
+  ansible.builtin.service_facts:
+
+- name: Configure firewalld to allow prometheus
+  ansible.posix.firewalld:
+    port: "{{ node_exporter_port }}/tcp"
+    zone: public
+    state: enabled
+    permanent: true
+  when:
+    - "'firewalld.service' in ansible_facts.services"
+    - ansible_facts.services["firewalld.service"].state == "running"