diff --git a/src/main/helm/templates/network_policy.yaml b/src/main/helm/templates/network_policy.yaml
index 0437702163106cd37fa6be06609c547b8907a3f3..28fab29f9e443b50b32b87d68c9ffdedc0220d4d 100644
--- a/src/main/helm/templates/network_policy.yaml
+++ b/src/main/helm/templates/network_policy.yaml
@@ -109,6 +109,18 @@ spec:
         podSelector: 
           matchLabels:
             component: info-manager
+{{- end }}
+{{- if (.Values.zufiManager).enabled }}
+  - to:
+    - namespaceSelector:
+        matchLabels:
+          kubernetes.io/metadata.name: {{ required "zufiManager.namespace must be set if zufiManager server is enabled" (.Values.zufiManager).namespace }}
+      podSelector: 
+        matchLabels:
+          component: zufi-server
+    ports:
+      - port: 9090
+        protocol: TCP
 {{- end }}
   - to:
     - namespaceSelector:
diff --git a/src/test/helm/network_policy_test.yaml b/src/test/helm/network_policy_test.yaml
index 6348f8be5667775ec59dd74d3a1ab935baa25005..f63746306c5edeaa76f17028551c04243a137d31 100644
--- a/src/test/helm/network_policy_test.yaml
+++ b/src/test/helm/network_policy_test.yaml
@@ -27,21 +27,28 @@ release:
   namespace: by-helm-test
 templates:
   - templates/network_policy.yaml
-set: 
-  networkPolicy:
-    dnsServerNamespace: test-dns-namespace
+
 tests:
   - it: should match apiVersion
+    set: 
+      networkPolicy:
+        dnsServerNamespace: test-dns-namespace
     asserts:
       - isAPIVersion:
           of: networking.k8s.io/v1
 
   - it: should match kind
+    set: 
+      networkPolicy:
+        dnsServerNamespace: test-dns-namespace
     asserts:
       - isKind:
           of: NetworkPolicy
 
   - it: validate metadata
+    set: 
+      networkPolicy:
+        dnsServerNamespace: test-dns-namespace
     asserts:
       - equal:
           path: metadata
@@ -50,6 +57,9 @@ tests:
             namespace: by-helm-test
 
   - it: should set policy target matchLabel
+    set: 
+      networkPolicy:
+        dnsServerNamespace: test-dns-namespace
     asserts:
       - equal:
           path: spec.podSelector
@@ -59,18 +69,27 @@ tests:
 
 
   - it: should add policyType Egress
+    set: 
+      networkPolicy:
+        dnsServerNamespace: test-dns-namespace
     asserts:
       - contains:
           path: spec.policyTypes
           content: Egress
 
   - it: should add policyType Ingress
+    set: 
+      networkPolicy:
+        dnsServerNamespace: test-dns-namespace
     asserts:
       - contains:
           path: spec.policyTypes
           content: Ingress
 
   - it: should add ingress rule for eingangsmanager and alfa
+    set: 
+      networkPolicy:
+        dnsServerNamespace: test-dns-namespace
     asserts:
       - contains:
           path: spec.ingress
@@ -90,6 +109,8 @@ tests:
 
   - it: should add ingress rule for antragraum if antragraum is enabled
     set:
+      networkPolicy:
+        dnsServerNamespace: test-dns-namespace
       ozgcloud:
         antragraum:
           enabled: true
@@ -109,6 +130,8 @@ tests:
 
   - it: should not add ingress rule for antragraum if antragraum is disabled
     set:
+      networkPolicy:
+        dnsServerNamespace: test-dns-namespace
       ozgcloud:
         antragraum:
           enabled: false
@@ -126,6 +149,8 @@ tests:
 
   - it: should throw error if antragraum is enabled but antragraum namespace is not set
     set:
+      networkPolicy:
+        dnsServerNamespace: test-dns-namespace
       ozgcloud:
         antragraum:
           enabled: true
@@ -135,6 +160,9 @@ tests:
 
 
   - it: should add egress rule to elasticsearch
+    set:
+      networkPolicy:
+        dnsServerNamespace: test-dns-namespace
     asserts:
       - contains:
           path: spec.egress
@@ -151,6 +179,9 @@ tests:
                   protocol: TCP
 
   - it: should add egress rule to mongodb
+    set:
+      networkPolicy:
+        dnsServerNamespace: test-dns-namespace
     asserts:
       - contains:
           path: spec.egress
@@ -164,6 +195,9 @@ tests:
                   protocol: TCP
 
   - it: should add egress rule to user-manager
+    set:
+      networkPolicy:
+        dnsServerNamespace: test-dns-namespace
     asserts:
       - contains:
           path: spec.egress
@@ -178,6 +212,8 @@ tests:
 
   - it: should add egress rule to nachrichten-bayernid-proxy if bayernid is enabled
     set:
+      networkPolicy:
+        dnsServerNamespace: test-dns-namespace
       ozgcloud:
         bayernid:
           enabled: true
@@ -200,6 +236,8 @@ tests:
 
   - it: should not add egress rule to bayernid-proxy if bayernid is disabled
     set:
+      networkPolicy:
+        dnsServerNamespace: test-dns-namespace
       ozgcloud:
         bayernid:
           enabled: false
@@ -220,6 +258,8 @@ tests:
   
   - it: should throw error if bayernid-proxy is enabled but bayernid namespace is not set
     set:
+      networkPolicy:
+        dnsServerNamespace: test-dns-namespace
       ozgcloud:
         bayernid:
           enabled: true
@@ -229,6 +269,8 @@ tests:
 
   - it: should add egress rule to info-manager if antragraum is enabled
     set:
+      networkPolicy:
+        dnsServerNamespace: test-dns-namespace
       ozgcloud:
         antragraum:
           enabled: true
@@ -247,6 +289,8 @@ tests:
 
   - it: should not add egress rule to info-manager if antragraum is disabled
     set:
+      networkPolicy:
+        dnsServerNamespace: test-dns-namespace
       ozgcloud:
         antragraum:
           enabled: false
@@ -262,8 +306,83 @@ tests:
                   matchLabels:
                     component: info-manager
 
+  - it: should add egress rule to zufi server if zufi is enabled
+    set:
+      networkPolicy:
+        dnsServerNamespace: test-dns-namespace
+      zufiManager:
+        enabled: true
+        namespace: zufi
+    asserts:
+      - contains:
+          path: spec.egress
+          content:
+            to:
+            - podSelector: 
+                matchLabels:
+                  component: zufi-server
+              namespaceSelector:
+                matchLabels:
+                      kubernetes.io/metadata.name: zufi
+            ports:
+            - port: 9090
+              protocol: TCP         
+                  
+
+  - it: should not add egress rule to zufi server if zufi is disabled
+    set:
+      networkPolicy:
+        dnsServerNamespace: test-dns-namespace
+      zufiManager:
+        enabled: false
+        namespace: zufi
+    asserts:
+      - notContains:
+          path: spec.egress
+          content:
+            to:
+            - namespaceSelector:
+                matchLabels:
+                  kubernetes.io/metadata.name: zufi
+              podSelector: 
+                matchLabels:
+                  component: zufi-server
+          any: true
+  
+  - it: should throw error if zufi is enabled but zufi namespace is not set
+    set:
+      networkPolicy:
+        dnsServerNamespace: test-dns-namespace
+      zufiManager:
+        enabled: true
+    asserts:
+      - failedTemplate:
+          errorMessage: zufiManager.namespace must be set if zufiManager server is enabled
+
+  - it: should not enable zufi netpol by default
+    set:
+      zufiManager:
+        namespace: zufi
+      networkPolicy:
+        dnsServerNamespace: test-dns-namespace
+    asserts:
+      - notContains:
+          path: spec.egress
+          content: 
+            to:
+            - namespaceSelector:
+                matchLabels:
+                  kubernetes.io/metadata.name: zufi
+              podSelector: 
+                matchLabels:
+                  component: zufi-server
+          any: true
+
 
   - it: should add egress rule to dns service
+    set:
+      networkPolicy:
+        dnsServerNamespace: test-dns-namespace
     asserts:
       - contains:
           path: spec.egress
@@ -285,6 +404,7 @@ tests:
   - it: add ingress rule local by values
     set:
       networkPolicy:
+        dnsServerNamespace: test-dns-namespace
         ssoPublicIp: 51.89.117.53/32
         additionalIngressConfigGlobal:
         - from:
@@ -302,6 +422,7 @@ tests:
   - it: add ingress rule global by values
     set:
       networkPolicy:
+        dnsServerNamespace: test-dns-namespace
         ssoPublicIp: 51.89.117.53/32
         additionalIngressConfigLocal:
         - from:
@@ -320,6 +441,7 @@ tests:
   - it: add egress rules local by values
     set:
       networkPolicy:
+        dnsServerNamespace: test-dns-namespace
         additionalEgressConfigGlobal:
         - to:
           - ipBlock:
@@ -351,6 +473,7 @@ tests:
   - it: add egress rules global by values
     set:
       networkPolicy:
+        dnsServerNamespace: test-dns-namespace
         additionalEgressConfigLocal:
         - to:
           - ipBlock:
@@ -380,6 +503,22 @@ tests:
     set:
       networkPolicy:
         disabled: false
+        dnsServerNamespace: test-dns-namespace
+    asserts:
+      - hasDocuments:
+          count: 1
+  - it: test network policy dnsServerNamespace must be set message
+    set:
+      networkPolicy:
+        disabled: false
+    asserts:
+      - failedTemplate:
+          errorMessage: networkPolicy.dnsServerNamespace must be set
+
+  - it: test network policy should be enabled by default
+    set:
+      networkPolicy:
+        dnsServerNamespace: test-dns-server-namespace
     asserts:
       - hasDocuments:
           count: 1
\ No newline at end of file