diff --git a/public/docs-static/img/how-to-guides/network-acl-create-policy.png b/public/docs-static/img/how-to-guides/network-acl-create-policy.png
new file mode 100644
index 0000000..cb65082
Binary files /dev/null and b/public/docs-static/img/how-to-guides/network-acl-create-policy.png differ
diff --git a/public/docs-static/img/how-to-guides/network-acl-new-policy.png b/public/docs-static/img/how-to-guides/network-acl-new-policy.png
new file mode 100644
index 0000000..e29f6cf
Binary files /dev/null and b/public/docs-static/img/how-to-guides/network-acl-new-policy.png differ
diff --git a/public/docs-static/img/how-to-guides/network-route-acl-group-settings.png b/public/docs-static/img/how-to-guides/network-route-acl-group-settings.png
new file mode 100644
index 0000000..69d2466
Binary files /dev/null and b/public/docs-static/img/how-to-guides/network-route-acl-group-settings.png differ
diff --git a/public/docs-static/img/how-to-guides/network-route-acl-prompt.png b/public/docs-static/img/how-to-guides/network-route-acl-prompt.png
new file mode 100644
index 0000000..0830c28
Binary files /dev/null and b/public/docs-static/img/how-to-guides/network-route-acl-prompt.png differ
diff --git a/public/docs-static/img/how-to-guides/network-route-acl-saved.png b/public/docs-static/img/how-to-guides/network-route-acl-saved.png
new file mode 100644
index 0000000..a32a574
Binary files /dev/null and b/public/docs-static/img/how-to-guides/network-route-acl-saved.png differ
diff --git a/public/docs-static/img/how-to-guides/network-route-acl.png b/public/docs-static/img/how-to-guides/network-route-acl.png
new file mode 100644
index 0000000..f7d0458
Binary files /dev/null and b/public/docs-static/img/how-to-guides/network-route-acl.png differ
diff --git a/src/components/NavigationDocs.jsx b/src/components/NavigationDocs.jsx
index c15e6ed..bb0f5bf 100644
--- a/src/components/NavigationDocs.jsx
+++ b/src/components/NavigationDocs.jsx
@@ -73,6 +73,7 @@ export const docsNavigation = [
links: [
{ title: 'Routing traffic to private networks', href: '/how-to/routing-traffic-to-private-networks' },
{ title: 'Configuring default routes for Internet traffic', href: '/how-to/configuring-default-routes-for-internet-traffic' },
+ { title: 'Configuring routes with access control', href: '/how-to/configuring-routes-with-access-control' },
{ title: 'Resolve overlapping routes', href: '/how-to/resolve-overlapping-routes' },
]
},
diff --git a/src/pages/how-to/configuring-routes-with-access-control.mdx b/src/pages/how-to/configuring-routes-with-access-control.mdx
new file mode 100644
index 0000000..be4b36d
--- /dev/null
+++ b/src/pages/how-to/configuring-routes-with-access-control.mdx
@@ -0,0 +1,145 @@
+# Configuring routes with access control
+
+
+ +
+ +Click on `Continue` to proceed. + ++ +
+ +Once you fill in the route information, you can click on the `Add Route` button to save your new route. ++ +
+ +Because you used an access control group, you will be prompted to create a new policy. ++ +
+ +Click on the `Create Policy` button to proceed. + +## Creating Access Control Policy +If you didn't use the prompt, you can create a new policy by accessing the `Access Control` > `Policies` tab, click on the `Add policy` button to create a new policy. +In the popup, specify source and destination groups, and add Posture Checks if needed. Make sure to set traffic +direction only when TCP or UDP protocols are selected. Finally, provide a name and description for your policy. + +In the example below, we are creating a one direction policy with the following information: +- Name: `Devs to Servers` +- Description: `Devs are allowed to access servers` +- Protocol: `TCP` +- Ports: `80` +- Source Groups: `devs` +- Destination Groups: `servers` + ++ +
+ + +If necessary, you can create new groups simply by entering new names in the input box for either the source or destination lists. + +Once you have finished configuring the policy, click `Add Policy` to save it. You will then see your new policy in the table. ++ +
+ +Done! Now, every peer connected to your routing peer can only access port 80 services on the routed network, +as specified by the defined policy. + +## Site-to-Site Traffic Configuration + +For site-to-site traffic (where routes are set up in both directions with one +peer in the distribution group and the other as the routing peer, and vice +versa), there are two configuration scenarios: + +1. With Masquerading Enabled: + +- To subject site-to-site traffic to route access policies, ensure masquerading + is enabled. +- You'll need to set up two policies, one for each direction/site. + +2. Without Masquerading: + +- If masquerading is disabled, access control groups need not be applied. +- This configuration allows unrestricted access in both directions. + +Choose the appropriate configuration based on your security requirements and +network setup. + +## Behavior Changes in Version 0.30.0 + +Prior to version 0.30.0, routing clients would accept any traffic initiated from +routed networks behind routing peers. From version 0.30.0 onwards, routing +clients only accept return traffic for connections initiated by routing clients. + +To illustrate this change, consider the following example: + +```mermaid +graph LR + A[NetBird Peer A