diff --git a/next.config.mjs b/next.config.mjs index e42c6147..1c30db78 100644 --- a/next.config.mjs +++ b/next.config.mjs @@ -31,12 +31,17 @@ const nextConfig = { }, { source: '/how-to/networks-concept', - destination: '/how-to/networks', + destination: '/manage/networks', + permanent: true, + }, + { + source: '/how-to/networks', + destination: '/manage/networks', permanent: true, }, { source: '/docs/getting-started/installation', - destination: '/how-to/getting-started#installation', + destination: '/getting-started/install', permanent: true, }, { @@ -51,7 +56,7 @@ const nextConfig = { }, { source: '/docs/overview/acls', - destination: '/how-to/manage-network-access', + destination: '/manage/access-control/manage-network-access', permanent: true, }, { @@ -71,12 +76,17 @@ const nextConfig = { }, { source: '/docs/overview/setup-keys', - destination: '/how-to/register-machines-using-setup-keys', + destination: '/manage/peers/setup-keys', permanent: true, }, { source: '/docs/how-to-guides/activity-monitoring', - destination: '/how-to/monitor-system-and-network-activity', + destination: '/how-to/activity-event-streaming', + permanent: true, + }, + { + source: '/how-to/monitor-system-and-network-activity', + destination: '/how-to/activity-event-streaming', permanent: true, }, { @@ -84,11 +94,6 @@ const nextConfig = { destination: '/how-to/enforce-periodic-user-authentication', permanent: true, }, - { - source: '/docs/overview/setup-keys', - destination: '/how-to/register-machines-using-setup-keys', - permanent: true, - }, { source: '/docs', destination: '/', @@ -104,6 +109,68 @@ const nextConfig = { destination: '/api/:path*', permanent: true }, + // documentation redirects for control center + { + source: '/how-to/control-center', + destination: '/manage/control-center', + permanent: true, + }, + // documentation redirects for peers + { + source: '/how-to/add-machines-to-your-network', + destination: '/manage/peers/add-machines-to-your-network', + permanent: true, + }, + { + source: '/how-to/register-machines-using-setup-keys', + destination: '/manage/peers/setup-keys', + permanent: true, + }, + { + source: '/how-to/browser-client', + destination: '/manage/peers/browser-client', + permanent: true, + }, + { + source: '/how-to/ssh', + destination: '/manage/peers/ssh', + permanent: true, + }, + { + source: '/how-to/lazy-connection', + destination: '/manage/peers/lazy-connection', + permanent: true, + }, + { + source: '/how-to/approve-peers', + destination: '/manage/peers/approve-peers', + permanent: true, + }, + { + source: '/how-to/secure-remote-webserver-access', + destination: '/manage/peers/access-infrastructure/secure-remote-webserver-access', + permanent: true, + }, + { + source: '/how-to/setup-keys-add-servers-to-network', + destination: '/manage/peers/access-infrastructure/setup-keys-add-servers-to-network', + permanent: true, + }, + { + source: '/how-to/access-internal-resources-from-autoscaled-environments', + destination: '/manage/peers/access-infrastructure/access-internal-resources-from-autoscaled-environments', + permanent: true, + }, + { + source: '/how-to/peer-approval-for-remote-worker-access', + destination: '/manage/peers/access-infrastructure/peer-approval-for-remote-worker-access', + permanent: true, + }, + { + source: '/how-to/db-workload-migration', + destination: '/manage/peers/connect-site-to-site/db-workload-migration', + permanent: true, + }, // documentation redirects for access control { source: '/how-to/manage-network-access', @@ -140,6 +207,53 @@ const nextConfig = { destination: '/manage/access-control/endpoint-detection-and-response/intune-mdm', permanent: true, }, + // documentation redirects for networks + { + source: '/how-to/routing-traffic-to-multiple-resources', + destination: '/manage/networks/routing-traffic-to-multiple-resources', + permanent: true, + }, + { + source: '/how-to/accessing-restricted-domain-resources', + destination: '/manage/networks/accessing-restricted-domain-resources', + permanent: true, + }, + { + source: '/how-to/accessing-entire-domains-within-networks', + destination: '/manage/networks/accessing-entire-domains-within-networks', + permanent: true, + }, + { + source: '/how-to/accessing-home-network', + destination: '/manage/networks/homelab/access-home-network', + permanent: true, + }, + { + source: '/how-to/access-home-network', + destination: '/manage/networks/homelab/access-home-network', + permanent: true, + }, + // documentation redirects for network routes + { + source: '/how-to/routing-traffic-to-private-networks', + destination: '/manage/network-routes/routing-traffic-to-private-networks', + permanent: true, + }, + { + source: '/how-to/configuring-default-routes-for-internet-traffic', + destination: '/manage/network-routes/configuring-default-routes-for-internet-traffic', + permanent: true, + }, + { + source: '/how-to/configuring-routes-with-access-control', + destination: '/manage/network-routes/configuring-routes-with-access-control', + permanent: true, + }, + { + source: '/how-to/resolve-overlapping-routes', + destination: '/manage/network-routes/resolve-overlapping-routes', + permanent: true, + }, ] }, rewrites: async () => { diff --git a/public/docs-static/img/manage/access-control/posture-checks/connecting-from-the-office/route-office-subnet-posturecheck.png b/public/docs-static/img/manage/access-control/posture-checks/connecting-from-the-office/route-office-subnet-posturecheck.png new file mode 100644 index 00000000..01280619 Binary files /dev/null and b/public/docs-static/img/manage/access-control/posture-checks/connecting-from-the-office/route-office-subnet-posturecheck.png differ diff --git a/public/docs-static/img/how-to-guides/control-center/control-center-groups-view.png b/public/docs-static/img/manage/control-center/control-center-groups-view.png similarity index 100% rename from public/docs-static/img/how-to-guides/control-center/control-center-groups-view.png rename to public/docs-static/img/manage/control-center/control-center-groups-view.png diff --git a/public/docs-static/img/how-to-guides/control-center/control-center-network-view.png b/public/docs-static/img/manage/control-center/control-center-network-view.png similarity index 100% rename from public/docs-static/img/how-to-guides/control-center/control-center-network-view.png rename to public/docs-static/img/manage/control-center/control-center-network-view.png diff --git a/public/docs-static/img/how-to-guides/control-center/control-center-peer-view.png b/public/docs-static/img/manage/control-center/control-center-peer-view.png similarity index 100% rename from public/docs-static/img/how-to-guides/control-center/control-center-peer-view.png rename to public/docs-static/img/manage/control-center/control-center-peer-view.png diff --git a/public/docs-static/img/how-to-guides/exit-node-auto-apply.png b/public/docs-static/img/manage/network-routes/exit-node-auto-apply.png similarity index 100% rename from public/docs-static/img/how-to-guides/exit-node-auto-apply.png rename to public/docs-static/img/manage/network-routes/exit-node-auto-apply.png diff --git a/public/docs-static/img/how-to-guides/netbird-network-routes-add-button.png b/public/docs-static/img/manage/network-routes/netbird-network-routes-add-button.png similarity index 100% rename from public/docs-static/img/how-to-guides/netbird-network-routes-add-button.png rename to public/docs-static/img/manage/network-routes/netbird-network-routes-add-button.png diff --git a/public/docs-static/img/how-to-guides/netbird-network-routes-create-groups.png b/public/docs-static/img/manage/network-routes/netbird-network-routes-create-groups.png similarity index 100% rename from public/docs-static/img/how-to-guides/netbird-network-routes-create-groups.png rename to public/docs-static/img/manage/network-routes/netbird-network-routes-create-groups.png diff --git a/public/docs-static/img/how-to-guides/netbird-network-routes-create-ha.png b/public/docs-static/img/manage/network-routes/netbird-network-routes-create-ha.png similarity index 100% rename from public/docs-static/img/how-to-guides/netbird-network-routes-create-ha.png rename to public/docs-static/img/manage/network-routes/netbird-network-routes-create-ha.png diff --git a/public/docs-static/img/how-to-guides/netbird-network-routes-create.png b/public/docs-static/img/manage/network-routes/netbird-network-routes-create.png similarity index 100% rename from public/docs-static/img/how-to-guides/netbird-network-routes-create.png rename to public/docs-static/img/manage/network-routes/netbird-network-routes-create.png diff --git a/public/docs-static/img/how-to-guides/netbird-network-routes-dns-routes.png b/public/docs-static/img/manage/network-routes/netbird-network-routes-dns-routes.png similarity index 100% rename from public/docs-static/img/how-to-guides/netbird-network-routes-dns-routes.png rename to public/docs-static/img/manage/network-routes/netbird-network-routes-dns-routes.png diff --git a/public/docs-static/img/how-to-guides/netbird-network-routes-groups-attribution.png b/public/docs-static/img/manage/network-routes/netbird-network-routes-groups-attribution.png similarity index 100% rename from public/docs-static/img/how-to-guides/netbird-network-routes-groups-attribution.png rename to public/docs-static/img/manage/network-routes/netbird-network-routes-groups-attribution.png diff --git a/public/docs-static/img/how-to-guides/netbird-network-routes-groups-create.png b/public/docs-static/img/manage/network-routes/netbird-network-routes-groups-create.png similarity index 100% rename from public/docs-static/img/how-to-guides/netbird-network-routes-groups-create.png rename to public/docs-static/img/manage/network-routes/netbird-network-routes-groups-create.png diff --git a/public/docs-static/img/how-to-guides/netbird-network-routes-groups-saved-new.png b/public/docs-static/img/manage/network-routes/netbird-network-routes-groups-saved-new.png similarity index 100% rename from public/docs-static/img/how-to-guides/netbird-network-routes-groups-saved-new.png rename to public/docs-static/img/manage/network-routes/netbird-network-routes-groups-saved-new.png diff --git a/public/docs-static/img/how-to-guides/netbird-network-routes-masquerading.png b/public/docs-static/img/manage/network-routes/netbird-network-routes-masquerading.png similarity index 100% rename from public/docs-static/img/how-to-guides/netbird-network-routes-masquerading.png rename to public/docs-static/img/manage/network-routes/netbird-network-routes-masquerading.png diff --git a/public/docs-static/img/how-to-guides/netbird-network-routes-saved-new-ha.png b/public/docs-static/img/manage/network-routes/netbird-network-routes-saved-new-ha.png similarity index 100% rename from public/docs-static/img/how-to-guides/netbird-network-routes-saved-new-ha.png rename to public/docs-static/img/manage/network-routes/netbird-network-routes-saved-new-ha.png diff --git a/public/docs-static/img/how-to-guides/netbird-network-routes-saved-new.png b/public/docs-static/img/manage/network-routes/netbird-network-routes-saved-new.png similarity index 100% rename from public/docs-static/img/how-to-guides/netbird-network-routes-saved-new.png rename to public/docs-static/img/manage/network-routes/netbird-network-routes-saved-new.png diff --git a/public/docs-static/img/how-to-guides/netbird-network-routes.png b/public/docs-static/img/manage/network-routes/netbird-network-routes.png similarity index 100% rename from public/docs-static/img/how-to-guides/netbird-network-routes.png rename to public/docs-static/img/manage/network-routes/netbird-network-routes.png diff --git a/public/docs-static/img/how-to-guides/netbird-peers-add-exit-node.png b/public/docs-static/img/manage/network-routes/netbird-peers-add-exit-node.png similarity index 100% rename from public/docs-static/img/how-to-guides/netbird-peers-add-exit-node.png rename to public/docs-static/img/manage/network-routes/netbird-peers-add-exit-node.png diff --git a/public/docs-static/img/how-to-guides/netbird-peers-routing-peer-exit-node.png b/public/docs-static/img/manage/network-routes/netbird-peers-routing-peer-exit-node.png similarity index 100% rename from public/docs-static/img/how-to-guides/netbird-peers-routing-peer-exit-node.png rename to public/docs-static/img/manage/network-routes/netbird-peers-routing-peer-exit-node.png diff --git a/public/docs-static/img/how-to-guides/netbird-peers-routing-peer.png b/public/docs-static/img/manage/network-routes/netbird-peers-routing-peer.png similarity index 100% rename from public/docs-static/img/how-to-guides/netbird-peers-routing-peer.png rename to public/docs-static/img/manage/network-routes/netbird-peers-routing-peer.png diff --git a/public/docs-static/img/how-to-guides/netbird-peers.png b/public/docs-static/img/manage/network-routes/netbird-peers.png similarity index 100% rename from public/docs-static/img/how-to-guides/netbird-peers.png rename to public/docs-static/img/manage/network-routes/netbird-peers.png diff --git a/public/docs-static/img/how-to-guides/network-acl-create-policy.png b/public/docs-static/img/manage/network-routes/network-acl-create-policy.png similarity index 100% rename from public/docs-static/img/how-to-guides/network-acl-create-policy.png rename to public/docs-static/img/manage/network-routes/network-acl-create-policy.png diff --git a/public/docs-static/img/how-to-guides/network-acl-new-policy.png b/public/docs-static/img/manage/network-routes/network-acl-new-policy.png similarity index 100% rename from public/docs-static/img/how-to-guides/network-acl-new-policy.png rename to public/docs-static/img/manage/network-routes/network-acl-new-policy.png diff --git a/public/docs-static/img/how-to-guides/network-route-acl-group-settings.png b/public/docs-static/img/manage/network-routes/network-route-acl-group-settings.png similarity index 100% rename from public/docs-static/img/how-to-guides/network-route-acl-group-settings.png rename to public/docs-static/img/manage/network-routes/network-route-acl-group-settings.png diff --git a/public/docs-static/img/how-to-guides/network-route-acl-prompt.png b/public/docs-static/img/manage/network-routes/network-route-acl-prompt.png similarity index 100% rename from public/docs-static/img/how-to-guides/network-route-acl-prompt.png rename to public/docs-static/img/manage/network-routes/network-route-acl-prompt.png diff --git a/public/docs-static/img/how-to-guides/network-route-acl-saved.png b/public/docs-static/img/manage/network-routes/network-route-acl-saved.png similarity index 100% rename from public/docs-static/img/how-to-guides/network-route-acl-saved.png rename to public/docs-static/img/manage/network-routes/network-route-acl-saved.png diff --git a/public/docs-static/img/how-to-guides/network-route-acl.png b/public/docs-static/img/manage/network-routes/network-route-acl.png similarity index 100% rename from public/docs-static/img/how-to-guides/network-route-acl.png rename to public/docs-static/img/manage/network-routes/network-route-acl.png diff --git a/public/docs-static/img/how-to-guides/routing-traffic-to-private-networks/network-routers.png b/public/docs-static/img/manage/network-routes/routing-traffic-to-private-networks/network-routers.png similarity index 100% rename from public/docs-static/img/how-to-guides/routing-traffic-to-private-networks/network-routers.png rename to public/docs-static/img/manage/network-routes/routing-traffic-to-private-networks/network-routers.png diff --git a/public/docs-static/img/how-to-guides/routing-traffic-to-private-networks/policy-http.png b/public/docs-static/img/manage/network-routes/routing-traffic-to-private-networks/policy-http.png similarity index 100% rename from public/docs-static/img/how-to-guides/routing-traffic-to-private-networks/policy-http.png rename to public/docs-static/img/manage/network-routes/routing-traffic-to-private-networks/policy-http.png diff --git a/public/docs-static/img/how-to-guides/routing-traffic-to-private-networks/policy-icmp-group-r.png b/public/docs-static/img/manage/network-routes/routing-traffic-to-private-networks/policy-icmp-group-r.png similarity index 100% rename from public/docs-static/img/how-to-guides/routing-traffic-to-private-networks/policy-icmp-group-r.png rename to public/docs-static/img/manage/network-routes/routing-traffic-to-private-networks/policy-icmp-group-r.png diff --git a/public/docs-static/img/how-to-guides/routing-traffic-to-private-networks/resource-domain.png b/public/docs-static/img/manage/network-routes/routing-traffic-to-private-networks/resource-domain.png similarity index 100% rename from public/docs-static/img/how-to-guides/routing-traffic-to-private-networks/resource-domain.png rename to public/docs-static/img/manage/network-routes/routing-traffic-to-private-networks/resource-domain.png diff --git a/public/docs-static/img/how-to-guides/routing-traffic-to-private-networks/route-ip-address.png b/public/docs-static/img/manage/network-routes/routing-traffic-to-private-networks/route-ip-address.png similarity index 100% rename from public/docs-static/img/how-to-guides/routing-traffic-to-private-networks/route-ip-address.png rename to public/docs-static/img/manage/network-routes/routing-traffic-to-private-networks/route-ip-address.png diff --git a/public/docs-static/img/how-to-guides/routing-traffic-to-private-networks/routing-peer-groups.png b/public/docs-static/img/manage/network-routes/routing-traffic-to-private-networks/routing-peer-groups.png similarity index 100% rename from public/docs-static/img/how-to-guides/routing-traffic-to-private-networks/routing-peer-groups.png rename to public/docs-static/img/manage/network-routes/routing-traffic-to-private-networks/routing-peer-groups.png diff --git a/public/docs-static/img/how-to-guides/select-network-routes.png b/public/docs-static/img/manage/network-routes/select-network-routes.png similarity index 100% rename from public/docs-static/img/how-to-guides/select-network-routes.png rename to public/docs-static/img/manage/network-routes/select-network-routes.png diff --git a/public/docs-static/img/how-to-guides/accessing-entire-domains-within-networks/01-domains-within-networks.png b/public/docs-static/img/manage/networks/accessing-entire-domains-within-networks/01-domains-within-networks.png similarity index 100% rename from public/docs-static/img/how-to-guides/accessing-entire-domains-within-networks/01-domains-within-networks.png rename to public/docs-static/img/manage/networks/accessing-entire-domains-within-networks/01-domains-within-networks.png diff --git a/public/docs-static/img/how-to-guides/accessing-entire-domains-within-networks/02-domains-within-networks.png b/public/docs-static/img/manage/networks/accessing-entire-domains-within-networks/02-domains-within-networks.png similarity index 100% rename from public/docs-static/img/how-to-guides/accessing-entire-domains-within-networks/02-domains-within-networks.png rename to public/docs-static/img/manage/networks/accessing-entire-domains-within-networks/02-domains-within-networks.png diff --git a/public/docs-static/img/how-to-guides/accessing-entire-domains-within-networks/03-domains-within-networks.png b/public/docs-static/img/manage/networks/accessing-entire-domains-within-networks/03-domains-within-networks.png similarity index 100% rename from public/docs-static/img/how-to-guides/accessing-entire-domains-within-networks/03-domains-within-networks.png rename to public/docs-static/img/manage/networks/accessing-entire-domains-within-networks/03-domains-within-networks.png diff --git a/public/docs-static/img/how-to-guides/accessing-entire-domains-within-networks/04-domains-within-networks.png b/public/docs-static/img/manage/networks/accessing-entire-domains-within-networks/04-domains-within-networks.png similarity index 100% rename from public/docs-static/img/how-to-guides/accessing-entire-domains-within-networks/04-domains-within-networks.png rename to public/docs-static/img/manage/networks/accessing-entire-domains-within-networks/04-domains-within-networks.png diff --git a/public/docs-static/img/how-to-guides/accessing-entire-domains-within-networks/05-domains-within-networks.png b/public/docs-static/img/manage/networks/accessing-entire-domains-within-networks/05-domains-within-networks.png similarity index 100% rename from public/docs-static/img/how-to-guides/accessing-entire-domains-within-networks/05-domains-within-networks.png rename to public/docs-static/img/manage/networks/accessing-entire-domains-within-networks/05-domains-within-networks.png diff --git a/public/docs-static/img/how-to-guides/accessing-entire-domains-within-networks/06-domains-within-networks.png b/public/docs-static/img/manage/networks/accessing-entire-domains-within-networks/06-domains-within-networks.png similarity index 100% rename from public/docs-static/img/how-to-guides/accessing-entire-domains-within-networks/06-domains-within-networks.png rename to public/docs-static/img/manage/networks/accessing-entire-domains-within-networks/06-domains-within-networks.png diff --git a/public/docs-static/img/how-to-guides/accessing-entire-domains-within-networks/07-domains-within-networks.png b/public/docs-static/img/manage/networks/accessing-entire-domains-within-networks/07-domains-within-networks.png similarity index 100% rename from public/docs-static/img/how-to-guides/accessing-entire-domains-within-networks/07-domains-within-networks.png rename to public/docs-static/img/manage/networks/accessing-entire-domains-within-networks/07-domains-within-networks.png diff --git a/public/docs-static/img/how-to-guides/accessing-entire-domains-within-networks/08-domains-within-networks.png b/public/docs-static/img/manage/networks/accessing-entire-domains-within-networks/08-domains-within-networks.png similarity index 100% rename from public/docs-static/img/how-to-guides/accessing-entire-domains-within-networks/08-domains-within-networks.png rename to public/docs-static/img/manage/networks/accessing-entire-domains-within-networks/08-domains-within-networks.png diff --git a/public/docs-static/img/how-to-guides/accessing-entire-domains-within-networks/09-domains-within-networks.png b/public/docs-static/img/manage/networks/accessing-entire-domains-within-networks/09-domains-within-networks.png similarity index 100% rename from public/docs-static/img/how-to-guides/accessing-entire-domains-within-networks/09-domains-within-networks.png rename to public/docs-static/img/manage/networks/accessing-entire-domains-within-networks/09-domains-within-networks.png diff --git a/public/docs-static/img/how-to-guides/accessing-entire-domains-within-networks/10-domains-within-networks.png b/public/docs-static/img/manage/networks/accessing-entire-domains-within-networks/10-domains-within-networks.png similarity index 100% rename from public/docs-static/img/how-to-guides/accessing-entire-domains-within-networks/10-domains-within-networks.png rename to public/docs-static/img/manage/networks/accessing-entire-domains-within-networks/10-domains-within-networks.png diff --git a/public/docs-static/img/how-to-guides/accessing-entire-domains-within-networks/11-domains-within-networks.png b/public/docs-static/img/manage/networks/accessing-entire-domains-within-networks/11-domains-within-networks.png similarity index 100% rename from public/docs-static/img/how-to-guides/accessing-entire-domains-within-networks/11-domains-within-networks.png rename to public/docs-static/img/manage/networks/accessing-entire-domains-within-networks/11-domains-within-networks.png diff --git a/public/docs-static/img/how-to-guides/accessing-entire-domains-within-networks/12-domains-within-networks.png b/public/docs-static/img/manage/networks/accessing-entire-domains-within-networks/12-domains-within-networks.png similarity index 100% rename from public/docs-static/img/how-to-guides/accessing-entire-domains-within-networks/12-domains-within-networks.png rename to public/docs-static/img/manage/networks/accessing-entire-domains-within-networks/12-domains-within-networks.png diff --git a/public/docs-static/img/how-to-guides/accessing-entire-domains-within-networks/13-domains-within-networks.png b/public/docs-static/img/manage/networks/accessing-entire-domains-within-networks/13-domains-within-networks.png similarity index 100% rename from public/docs-static/img/how-to-guides/accessing-entire-domains-within-networks/13-domains-within-networks.png rename to public/docs-static/img/manage/networks/accessing-entire-domains-within-networks/13-domains-within-networks.png diff --git a/public/docs-static/img/how-to-guides/accessing-entire-domains-within-networks/14-domains-within-networks.png b/public/docs-static/img/manage/networks/accessing-entire-domains-within-networks/14-domains-within-networks.png similarity index 100% rename from public/docs-static/img/how-to-guides/accessing-entire-domains-within-networks/14-domains-within-networks.png rename to public/docs-static/img/manage/networks/accessing-entire-domains-within-networks/14-domains-within-networks.png diff --git a/public/docs-static/img/how-to-guides/accessing-entire-domains-within-networks/15-domains-within-networks.png b/public/docs-static/img/manage/networks/accessing-entire-domains-within-networks/15-domains-within-networks.png similarity index 100% rename from public/docs-static/img/how-to-guides/accessing-entire-domains-within-networks/15-domains-within-networks.png rename to public/docs-static/img/manage/networks/accessing-entire-domains-within-networks/15-domains-within-networks.png diff --git a/public/docs-static/img/how-to-guides/accessing-entire-domains-within-networks/16-domains-within-networks.png b/public/docs-static/img/manage/networks/accessing-entire-domains-within-networks/16-domains-within-networks.png similarity index 100% rename from public/docs-static/img/how-to-guides/accessing-entire-domains-within-networks/16-domains-within-networks.png rename to public/docs-static/img/manage/networks/accessing-entire-domains-within-networks/16-domains-within-networks.png diff --git a/public/docs-static/img/how-to-guides/accessing-entire-domains-within-networks/17-domains-within-networks.png b/public/docs-static/img/manage/networks/accessing-entire-domains-within-networks/17-domains-within-networks.png similarity index 100% rename from public/docs-static/img/how-to-guides/accessing-entire-domains-within-networks/17-domains-within-networks.png rename to public/docs-static/img/manage/networks/accessing-entire-domains-within-networks/17-domains-within-networks.png diff --git a/public/docs-static/img/how-to-guides/accessing-entire-domains-within-networks/18-domains-within-networks.png b/public/docs-static/img/manage/networks/accessing-entire-domains-within-networks/18-domains-within-networks.png similarity index 100% rename from public/docs-static/img/how-to-guides/accessing-entire-domains-within-networks/18-domains-within-networks.png rename to public/docs-static/img/manage/networks/accessing-entire-domains-within-networks/18-domains-within-networks.png diff --git a/public/docs-static/img/how-to-guides/accessing-entire-domains-within-networks/19-domains-within-networks.png b/public/docs-static/img/manage/networks/accessing-entire-domains-within-networks/19-domains-within-networks.png similarity index 100% rename from public/docs-static/img/how-to-guides/accessing-entire-domains-within-networks/19-domains-within-networks.png rename to public/docs-static/img/manage/networks/accessing-entire-domains-within-networks/19-domains-within-networks.png diff --git a/public/docs-static/img/how-to-guides/accessing-entire-domains-within-networks/20-domains-within-networks.png b/public/docs-static/img/manage/networks/accessing-entire-domains-within-networks/20-domains-within-networks.png similarity index 100% rename from public/docs-static/img/how-to-guides/accessing-entire-domains-within-networks/20-domains-within-networks.png rename to public/docs-static/img/manage/networks/accessing-entire-domains-within-networks/20-domains-within-networks.png diff --git a/public/docs-static/img/how-to-guides/accessing-restricted-domain-resources/01-restricted-domain.png b/public/docs-static/img/manage/networks/accessing-restricted-domain-resources/01-restricted-domain.png similarity index 100% rename from public/docs-static/img/how-to-guides/accessing-restricted-domain-resources/01-restricted-domain.png rename to public/docs-static/img/manage/networks/accessing-restricted-domain-resources/01-restricted-domain.png diff --git a/public/docs-static/img/how-to-guides/accessing-restricted-domain-resources/02-restricted-domain.png b/public/docs-static/img/manage/networks/accessing-restricted-domain-resources/02-restricted-domain.png similarity index 100% rename from public/docs-static/img/how-to-guides/accessing-restricted-domain-resources/02-restricted-domain.png rename to public/docs-static/img/manage/networks/accessing-restricted-domain-resources/02-restricted-domain.png diff --git a/public/docs-static/img/how-to-guides/accessing-restricted-domain-resources/03-restricted-domain.png b/public/docs-static/img/manage/networks/accessing-restricted-domain-resources/03-restricted-domain.png similarity index 100% rename from public/docs-static/img/how-to-guides/accessing-restricted-domain-resources/03-restricted-domain.png rename to public/docs-static/img/manage/networks/accessing-restricted-domain-resources/03-restricted-domain.png diff --git a/public/docs-static/img/how-to-guides/accessing-restricted-domain-resources/04-restricted-domain.png b/public/docs-static/img/manage/networks/accessing-restricted-domain-resources/04-restricted-domain.png similarity index 100% rename from public/docs-static/img/how-to-guides/accessing-restricted-domain-resources/04-restricted-domain.png rename to public/docs-static/img/manage/networks/accessing-restricted-domain-resources/04-restricted-domain.png diff --git a/public/docs-static/img/how-to-guides/accessing-restricted-domain-resources/05-restricted-domain.png b/public/docs-static/img/manage/networks/accessing-restricted-domain-resources/05-restricted-domain.png similarity index 100% rename from public/docs-static/img/how-to-guides/accessing-restricted-domain-resources/05-restricted-domain.png rename to public/docs-static/img/manage/networks/accessing-restricted-domain-resources/05-restricted-domain.png diff --git a/public/docs-static/img/how-to-guides/accessing-restricted-domain-resources/06-restricted-domain.png b/public/docs-static/img/manage/networks/accessing-restricted-domain-resources/06-restricted-domain.png similarity index 100% rename from public/docs-static/img/how-to-guides/accessing-restricted-domain-resources/06-restricted-domain.png rename to public/docs-static/img/manage/networks/accessing-restricted-domain-resources/06-restricted-domain.png diff --git a/public/docs-static/img/how-to-guides/accessing-restricted-domain-resources/07-restricted-domain.png b/public/docs-static/img/manage/networks/accessing-restricted-domain-resources/07-restricted-domain.png similarity index 100% rename from public/docs-static/img/how-to-guides/accessing-restricted-domain-resources/07-restricted-domain.png rename to public/docs-static/img/manage/networks/accessing-restricted-domain-resources/07-restricted-domain.png diff --git a/public/docs-static/img/how-to-guides/accessing-restricted-domain-resources/08-restricted-domain.png b/public/docs-static/img/manage/networks/accessing-restricted-domain-resources/08-restricted-domain.png similarity index 100% rename from public/docs-static/img/how-to-guides/accessing-restricted-domain-resources/08-restricted-domain.png rename to public/docs-static/img/manage/networks/accessing-restricted-domain-resources/08-restricted-domain.png diff --git a/public/docs-static/img/how-to-guides/accessing-restricted-domain-resources/09-restricted-domain.png b/public/docs-static/img/manage/networks/accessing-restricted-domain-resources/09-restricted-domain.png similarity index 100% rename from public/docs-static/img/how-to-guides/accessing-restricted-domain-resources/09-restricted-domain.png rename to public/docs-static/img/manage/networks/accessing-restricted-domain-resources/09-restricted-domain.png diff --git a/public/docs-static/img/how-to-guides/accessing-restricted-domain-resources/10-restricted-domain.png b/public/docs-static/img/manage/networks/accessing-restricted-domain-resources/10-restricted-domain.png similarity index 100% rename from public/docs-static/img/how-to-guides/accessing-restricted-domain-resources/10-restricted-domain.png rename to public/docs-static/img/manage/networks/accessing-restricted-domain-resources/10-restricted-domain.png diff --git a/public/docs-static/img/how-to-guides/accessing-restricted-domain-resources/11-restricted-domain.png b/public/docs-static/img/manage/networks/accessing-restricted-domain-resources/11-restricted-domain.png similarity index 100% rename from public/docs-static/img/how-to-guides/accessing-restricted-domain-resources/11-restricted-domain.png rename to public/docs-static/img/manage/networks/accessing-restricted-domain-resources/11-restricted-domain.png diff --git a/public/docs-static/img/how-to-guides/accessing-restricted-domain-resources/12-restricted-domain.png b/public/docs-static/img/manage/networks/accessing-restricted-domain-resources/12-restricted-domain.png similarity index 100% rename from public/docs-static/img/how-to-guides/accessing-restricted-domain-resources/12-restricted-domain.png rename to public/docs-static/img/manage/networks/accessing-restricted-domain-resources/12-restricted-domain.png diff --git a/public/docs-static/img/how-to-guides/accessing-restricted-domain-resources/13-restricted-domain.png b/public/docs-static/img/manage/networks/accessing-restricted-domain-resources/13-restricted-domain.png similarity index 100% rename from public/docs-static/img/how-to-guides/accessing-restricted-domain-resources/13-restricted-domain.png rename to public/docs-static/img/manage/networks/accessing-restricted-domain-resources/13-restricted-domain.png diff --git a/public/docs-static/img/how-to-guides/networks/add-domain-resource-1.png b/public/docs-static/img/manage/networks/add-domain-resource-1.png similarity index 100% rename from public/docs-static/img/how-to-guides/networks/add-domain-resource-1.png rename to public/docs-static/img/manage/networks/add-domain-resource-1.png diff --git a/public/docs-static/img/how-to-guides/networks/add-domain-resource-acl-1.png b/public/docs-static/img/manage/networks/add-domain-resource-acl-1.png similarity index 100% rename from public/docs-static/img/how-to-guides/networks/add-domain-resource-acl-1.png rename to public/docs-static/img/manage/networks/add-domain-resource-acl-1.png diff --git a/public/docs-static/img/how-to-guides/networks/add-domain-resource-acl-2.png b/public/docs-static/img/manage/networks/add-domain-resource-acl-2.png similarity index 100% rename from public/docs-static/img/how-to-guides/networks/add-domain-resource-acl-2.png rename to public/docs-static/img/manage/networks/add-domain-resource-acl-2.png diff --git a/public/docs-static/img/how-to-guides/networks/add-example-resource-1.png b/public/docs-static/img/manage/networks/add-example-resource-1.png similarity index 100% rename from public/docs-static/img/how-to-guides/networks/add-example-resource-1.png rename to public/docs-static/img/manage/networks/add-example-resource-1.png diff --git a/public/docs-static/img/how-to-guides/networks/add-example-resource-2.png b/public/docs-static/img/manage/networks/add-example-resource-2.png similarity index 100% rename from public/docs-static/img/how-to-guides/networks/add-example-resource-2.png rename to public/docs-static/img/manage/networks/add-example-resource-2.png diff --git a/public/docs-static/img/how-to-guides/networks/add-example-resource-3.png b/public/docs-static/img/manage/networks/add-example-resource-3.png similarity index 100% rename from public/docs-static/img/how-to-guides/networks/add-example-resource-3.png rename to public/docs-static/img/manage/networks/add-example-resource-3.png diff --git a/public/docs-static/img/how-to-guides/networks/add-example-resource-acl-1.png b/public/docs-static/img/manage/networks/add-example-resource-acl-1.png similarity index 100% rename from public/docs-static/img/how-to-guides/networks/add-example-resource-acl-1.png rename to public/docs-static/img/manage/networks/add-example-resource-acl-1.png diff --git a/public/docs-static/img/how-to-guides/networks/add-example-resource-acl-2.png b/public/docs-static/img/manage/networks/add-example-resource-acl-2.png similarity index 100% rename from public/docs-static/img/how-to-guides/networks/add-example-resource-acl-2.png rename to public/docs-static/img/manage/networks/add-example-resource-acl-2.png diff --git a/public/docs-static/img/how-to-guides/networks/add-example-resource-acl-3.png b/public/docs-static/img/manage/networks/add-example-resource-acl-3.png similarity index 100% rename from public/docs-static/img/how-to-guides/networks/add-example-resource-acl-3.png rename to public/docs-static/img/manage/networks/add-example-resource-acl-3.png diff --git a/public/docs-static/img/how-to-guides/networks/add-example-resource-acl-4.png b/public/docs-static/img/manage/networks/add-example-resource-acl-4.png similarity index 100% rename from public/docs-static/img/how-to-guides/networks/add-example-resource-acl-4.png rename to public/docs-static/img/manage/networks/add-example-resource-acl-4.png diff --git a/public/docs-static/img/how-to-guides/networks/add-example-routing-peer-1.png b/public/docs-static/img/manage/networks/add-example-routing-peer-1.png similarity index 100% rename from public/docs-static/img/how-to-guides/networks/add-example-routing-peer-1.png rename to public/docs-static/img/manage/networks/add-example-routing-peer-1.png diff --git a/public/docs-static/img/how-to-guides/networks/add-example-routing-peer-2.png b/public/docs-static/img/manage/networks/add-example-routing-peer-2.png similarity index 100% rename from public/docs-static/img/how-to-guides/networks/add-example-routing-peer-2.png rename to public/docs-static/img/manage/networks/add-example-routing-peer-2.png diff --git a/public/docs-static/img/how-to-guides/networks/add-routing-peer-1.png b/public/docs-static/img/manage/networks/add-routing-peer-1.png similarity index 100% rename from public/docs-static/img/how-to-guides/networks/add-routing-peer-1.png rename to public/docs-static/img/manage/networks/add-routing-peer-1.png diff --git a/public/docs-static/img/how-to-guides/networks/add-routing-peer-2.png b/public/docs-static/img/manage/networks/add-routing-peer-2.png similarity index 100% rename from public/docs-static/img/how-to-guides/networks/add-routing-peer-2.png rename to public/docs-static/img/manage/networks/add-routing-peer-2.png diff --git a/public/docs-static/img/how-to-guides/networks/add-wild-domain-resource-1.png b/public/docs-static/img/manage/networks/add-wild-domain-resource-1.png similarity index 100% rename from public/docs-static/img/how-to-guides/networks/add-wild-domain-resource-1.png rename to public/docs-static/img/manage/networks/add-wild-domain-resource-1.png diff --git a/public/docs-static/img/how-to-guides/networks/add-wild-domain-resource-2.png b/public/docs-static/img/manage/networks/add-wild-domain-resource-2.png similarity index 100% rename from public/docs-static/img/how-to-guides/networks/add-wild-domain-resource-2.png rename to public/docs-static/img/manage/networks/add-wild-domain-resource-2.png diff --git a/public/docs-static/img/how-to-guides/networks/add-wild-domain-resource-acl-1.png b/public/docs-static/img/manage/networks/add-wild-domain-resource-acl-1.png similarity index 100% rename from public/docs-static/img/how-to-guides/networks/add-wild-domain-resource-acl-1.png rename to public/docs-static/img/manage/networks/add-wild-domain-resource-acl-1.png diff --git a/public/docs-static/img/how-to-guides/networks/add-wild-domain-resource-acl-2.png b/public/docs-static/img/manage/networks/add-wild-domain-resource-acl-2.png similarity index 100% rename from public/docs-static/img/how-to-guides/networks/add-wild-domain-resource-acl-2.png rename to public/docs-static/img/manage/networks/add-wild-domain-resource-acl-2.png diff --git a/public/docs-static/img/how-to-guides/networks/add-wild-routing-peer-1.png b/public/docs-static/img/manage/networks/add-wild-routing-peer-1.png similarity index 100% rename from public/docs-static/img/how-to-guides/networks/add-wild-routing-peer-1.png rename to public/docs-static/img/manage/networks/add-wild-routing-peer-1.png diff --git a/public/docs-static/img/how-to-guides/access-home-network/add-network-home-lan.png b/public/docs-static/img/manage/networks/homelab/add-network-home-lan.png similarity index 100% rename from public/docs-static/img/how-to-guides/access-home-network/add-network-home-lan.png rename to public/docs-static/img/manage/networks/homelab/add-network-home-lan.png diff --git a/public/docs-static/img/how-to-guides/access-home-network/add-policy-home-lan.png b/public/docs-static/img/manage/networks/homelab/add-policy-home-lan.png similarity index 100% rename from public/docs-static/img/how-to-guides/access-home-network/add-policy-home-lan.png rename to public/docs-static/img/manage/networks/homelab/add-policy-home-lan.png diff --git a/public/docs-static/img/how-to-guides/access-home-network/add-resource-home-network.png b/public/docs-static/img/manage/networks/homelab/add-resource-home-network.png similarity index 100% rename from public/docs-static/img/how-to-guides/access-home-network/add-resource-home-network.png rename to public/docs-static/img/manage/networks/homelab/add-resource-home-network.png diff --git a/public/docs-static/img/how-to-guides/access-home-network/add-routing-peer-home-network.png b/public/docs-static/img/manage/networks/homelab/add-routing-peer-home-network.png similarity index 100% rename from public/docs-static/img/how-to-guides/access-home-network/add-routing-peer-home-network.png rename to public/docs-static/img/manage/networks/homelab/add-routing-peer-home-network.png diff --git a/public/docs-static/img/how-to-guides/access-home-network/add-routing-peer.png b/public/docs-static/img/manage/networks/homelab/add-routing-peer.png similarity index 100% rename from public/docs-static/img/how-to-guides/access-home-network/add-routing-peer.png rename to public/docs-static/img/manage/networks/homelab/add-routing-peer.png diff --git a/public/docs-static/img/how-to-guides/access-home-network/add-user-group.png b/public/docs-static/img/manage/networks/homelab/add-user-group.png similarity index 100% rename from public/docs-static/img/how-to-guides/access-home-network/add-user-group.png rename to public/docs-static/img/manage/networks/homelab/add-user-group.png diff --git a/public/docs-static/img/how-to-guides/access-home-network/login-screen-dark.png b/public/docs-static/img/manage/networks/homelab/login-screen-dark.png similarity index 100% rename from public/docs-static/img/how-to-guides/access-home-network/login-screen-dark.png rename to public/docs-static/img/manage/networks/homelab/login-screen-dark.png diff --git a/public/docs-static/img/manage/networks/netbird-network-routes.png b/public/docs-static/img/manage/networks/netbird-network-routes.png new file mode 100644 index 00000000..1997d620 Binary files /dev/null and b/public/docs-static/img/manage/networks/netbird-network-routes.png differ diff --git a/public/docs-static/img/how-to-guides/networks/new-dev-network-1.png b/public/docs-static/img/manage/networks/new-dev-network-1.png similarity index 100% rename from public/docs-static/img/how-to-guides/networks/new-dev-network-1.png rename to public/docs-static/img/manage/networks/new-dev-network-1.png diff --git a/public/docs-static/img/how-to-guides/networks/new-example-network-2.png b/public/docs-static/img/manage/networks/new-example-network-2.png similarity index 100% rename from public/docs-static/img/how-to-guides/networks/new-example-network-2.png rename to public/docs-static/img/manage/networks/new-example-network-2.png diff --git a/public/docs-static/img/how-to-guides/networks/new-network-2.png b/public/docs-static/img/manage/networks/new-network-2.png similarity index 100% rename from public/docs-static/img/how-to-guides/networks/new-network-2.png rename to public/docs-static/img/manage/networks/new-network-2.png diff --git a/public/docs-static/img/how-to-guides/networks/new-network.png b/public/docs-static/img/manage/networks/new-network.png similarity index 100% rename from public/docs-static/img/how-to-guides/networks/new-network.png rename to public/docs-static/img/manage/networks/new-network.png diff --git a/public/docs-static/img/how-to-guides/networks/resource-acl-1.png b/public/docs-static/img/manage/networks/resource-acl-1.png similarity index 100% rename from public/docs-static/img/how-to-guides/networks/resource-acl-1.png rename to public/docs-static/img/manage/networks/resource-acl-1.png diff --git a/public/docs-static/img/how-to-guides/networks/resources-1.png b/public/docs-static/img/manage/networks/resources-1.png similarity index 100% rename from public/docs-static/img/how-to-guides/networks/resources-1.png rename to public/docs-static/img/manage/networks/resources-1.png diff --git a/public/docs-static/img/how-to-guides/networks/resources-2.png b/public/docs-static/img/manage/networks/resources-2.png similarity index 100% rename from public/docs-static/img/how-to-guides/networks/resources-2.png rename to public/docs-static/img/manage/networks/resources-2.png diff --git a/public/docs-static/img/how-to-guides/networks/settings-1.png b/public/docs-static/img/manage/networks/settings-1.png similarity index 100% rename from public/docs-static/img/how-to-guides/networks/settings-1.png rename to public/docs-static/img/manage/networks/settings-1.png diff --git a/public/docs-static/img/how-to-guides/networks/view-example-network-1.png b/public/docs-static/img/manage/networks/view-example-network-1.png similarity index 100% rename from public/docs-static/img/how-to-guides/networks/view-example-network-1.png rename to public/docs-static/img/manage/networks/view-example-network-1.png diff --git a/public/docs-static/img/how-to-guides/networks/view-example-network-2.png b/public/docs-static/img/manage/networks/view-example-network-2.png similarity index 100% rename from public/docs-static/img/how-to-guides/networks/view-example-network-2.png rename to public/docs-static/img/manage/networks/view-example-network-2.png diff --git a/public/docs-static/img/how-to-guides/networks/view-network-1.png b/public/docs-static/img/manage/networks/view-network-1.png similarity index 100% rename from public/docs-static/img/how-to-guides/networks/view-network-1.png rename to public/docs-static/img/manage/networks/view-network-1.png diff --git a/public/docs-static/img/how-to-guides/networks/view-network-2.png b/public/docs-static/img/manage/networks/view-network-2.png similarity index 100% rename from public/docs-static/img/how-to-guides/networks/view-network-2.png rename to public/docs-static/img/manage/networks/view-network-2.png diff --git a/public/docs-static/img/how-to-guides/networks/view-wild-network-1.png b/public/docs-static/img/manage/networks/view-wild-network-1.png similarity index 100% rename from public/docs-static/img/how-to-guides/networks/view-wild-network-1.png rename to public/docs-static/img/manage/networks/view-wild-network-1.png diff --git a/public/docs-static/img/how-to-guides/networks/view-wild-network-2.png b/public/docs-static/img/manage/networks/view-wild-network-2.png similarity index 100% rename from public/docs-static/img/how-to-guides/networks/view-wild-network-2.png rename to public/docs-static/img/manage/networks/view-wild-network-2.png diff --git a/public/docs-static/img/how-to-guides/networks/view-wild-network-3.png b/public/docs-static/img/manage/networks/view-wild-network-3.png similarity index 100% rename from public/docs-static/img/how-to-guides/networks/view-wild-network-3.png rename to public/docs-static/img/manage/networks/view-wild-network-3.png diff --git a/public/docs-static/img/how-to-guides/peer-approval-for-remote-worker-access/peer-0-01.png b/public/docs-static/img/manage/peers/access-infrastructure/peer-approval-for-remote-worker-access/peer-0-01.png similarity index 100% rename from public/docs-static/img/how-to-guides/peer-approval-for-remote-worker-access/peer-0-01.png rename to public/docs-static/img/manage/peers/access-infrastructure/peer-approval-for-remote-worker-access/peer-0-01.png diff --git a/public/docs-static/img/how-to-guides/peer-approval-for-remote-worker-access/peer-0-02.png b/public/docs-static/img/manage/peers/access-infrastructure/peer-approval-for-remote-worker-access/peer-0-02.png similarity index 100% rename from public/docs-static/img/how-to-guides/peer-approval-for-remote-worker-access/peer-0-02.png rename to public/docs-static/img/manage/peers/access-infrastructure/peer-approval-for-remote-worker-access/peer-0-02.png diff --git a/public/docs-static/img/how-to-guides/peer-approval-for-remote-worker-access/peer-0-03.png b/public/docs-static/img/manage/peers/access-infrastructure/peer-approval-for-remote-worker-access/peer-0-03.png similarity index 100% rename from public/docs-static/img/how-to-guides/peer-approval-for-remote-worker-access/peer-0-03.png rename to public/docs-static/img/manage/peers/access-infrastructure/peer-approval-for-remote-worker-access/peer-0-03.png diff --git a/public/docs-static/img/how-to-guides/peer-approval-for-remote-worker-access/peer-a-01.png b/public/docs-static/img/manage/peers/access-infrastructure/peer-approval-for-remote-worker-access/peer-a-01.png similarity index 100% rename from public/docs-static/img/how-to-guides/peer-approval-for-remote-worker-access/peer-a-01.png rename to public/docs-static/img/manage/peers/access-infrastructure/peer-approval-for-remote-worker-access/peer-a-01.png diff --git a/public/docs-static/img/how-to-guides/peer-approval-for-remote-worker-access/peer-a-02.png b/public/docs-static/img/manage/peers/access-infrastructure/peer-approval-for-remote-worker-access/peer-a-02.png similarity index 100% rename from public/docs-static/img/how-to-guides/peer-approval-for-remote-worker-access/peer-a-02.png rename to public/docs-static/img/manage/peers/access-infrastructure/peer-approval-for-remote-worker-access/peer-a-02.png diff --git a/public/docs-static/img/how-to-guides/peer-approval-for-remote-worker-access/peer-a-03.png b/public/docs-static/img/manage/peers/access-infrastructure/peer-approval-for-remote-worker-access/peer-a-03.png similarity index 100% rename from public/docs-static/img/how-to-guides/peer-approval-for-remote-worker-access/peer-a-03.png rename to public/docs-static/img/manage/peers/access-infrastructure/peer-approval-for-remote-worker-access/peer-a-03.png diff --git a/public/docs-static/img/how-to-guides/peer-approval-for-remote-worker-access/peer-a-04.png b/public/docs-static/img/manage/peers/access-infrastructure/peer-approval-for-remote-worker-access/peer-a-04.png similarity index 100% rename from public/docs-static/img/how-to-guides/peer-approval-for-remote-worker-access/peer-a-04.png rename to public/docs-static/img/manage/peers/access-infrastructure/peer-approval-for-remote-worker-access/peer-a-04.png diff --git a/public/docs-static/img/how-to-guides/peer-approval-for-remote-worker-access/peer-a-05.png b/public/docs-static/img/manage/peers/access-infrastructure/peer-approval-for-remote-worker-access/peer-a-05.png similarity index 100% rename from public/docs-static/img/how-to-guides/peer-approval-for-remote-worker-access/peer-a-05.png rename to public/docs-static/img/manage/peers/access-infrastructure/peer-approval-for-remote-worker-access/peer-a-05.png diff --git a/public/docs-static/img/how-to-guides/peer-approval-for-remote-worker-access/peer-a-06.png b/public/docs-static/img/manage/peers/access-infrastructure/peer-approval-for-remote-worker-access/peer-a-06.png similarity index 100% rename from public/docs-static/img/how-to-guides/peer-approval-for-remote-worker-access/peer-a-06.png rename to public/docs-static/img/manage/peers/access-infrastructure/peer-approval-for-remote-worker-access/peer-a-06.png diff --git a/public/docs-static/img/how-to-guides/peer-approval-for-remote-worker-access/peer-a-07.png b/public/docs-static/img/manage/peers/access-infrastructure/peer-approval-for-remote-worker-access/peer-a-07.png similarity index 100% rename from public/docs-static/img/how-to-guides/peer-approval-for-remote-worker-access/peer-a-07.png rename to public/docs-static/img/manage/peers/access-infrastructure/peer-approval-for-remote-worker-access/peer-a-07.png diff --git a/public/docs-static/img/how-to-guides/peer-approval-for-remote-worker-access/peer-a-08.png b/public/docs-static/img/manage/peers/access-infrastructure/peer-approval-for-remote-worker-access/peer-a-08.png similarity index 100% rename from public/docs-static/img/how-to-guides/peer-approval-for-remote-worker-access/peer-a-08.png rename to public/docs-static/img/manage/peers/access-infrastructure/peer-approval-for-remote-worker-access/peer-a-08.png diff --git a/public/docs-static/img/how-to-guides/peer-approval-for-remote-worker-access/peer-a-09.png b/public/docs-static/img/manage/peers/access-infrastructure/peer-approval-for-remote-worker-access/peer-a-09.png similarity index 100% rename from public/docs-static/img/how-to-guides/peer-approval-for-remote-worker-access/peer-a-09.png rename to public/docs-static/img/manage/peers/access-infrastructure/peer-approval-for-remote-worker-access/peer-a-09.png diff --git a/public/docs-static/img/how-to-guides/peer-approval-for-remote-worker-access/peer-a-10.png b/public/docs-static/img/manage/peers/access-infrastructure/peer-approval-for-remote-worker-access/peer-a-10.png similarity index 100% rename from public/docs-static/img/how-to-guides/peer-approval-for-remote-worker-access/peer-a-10.png rename to public/docs-static/img/manage/peers/access-infrastructure/peer-approval-for-remote-worker-access/peer-a-10.png diff --git a/public/docs-static/img/how-to-guides/peer-approval-for-remote-worker-access/peer-a-11.png b/public/docs-static/img/manage/peers/access-infrastructure/peer-approval-for-remote-worker-access/peer-a-11.png similarity index 100% rename from public/docs-static/img/how-to-guides/peer-approval-for-remote-worker-access/peer-a-11.png rename to public/docs-static/img/manage/peers/access-infrastructure/peer-approval-for-remote-worker-access/peer-a-11.png diff --git a/public/docs-static/img/how-to-guides/peer-approval-for-remote-worker-access/peer-a-12.png b/public/docs-static/img/manage/peers/access-infrastructure/peer-approval-for-remote-worker-access/peer-a-12.png similarity index 100% rename from public/docs-static/img/how-to-guides/peer-approval-for-remote-worker-access/peer-a-12.png rename to public/docs-static/img/manage/peers/access-infrastructure/peer-approval-for-remote-worker-access/peer-a-12.png diff --git a/public/docs-static/img/how-to-guides/peer-approval-for-remote-worker-access/peer-a-13.png b/public/docs-static/img/manage/peers/access-infrastructure/peer-approval-for-remote-worker-access/peer-a-13.png similarity index 100% rename from public/docs-static/img/how-to-guides/peer-approval-for-remote-worker-access/peer-a-13.png rename to public/docs-static/img/manage/peers/access-infrastructure/peer-approval-for-remote-worker-access/peer-a-13.png diff --git a/public/docs-static/img/how-to-guides/peer-approval-for-remote-worker-access/peer-a-14.png b/public/docs-static/img/manage/peers/access-infrastructure/peer-approval-for-remote-worker-access/peer-a-14.png similarity index 100% rename from public/docs-static/img/how-to-guides/peer-approval-for-remote-worker-access/peer-a-14.png rename to public/docs-static/img/manage/peers/access-infrastructure/peer-approval-for-remote-worker-access/peer-a-14.png diff --git a/public/docs-static/img/how-to-guides/peer-approval-for-remote-worker-access/peer-a-15.png b/public/docs-static/img/manage/peers/access-infrastructure/peer-approval-for-remote-worker-access/peer-a-15.png similarity index 100% rename from public/docs-static/img/how-to-guides/peer-approval-for-remote-worker-access/peer-a-15.png rename to public/docs-static/img/manage/peers/access-infrastructure/peer-approval-for-remote-worker-access/peer-a-15.png diff --git a/public/docs-static/img/how-to-guides/peer-approval-for-remote-worker-access/peer-a-16.png b/public/docs-static/img/manage/peers/access-infrastructure/peer-approval-for-remote-worker-access/peer-a-16.png similarity index 100% rename from public/docs-static/img/how-to-guides/peer-approval-for-remote-worker-access/peer-a-16.png rename to public/docs-static/img/manage/peers/access-infrastructure/peer-approval-for-remote-worker-access/peer-a-16.png diff --git a/public/docs-static/img/how-to-guides/peer-approval-for-remote-worker-access/peer-a-17.png b/public/docs-static/img/manage/peers/access-infrastructure/peer-approval-for-remote-worker-access/peer-a-17.png similarity index 100% rename from public/docs-static/img/how-to-guides/peer-approval-for-remote-worker-access/peer-a-17.png rename to public/docs-static/img/manage/peers/access-infrastructure/peer-approval-for-remote-worker-access/peer-a-17.png diff --git a/public/docs-static/img/how-to-guides/peer-approval-for-remote-worker-access/peer-a-18.png b/public/docs-static/img/manage/peers/access-infrastructure/peer-approval-for-remote-worker-access/peer-a-18.png similarity index 100% rename from public/docs-static/img/how-to-guides/peer-approval-for-remote-worker-access/peer-a-18.png rename to public/docs-static/img/manage/peers/access-infrastructure/peer-approval-for-remote-worker-access/peer-a-18.png diff --git a/public/docs-static/img/how-to-guides/setup-keys-access-internal-resources-autoscaled-env/autoscaled-01.png b/public/docs-static/img/manage/peers/access-infrastructure/setup-keys-access-internal-resources-autoscaled-env/autoscaled-01.png similarity index 100% rename from public/docs-static/img/how-to-guides/setup-keys-access-internal-resources-autoscaled-env/autoscaled-01.png rename to public/docs-static/img/manage/peers/access-infrastructure/setup-keys-access-internal-resources-autoscaled-env/autoscaled-01.png diff --git a/public/docs-static/img/how-to-guides/setup-keys-access-internal-resources-autoscaled-env/autoscaled-02.png b/public/docs-static/img/manage/peers/access-infrastructure/setup-keys-access-internal-resources-autoscaled-env/autoscaled-02.png similarity index 100% rename from public/docs-static/img/how-to-guides/setup-keys-access-internal-resources-autoscaled-env/autoscaled-02.png rename to public/docs-static/img/manage/peers/access-infrastructure/setup-keys-access-internal-resources-autoscaled-env/autoscaled-02.png diff --git a/public/docs-static/img/how-to-guides/setup-keys-access-internal-resources-autoscaled-env/autoscaled-03.png b/public/docs-static/img/manage/peers/access-infrastructure/setup-keys-access-internal-resources-autoscaled-env/autoscaled-03.png similarity index 100% rename from public/docs-static/img/how-to-guides/setup-keys-access-internal-resources-autoscaled-env/autoscaled-03.png rename to public/docs-static/img/manage/peers/access-infrastructure/setup-keys-access-internal-resources-autoscaled-env/autoscaled-03.png diff --git a/public/docs-static/img/how-to-guides/setup-keys-access-internal-resources-autoscaled-env/autoscaled-04.png b/public/docs-static/img/manage/peers/access-infrastructure/setup-keys-access-internal-resources-autoscaled-env/autoscaled-04.png similarity index 100% rename from public/docs-static/img/how-to-guides/setup-keys-access-internal-resources-autoscaled-env/autoscaled-04.png rename to public/docs-static/img/manage/peers/access-infrastructure/setup-keys-access-internal-resources-autoscaled-env/autoscaled-04.png diff --git a/public/docs-static/img/how-to-guides/setup-keys-access-internal-resources-autoscaled-env/autoscaled-05.png b/public/docs-static/img/manage/peers/access-infrastructure/setup-keys-access-internal-resources-autoscaled-env/autoscaled-05.png similarity index 100% rename from public/docs-static/img/how-to-guides/setup-keys-access-internal-resources-autoscaled-env/autoscaled-05.png rename to public/docs-static/img/manage/peers/access-infrastructure/setup-keys-access-internal-resources-autoscaled-env/autoscaled-05.png diff --git a/public/docs-static/img/how-to-guides/setup-keys-access-internal-resources-autoscaled-env/autoscaled-06.png b/public/docs-static/img/manage/peers/access-infrastructure/setup-keys-access-internal-resources-autoscaled-env/autoscaled-06.png similarity index 100% rename from public/docs-static/img/how-to-guides/setup-keys-access-internal-resources-autoscaled-env/autoscaled-06.png rename to public/docs-static/img/manage/peers/access-infrastructure/setup-keys-access-internal-resources-autoscaled-env/autoscaled-06.png diff --git a/public/docs-static/img/how-to-guides/setup-keys-access-internal-resources-autoscaled-env/autoscaled-07.png b/public/docs-static/img/manage/peers/access-infrastructure/setup-keys-access-internal-resources-autoscaled-env/autoscaled-07.png similarity index 100% rename from public/docs-static/img/how-to-guides/setup-keys-access-internal-resources-autoscaled-env/autoscaled-07.png rename to public/docs-static/img/manage/peers/access-infrastructure/setup-keys-access-internal-resources-autoscaled-env/autoscaled-07.png diff --git a/public/docs-static/img/how-to-guides/setup-keys-access-internal-resources-autoscaled-env/autoscaled-08.png b/public/docs-static/img/manage/peers/access-infrastructure/setup-keys-access-internal-resources-autoscaled-env/autoscaled-08.png similarity index 100% rename from public/docs-static/img/how-to-guides/setup-keys-access-internal-resources-autoscaled-env/autoscaled-08.png rename to public/docs-static/img/manage/peers/access-infrastructure/setup-keys-access-internal-resources-autoscaled-env/autoscaled-08.png diff --git a/public/docs-static/img/how-to-guides/setup-keys-access-internal-resources-autoscaled-env/autoscaled-09.png b/public/docs-static/img/manage/peers/access-infrastructure/setup-keys-access-internal-resources-autoscaled-env/autoscaled-09.png similarity index 100% rename from public/docs-static/img/how-to-guides/setup-keys-access-internal-resources-autoscaled-env/autoscaled-09.png rename to public/docs-static/img/manage/peers/access-infrastructure/setup-keys-access-internal-resources-autoscaled-env/autoscaled-09.png diff --git a/public/docs-static/img/how-to-guides/setup-keys-access-internal-resources-autoscaled-env/autoscaled-10.png b/public/docs-static/img/manage/peers/access-infrastructure/setup-keys-access-internal-resources-autoscaled-env/autoscaled-10.png similarity index 100% rename from public/docs-static/img/how-to-guides/setup-keys-access-internal-resources-autoscaled-env/autoscaled-10.png rename to public/docs-static/img/manage/peers/access-infrastructure/setup-keys-access-internal-resources-autoscaled-env/autoscaled-10.png diff --git a/public/docs-static/img/how-to-guides/setup-keys-access-internal-resources-autoscaled-env/autoscaled-11.png b/public/docs-static/img/manage/peers/access-infrastructure/setup-keys-access-internal-resources-autoscaled-env/autoscaled-11.png similarity index 100% rename from public/docs-static/img/how-to-guides/setup-keys-access-internal-resources-autoscaled-env/autoscaled-11.png rename to public/docs-static/img/manage/peers/access-infrastructure/setup-keys-access-internal-resources-autoscaled-env/autoscaled-11.png diff --git a/public/docs-static/img/how-to-guides/setup-keys-access-internal-resources-autoscaled-env/autoscaled-12.png b/public/docs-static/img/manage/peers/access-infrastructure/setup-keys-access-internal-resources-autoscaled-env/autoscaled-12.png similarity index 100% rename from public/docs-static/img/how-to-guides/setup-keys-access-internal-resources-autoscaled-env/autoscaled-12.png rename to public/docs-static/img/manage/peers/access-infrastructure/setup-keys-access-internal-resources-autoscaled-env/autoscaled-12.png diff --git a/public/docs-static/img/how-to-guides/setup-keys-access-internal-resources-autoscaled-env/autoscaled-13.png b/public/docs-static/img/manage/peers/access-infrastructure/setup-keys-access-internal-resources-autoscaled-env/autoscaled-13.png similarity index 100% rename from public/docs-static/img/how-to-guides/setup-keys-access-internal-resources-autoscaled-env/autoscaled-13.png rename to public/docs-static/img/manage/peers/access-infrastructure/setup-keys-access-internal-resources-autoscaled-env/autoscaled-13.png diff --git a/public/docs-static/img/how-to-guides/setup-keys-access-internal-resources-autoscaled-env/autoscaled-14.png b/public/docs-static/img/manage/peers/access-infrastructure/setup-keys-access-internal-resources-autoscaled-env/autoscaled-14.png similarity index 100% rename from public/docs-static/img/how-to-guides/setup-keys-access-internal-resources-autoscaled-env/autoscaled-14.png rename to public/docs-static/img/manage/peers/access-infrastructure/setup-keys-access-internal-resources-autoscaled-env/autoscaled-14.png diff --git a/public/docs-static/img/how-to-guides/setup-keys-add-servers-to-network/setup-keys-add-server-01.png b/public/docs-static/img/manage/peers/access-infrastructure/setup-keys-add-servers-to-network/setup-keys-add-server-01.png similarity index 100% rename from public/docs-static/img/how-to-guides/setup-keys-add-servers-to-network/setup-keys-add-server-01.png rename to public/docs-static/img/manage/peers/access-infrastructure/setup-keys-add-servers-to-network/setup-keys-add-server-01.png diff --git a/public/docs-static/img/how-to-guides/setup-keys-add-servers-to-network/setup-keys-add-server-02.png b/public/docs-static/img/manage/peers/access-infrastructure/setup-keys-add-servers-to-network/setup-keys-add-server-02.png similarity index 100% rename from public/docs-static/img/how-to-guides/setup-keys-add-servers-to-network/setup-keys-add-server-02.png rename to public/docs-static/img/manage/peers/access-infrastructure/setup-keys-add-servers-to-network/setup-keys-add-server-02.png diff --git a/public/docs-static/img/how-to-guides/setup-keys-add-servers-to-network/setup-keys-add-server-03.png b/public/docs-static/img/manage/peers/access-infrastructure/setup-keys-add-servers-to-network/setup-keys-add-server-03.png similarity index 100% rename from public/docs-static/img/how-to-guides/setup-keys-add-servers-to-network/setup-keys-add-server-03.png rename to public/docs-static/img/manage/peers/access-infrastructure/setup-keys-add-servers-to-network/setup-keys-add-server-03.png diff --git a/public/docs-static/img/how-to-guides/setup-keys-add-servers-to-network/setup-keys-add-server-04.png b/public/docs-static/img/manage/peers/access-infrastructure/setup-keys-add-servers-to-network/setup-keys-add-server-04.png similarity index 100% rename from public/docs-static/img/how-to-guides/setup-keys-add-servers-to-network/setup-keys-add-server-04.png rename to public/docs-static/img/manage/peers/access-infrastructure/setup-keys-add-servers-to-network/setup-keys-add-server-04.png diff --git a/public/docs-static/img/manage/peers/add-new-peer-empty.png b/public/docs-static/img/manage/peers/add-new-peer-empty.png new file mode 100644 index 00000000..94ffd0e8 Binary files /dev/null and b/public/docs-static/img/manage/peers/add-new-peer-empty.png differ diff --git a/public/docs-static/img/manage/peers/add-new-peer-popup.png b/public/docs-static/img/manage/peers/add-new-peer-popup.png new file mode 100644 index 00000000..a2b1fc61 Binary files /dev/null and b/public/docs-static/img/manage/peers/add-new-peer-popup.png differ diff --git a/public/docs-static/img/manage/peers/add-setup-key.png b/public/docs-static/img/manage/peers/add-setup-key.png new file mode 100644 index 00000000..79dae790 Binary files /dev/null and b/public/docs-static/img/manage/peers/add-setup-key.png differ diff --git a/public/docs-static/img/how-to-guides/browser-client/peer-list-view.png b/public/docs-static/img/manage/peers/browser-client/peer-list-view.png similarity index 100% rename from public/docs-static/img/how-to-guides/browser-client/peer-list-view.png rename to public/docs-static/img/manage/peers/browser-client/peer-list-view.png diff --git a/public/docs-static/img/how-to-guides/browser-client/rdp-certificate-modal.png b/public/docs-static/img/manage/peers/browser-client/rdp-certificate-modal.png similarity index 100% rename from public/docs-static/img/how-to-guides/browser-client/rdp-certificate-modal.png rename to public/docs-static/img/manage/peers/browser-client/rdp-certificate-modal.png diff --git a/public/docs-static/img/how-to-guides/browser-client/rdp-connected-session.png b/public/docs-static/img/manage/peers/browser-client/rdp-connected-session.png similarity index 100% rename from public/docs-static/img/how-to-guides/browser-client/rdp-connected-session.png rename to public/docs-static/img/manage/peers/browser-client/rdp-connected-session.png diff --git a/public/docs-static/img/how-to-guides/browser-client/rdp-credentials-modal.png b/public/docs-static/img/manage/peers/browser-client/rdp-credentials-modal.png similarity index 100% rename from public/docs-static/img/how-to-guides/browser-client/rdp-credentials-modal.png rename to public/docs-static/img/manage/peers/browser-client/rdp-credentials-modal.png diff --git a/public/docs-static/img/how-to-guides/browser-client/ssh-credentials-modal.png b/public/docs-static/img/manage/peers/browser-client/ssh-credentials-modal.png similarity index 100% rename from public/docs-static/img/how-to-guides/browser-client/ssh-credentials-modal.png rename to public/docs-static/img/manage/peers/browser-client/ssh-credentials-modal.png diff --git a/public/docs-static/img/how-to-guides/browser-client/ssh-terminal-connected.png b/public/docs-static/img/manage/peers/browser-client/ssh-terminal-connected.png similarity index 100% rename from public/docs-static/img/how-to-guides/browser-client/ssh-terminal-connected.png rename to public/docs-static/img/manage/peers/browser-client/ssh-terminal-connected.png diff --git a/public/docs-static/img/how-to-guides/browser-client/temporary-peers-filter.png b/public/docs-static/img/manage/peers/browser-client/temporary-peers-filter.png similarity index 100% rename from public/docs-static/img/how-to-guides/browser-client/temporary-peers-filter.png rename to public/docs-static/img/manage/peers/browser-client/temporary-peers-filter.png diff --git a/public/docs-static/img/how-to-guides/browser-client/temporary-policies-filter.png b/public/docs-static/img/manage/peers/browser-client/temporary-policies-filter.png similarity index 100% rename from public/docs-static/img/how-to-guides/browser-client/temporary-policies-filter.png rename to public/docs-static/img/manage/peers/browser-client/temporary-policies-filter.png diff --git a/public/docs-static/img/how-to-guides/db-workload-migration/workload-migration-01.png b/public/docs-static/img/manage/peers/connect-site-to-site/db-workload-migration/workload-migration-01.png similarity index 100% rename from public/docs-static/img/how-to-guides/db-workload-migration/workload-migration-01.png rename to public/docs-static/img/manage/peers/connect-site-to-site/db-workload-migration/workload-migration-01.png diff --git a/public/docs-static/img/how-to-guides/db-workload-migration/workload-migration-02.png b/public/docs-static/img/manage/peers/connect-site-to-site/db-workload-migration/workload-migration-02.png similarity index 100% rename from public/docs-static/img/how-to-guides/db-workload-migration/workload-migration-02.png rename to public/docs-static/img/manage/peers/connect-site-to-site/db-workload-migration/workload-migration-02.png diff --git a/public/docs-static/img/how-to-guides/db-workload-migration/workload-migration-03.png b/public/docs-static/img/manage/peers/connect-site-to-site/db-workload-migration/workload-migration-03.png similarity index 100% rename from public/docs-static/img/how-to-guides/db-workload-migration/workload-migration-03.png rename to public/docs-static/img/manage/peers/connect-site-to-site/db-workload-migration/workload-migration-03.png diff --git a/public/docs-static/img/how-to-guides/db-workload-migration/workload-migration-04.png b/public/docs-static/img/manage/peers/connect-site-to-site/db-workload-migration/workload-migration-04.png similarity index 100% rename from public/docs-static/img/how-to-guides/db-workload-migration/workload-migration-04.png rename to public/docs-static/img/manage/peers/connect-site-to-site/db-workload-migration/workload-migration-04.png diff --git a/public/docs-static/img/how-to-guides/db-workload-migration/workload-migration-05.png b/public/docs-static/img/manage/peers/connect-site-to-site/db-workload-migration/workload-migration-05.png similarity index 100% rename from public/docs-static/img/how-to-guides/db-workload-migration/workload-migration-05.png rename to public/docs-static/img/manage/peers/connect-site-to-site/db-workload-migration/workload-migration-05.png diff --git a/public/docs-static/img/how-to-guides/db-workload-migration/workload-migration-06.png b/public/docs-static/img/manage/peers/connect-site-to-site/db-workload-migration/workload-migration-06.png similarity index 100% rename from public/docs-static/img/how-to-guides/db-workload-migration/workload-migration-06.png rename to public/docs-static/img/manage/peers/connect-site-to-site/db-workload-migration/workload-migration-06.png diff --git a/public/docs-static/img/how-to-guides/db-workload-migration/workload-migration-07.png b/public/docs-static/img/manage/peers/connect-site-to-site/db-workload-migration/workload-migration-07.png similarity index 100% rename from public/docs-static/img/how-to-guides/db-workload-migration/workload-migration-07.png rename to public/docs-static/img/manage/peers/connect-site-to-site/db-workload-migration/workload-migration-07.png diff --git a/public/docs-static/img/manage/peers/local-peer.png b/public/docs-static/img/manage/peers/local-peer.png new file mode 100644 index 00000000..39e365b5 Binary files /dev/null and b/public/docs-static/img/manage/peers/local-peer.png differ diff --git a/public/docs-static/img/manage/peers/netbird-ip-dns-groups.png b/public/docs-static/img/manage/peers/netbird-ip-dns-groups.png new file mode 100644 index 00000000..7e139384 Binary files /dev/null and b/public/docs-static/img/manage/peers/netbird-ip-dns-groups.png differ diff --git a/public/docs-static/img/manage/peers/netbird-ip-dns-preview.png b/public/docs-static/img/manage/peers/netbird-ip-dns-preview.png new file mode 100644 index 00000000..dad1ff79 Binary files /dev/null and b/public/docs-static/img/manage/peers/netbird-ip-dns-preview.png differ diff --git a/public/docs-static/img/manage/peers/netbird-peer-auto-tagging-newkey.png b/public/docs-static/img/manage/peers/netbird-peer-auto-tagging-newkey.png new file mode 100644 index 00000000..8ea33b88 Binary files /dev/null and b/public/docs-static/img/manage/peers/netbird-peer-auto-tagging-newkey.png differ diff --git a/public/docs-static/img/manage/peers/netbird-peer-page.png b/public/docs-static/img/manage/peers/netbird-peer-page.png new file mode 100644 index 00000000..bb0cca6a Binary files /dev/null and b/public/docs-static/img/manage/peers/netbird-peer-page.png differ diff --git a/public/docs-static/img/manage/peers/new-key-remote-web-server.png b/public/docs-static/img/manage/peers/new-key-remote-web-server.png new file mode 100644 index 00000000..b6c97076 Binary files /dev/null and b/public/docs-static/img/manage/peers/new-key-remote-web-server.png differ diff --git a/public/docs-static/img/manage/peers/peer-approval-settings.png b/public/docs-static/img/manage/peers/peer-approval-settings.png new file mode 100644 index 00000000..0318da34 Binary files /dev/null and b/public/docs-static/img/manage/peers/peer-approval-settings.png differ diff --git a/public/docs-static/img/manage/peers/peer-list.png b/public/docs-static/img/manage/peers/peer-list.png new file mode 100644 index 00000000..879b1c7a Binary files /dev/null and b/public/docs-static/img/manage/peers/peer-list.png differ diff --git a/public/docs-static/img/manage/peers/peer-needs-approval.png b/public/docs-static/img/manage/peers/peer-needs-approval.png new file mode 100644 index 00000000..b4aa939d Binary files /dev/null and b/public/docs-static/img/manage/peers/peer-needs-approval.png differ diff --git a/public/docs-static/img/manage/peers/ping-netbird-ip-2.png b/public/docs-static/img/manage/peers/ping-netbird-ip-2.png new file mode 100644 index 00000000..de7e41e9 Binary files /dev/null and b/public/docs-static/img/manage/peers/ping-netbird-ip-2.png differ diff --git a/public/docs-static/img/manage/peers/ping-netbird-ip.png b/public/docs-static/img/manage/peers/ping-netbird-ip.png new file mode 100644 index 00000000..a37be6f6 Binary files /dev/null and b/public/docs-static/img/manage/peers/ping-netbird-ip.png differ diff --git a/public/docs-static/img/manage/peers/remote-peer.png b/public/docs-static/img/manage/peers/remote-peer.png new file mode 100644 index 00000000..9190410a Binary files /dev/null and b/public/docs-static/img/manage/peers/remote-peer.png differ diff --git a/public/docs-static/img/manage/peers/setup-key-created.png b/public/docs-static/img/manage/peers/setup-key-created.png new file mode 100644 index 00000000..1eaf9820 Binary files /dev/null and b/public/docs-static/img/manage/peers/setup-key-created.png differ diff --git a/public/docs-static/img/manage/peers/setup-keys.png b/public/docs-static/img/manage/peers/setup-keys.png new file mode 100644 index 00000000..39475b4b Binary files /dev/null and b/public/docs-static/img/manage/peers/setup-keys.png differ diff --git a/public/docs-static/img/manage/peers/ssh-netnird-dns.png b/public/docs-static/img/manage/peers/ssh-netnird-dns.png new file mode 100644 index 00000000..7cab0b10 Binary files /dev/null and b/public/docs-static/img/manage/peers/ssh-netnird-dns.png differ diff --git a/public/docs-static/img/ssh/ssh-client.png b/public/docs-static/img/manage/peers/ssh/ssh-client.png similarity index 100% rename from public/docs-static/img/ssh/ssh-client.png rename to public/docs-static/img/manage/peers/ssh/ssh-client.png diff --git a/public/docs-static/img/ssh/ssh-dashboard.png b/public/docs-static/img/manage/peers/ssh/ssh-dashboard.png similarity index 100% rename from public/docs-static/img/ssh/ssh-dashboard.png rename to public/docs-static/img/manage/peers/ssh/ssh-dashboard.png diff --git a/public/docs-static/img/manage/peers/update-access control.png b/public/docs-static/img/manage/peers/update-access control.png new file mode 100644 index 00000000..f92fa4f5 Binary files /dev/null and b/public/docs-static/img/manage/peers/update-access control.png differ diff --git a/public/docs-static/img/manage/peers/web-server-fastfetch.png b/public/docs-static/img/manage/peers/web-server-fastfetch.png new file mode 100644 index 00000000..2a3a8389 Binary files /dev/null and b/public/docs-static/img/manage/peers/web-server-fastfetch.png differ diff --git a/public/docs-static/img/platforms/cli/ssh-dashboard.png b/public/docs-static/img/platforms/cli/ssh-dashboard.png new file mode 100644 index 00000000..e741ead8 Binary files /dev/null and b/public/docs-static/img/platforms/cli/ssh-dashboard.png differ diff --git a/public/docs-static/img/platforms/mobile/app-store-badge.svg b/public/docs-static/img/platforms/mobile/app-store-badge.svg new file mode 100755 index 00000000..072b425a --- /dev/null +++ b/public/docs-static/img/platforms/mobile/app-store-badge.svg @@ -0,0 +1,46 @@ + + Download_on_the_App_Store_Badge_US-UK_RGB_blk_4SVG_092917 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/docs-static/img/platforms/mobile/google-play-badge.png b/public/docs-static/img/platforms/mobile/google-play-badge.png new file mode 100644 index 00000000..131f3aca Binary files /dev/null and b/public/docs-static/img/platforms/mobile/google-play-badge.png differ diff --git a/public/docs-static/img/how-to-guides/opnsense/authentication.png b/public/docs-static/img/platforms/opnsense/authentication.png similarity index 100% rename from public/docs-static/img/how-to-guides/opnsense/authentication.png rename to public/docs-static/img/platforms/opnsense/authentication.png diff --git a/public/docs-static/img/how-to-guides/opnsense/enable_interface.png b/public/docs-static/img/platforms/opnsense/enable_interface.png similarity index 100% rename from public/docs-static/img/how-to-guides/opnsense/enable_interface.png rename to public/docs-static/img/platforms/opnsense/enable_interface.png diff --git a/public/docs-static/img/how-to-guides/opnsense/firewall_rules.png b/public/docs-static/img/platforms/opnsense/firewall_rules.png similarity index 100% rename from public/docs-static/img/how-to-guides/opnsense/firewall_rules.png rename to public/docs-static/img/platforms/opnsense/firewall_rules.png diff --git a/public/docs-static/img/how-to-guides/opnsense/interface_assignment.png b/public/docs-static/img/platforms/opnsense/interface_assignment.png similarity index 100% rename from public/docs-static/img/how-to-guides/opnsense/interface_assignment.png rename to public/docs-static/img/platforms/opnsense/interface_assignment.png diff --git a/public/docs-static/img/how-to-guides/opnsense/new_interface.png b/public/docs-static/img/platforms/opnsense/new_interface.png similarity index 100% rename from public/docs-static/img/how-to-guides/opnsense/new_interface.png rename to public/docs-static/img/platforms/opnsense/new_interface.png diff --git a/public/docs-static/img/how-to-guides/opnsense/status.png b/public/docs-static/img/platforms/opnsense/status.png similarity index 100% rename from public/docs-static/img/how-to-guides/opnsense/status.png rename to public/docs-static/img/platforms/opnsense/status.png diff --git a/public/docs-static/img/how-to-guides/pfSense/authentication.png b/public/docs-static/img/platforms/pfsense/authentication.png similarity index 100% rename from public/docs-static/img/how-to-guides/pfSense/authentication.png rename to public/docs-static/img/platforms/pfsense/authentication.png diff --git a/public/docs-static/img/how-to-guides/pfSense/enable_interface.png b/public/docs-static/img/platforms/pfsense/enable_interface.png similarity index 100% rename from public/docs-static/img/how-to-guides/pfSense/enable_interface.png rename to public/docs-static/img/platforms/pfsense/enable_interface.png diff --git a/public/docs-static/img/how-to-guides/pfSense/firewall_rules.png b/public/docs-static/img/platforms/pfsense/firewall_rules.png similarity index 100% rename from public/docs-static/img/how-to-guides/pfSense/firewall_rules.png rename to public/docs-static/img/platforms/pfsense/firewall_rules.png diff --git a/public/docs-static/img/how-to-guides/pfSense/new_interface.png b/public/docs-static/img/platforms/pfsense/new_interface.png similarity index 100% rename from public/docs-static/img/how-to-guides/pfSense/new_interface.png rename to public/docs-static/img/platforms/pfsense/new_interface.png diff --git a/public/docs-static/img/how-to-guides/pfSense/status.png b/public/docs-static/img/platforms/pfsense/status.png similarity index 100% rename from public/docs-static/img/how-to-guides/pfSense/status.png rename to public/docs-static/img/platforms/pfsense/status.png diff --git a/src/components/NavigationDocs.jsx b/src/components/NavigationDocs.jsx index f2715ca4..039049b0 100644 --- a/src/components/NavigationDocs.jsx +++ b/src/components/NavigationDocs.jsx @@ -50,36 +50,36 @@ export const docsNavigation = [ { title: 'MANAGE NETBIRD', links: [ - { title: 'Control Center', href: '/how-to/control-center' }, + { title: 'Control Center', href: '/manage/control-center' }, { title: 'Peers', isOpen: false, links: [ - { title: 'Add Peers', href: '/how-to/add-machines-to-your-network' }, - { title: 'Approve Peers', href: '/how-to/approve-peers' }, - { title: 'Setup Keys', href: '/how-to/register-machines-using-setup-keys' }, - { title: 'Browser Client', href: '/how-to/browser-client' }, - { title: 'SSH', href: '/how-to/ssh' }, - { title: 'Lazy Connections', href: '/how-to/lazy-connection'}, + { title: 'Add Peers', href: '/manage/peers/add-machines-to-your-network' }, + { title: 'Approve Peers', href: '/manage/peers/approve-peers' }, + { title: 'Setup Keys', href: '/manage/peers/setup-keys' }, + { title: 'Browser Client', href: '/manage/peers/browser-client' }, + { title: 'SSH', href: '/manage/peers/ssh' }, + { title: 'Lazy Connections', href: '/manage/peers/lazy-connection'}, { title: 'Access Infrastructure', isOpen: true, links: [ { title: 'Access Remote Webserver', - href: '/how-to/secure-remote-webserver-access' + href: '/manage/peers/access-infrastructure/secure-remote-webserver-access' }, { title: 'Add Servers to the Network', - href: '/how-to/setup-keys-add-servers-to-network' + href: '/manage/peers/access-infrastructure/setup-keys-add-servers-to-network' }, { title: 'Access from Kubernetes', - href: '/how-to/access-internal-resources-from-autoscaled-environments' + href: '/manage/peers/access-infrastructure/access-internal-resources-from-autoscaled-environments' }, { title: 'Peer Approval for Remote Access', - href: '/how-to/peer-approval-for-remote-worker-access' + href: '/manage/peers/access-infrastructure/peer-approval-for-remote-worker-access' }, ] }, @@ -89,7 +89,7 @@ export const docsNavigation = [ links: [ { title: 'Simplify Workload Migrations', - href: '/how-to/db-workload-migration' + href: '/manage/peers/connect-site-to-site/db-workload-migration' }, ] }, @@ -126,15 +126,15 @@ export const docsNavigation = [ title: 'Networks', isOpen: false, links: [ - { title: 'Concept', href: '/how-to/networks' }, - { title: 'Route Traffic to Multiple IP resources', href: '/how-to/routing-traffic-to-multiple-resources' }, - { title: 'Access Restricted Website Domain Resources', href: '/how-to/accessing-restricted-domain-resources' }, - { title: 'Access Entire Domains Within Networks', href: '/how-to/accessing-entire-domains-within-networks' }, + { title: 'Concept', href: '/manage/networks' }, + { title: 'Route Traffic to Multiple IP resources', href: '/manage/networks/routing-traffic-to-multiple-resources' }, + { title: 'Access Restricted Website Domain Resources', href: '/manage/networks/accessing-restricted-domain-resources' }, + { title: 'Access Entire Domains Within Networks', href: '/manage/networks/accessing-entire-domains-within-networks' }, { title: 'Homelab', isOpen: true, links: [ - { title: 'Access Home Network', href: '/how-to/access-home-network' }, + { title: 'Access Home Network', href: '/manage/networks/homelab/access-home-network' }, ] }, ] @@ -143,10 +143,10 @@ export const docsNavigation = [ title: 'Network Routes', isOpen: false, links: [ - { title: 'Route Traffic to Private Networks', href: '/how-to/routing-traffic-to-private-networks' }, - { title: 'Configure Default Routes for Internet Traffic', href: '/how-to/configuring-default-routes-for-internet-traffic' }, - { title: 'Configure Routes with Access control', href: '/how-to/configuring-routes-with-access-control' }, - { title: 'Resolve Overlapping Routes', href: '/how-to/resolve-overlapping-routes' }, + { title: 'Route Traffic to Private Networks', href: '/manage/network-routes/routing-traffic-to-private-networks' }, + { title: 'Configure Default Routes for Internet Traffic', href: '/manage/network-routes/configuring-default-routes-for-internet-traffic' }, + { title: 'Configure Routes with Access control', href: '/manage/network-routes/configuring-routes-with-access-control' }, + { title: 'Resolve Overlapping Routes', href: '/manage/network-routes/resolve-overlapping-routes' }, ] }, { diff --git a/src/pages/about-netbird/browser-client-architecture.mdx b/src/pages/about-netbird/browser-client-architecture.mdx index 742e662f..5808bf84 100644 --- a/src/pages/about-netbird/browser-client-architecture.mdx +++ b/src/pages/about-netbird/browser-client-architecture.mdx @@ -63,7 +63,7 @@ Once the connection is closed, the temporary peer will be automatically removed For the WebAssembly NetBird Client all peers will be named as `{browser}-browser-client` (e.g. `safari-17-browser-client`).

- temporary-peers-filter + temporary-peers-filter

#### Temporary Policy @@ -72,7 +72,7 @@ The policy will be created P2P with no groups required. This way the client will The policies for the WebAssembly NetBird Client will be named as `Temporary access policy for peer {browser-client-name}` (e.g. `Temporary access policy for peer safari-17-browser-client`).

- temporary-policies-filter + temporary-policies-filter

## Connection Flow diff --git a/src/pages/about-netbird/faq.mdx b/src/pages/about-netbird/faq.mdx index 1b986d70..4cef976a 100644 --- a/src/pages/about-netbird/faq.mdx +++ b/src/pages/about-netbird/faq.mdx @@ -12,10 +12,10 @@ all outgoing traffic, and that may affect how NetBird clients connect to the [co and negotiate the peer-to-peer connections. - Allowing the outbound **P2P (STUN)** service below is **recommended** in more restricted networks for reliable peer connections. This will also improve the reliability of your [High Availability Routes](https://docs.netbird.io/how-to/routing-traffic-to-private-networks#high-availability-routes). + Allowing the outbound **P2P (STUN)** service below is **recommended** in more restricted networks for reliable peer connections. This will also improve the reliability of your [High Availability Routes](https://docs.netbird.io/manage/network-routes/routing-traffic-to-private-networks#high-availability-routes). - Allowing the outbound **Relay (TURN)** service below is **recommended** in more restricted networks for reliable peer connections. This will also improve the reliability of your [High Availability Routes](https://docs.netbird.io/how-to/routing-traffic-to-private-networks#high-availability-routes). + Allowing the outbound **Relay (TURN)** service below is **recommended** in more restricted networks for reliable peer connections. This will also improve the reliability of your [High Availability Routes](https://docs.netbird.io/manage/network-routes/routing-traffic-to-private-networks#high-availability-routes). If using `fail2ban` or similar, you should whitelist each netbird.io endpoint below. diff --git a/src/pages/about-netbird/how-netbird-works.mdx b/src/pages/about-netbird/how-netbird-works.mdx index 3df42b69..565e0010 100644 --- a/src/pages/about-netbird/how-netbird-works.mdx +++ b/src/pages/about-netbird/how-netbird-works.mdx @@ -43,7 +43,7 @@ It keeps the network state, public WireGuard keys of the peers, authenticates an The Management Service's responsibilities include: * **Registering and authenticating new peers.** Every new machine has to register itself in the network in order to connect to other machines. -After installation, NetBird client requires login that can be done through Identity Provider (IDP) like Okta or with a [setup key](/how-to/register-machines-using-setup-keys). +After installation, NetBird client requires login that can be done through Identity Provider (IDP) like Okta or with a [setup key](/manage/peers/setup-keys). * **Keeping the network map.** The Management service stores information about all the registered peers including WireGuard public key that was sent during the registration process. * **Managing private IP addresses.** Each peer receives a unique private IP with which it can be identified in the network. We use [Carrier Grade NAT](https://en.wikipedia.org/wiki/Carrier-grade_NAT) address space with an allocated address block 100.64.0.0/10. @@ -73,7 +73,7 @@ The Client's roles are the following: To accept the incoming connections, peers have to know each other, therefore, the generated public keys have to be pre-shared on the machines. The client application sends its public key to the Management service which then distributes it to the authorized peers. * **Handling peer registration and authentication.** Each peer has to be authenticated and registered in the system. -The client application requests a user to log in with an Identity Provider (IDP) or a [setup key](/how-to/register-machines-using-setup-keys) so that the peer can be associated with the organization's account. +The client application requests a user to log in with an Identity Provider (IDP) or a [setup key](/manage/peers/setup-keys) so that the peer can be associated with the organization's account. * **Receiving network updates from the Management service.** Each peer receives initial configuration and a list of peers with corresponding public keys and IP addresses so that it can establish a point-to-point connection. * **Establishing point-to-point WireGuard connection.** To establish a connection with a remote peer, the Client first discovers the most suitable connection candidate, or simply address (IP:port) that other peers can use to connect to it. diff --git a/src/pages/about-netbird/other.mdx b/src/pages/about-netbird/other.mdx index ee074f5d..f35f8d96 100644 --- a/src/pages/about-netbird/other.mdx +++ b/src/pages/about-netbird/other.mdx @@ -21,7 +21,7 @@ The goal of the task is to get familiar with the system by setting up a self-hos It is possible to set up multiple peers on the same machine. Find out how! 4. Ping machines and make sure that they are reachable. -5. We might ask you to provide a generated [setup key](/how-to/setup-keys) so that we could test your setup. +5. We might ask you to provide a generated [setup key](/manage/peers/setup-keys) so that we could test your setup. Please reach out to us with any questions. We believe you will have some! :) diff --git a/src/pages/how-to/cli.mdx b/src/pages/getting-started/cli.mdx similarity index 99% rename from src/pages/how-to/cli.mdx rename to src/pages/getting-started/cli.mdx index a5b67561..40683544 100644 --- a/src/pages/how-to/cli.mdx +++ b/src/pages/getting-started/cli.mdx @@ -403,7 +403,7 @@ Peers count: 2/3 Connected Command to connect via SSH to a remote peer in your NetBird network. The `ssh` command has several subcommands for different operations. - Before using this command, make sure that SSH Access is enabled both on the target peer and in the NetBird Dashboard. Learn more about [enabling SSH access](/how-to/ssh). + Before using this command, make sure that SSH Access is enabled both on the target peer and in the NetBird Dashboard. Learn more about [enabling SSH access](/manage/peers/ssh). #### ssh (connect) @@ -477,7 +477,7 @@ For SFTP and SCP, use native clients (`sftp` and `scp` commands) which work with ```

- netbird ssh dashboard + netbird ssh dashboard

diff --git a/src/pages/how-to/getting-started.mdx b/src/pages/getting-started/index.mdx similarity index 94% rename from src/pages/how-to/getting-started.mdx rename to src/pages/getting-started/index.mdx index 77708d01..8687f6c8 100644 --- a/src/pages/how-to/getting-started.mdx +++ b/src/pages/getting-started/index.mdx @@ -51,7 +51,7 @@ With the client installed, you now need to connect it to your network. 4. Once authorized, you will see a "Login successful" message. The onboarding UI will update to show that your first peer is connected, displaying its name and assigned NetBird IP address. ### Add a Second Peer (Headless Linux Server) -Next, let's add a second, headless peer, like a Linux server or a Raspberry Pi. For devices without a graphical interface, we use a [Setup Key](https://docs.netbird.io/how-to/register-machines-using-setup-keys). +Next, let's add a second, headless peer, like a Linux server or a Raspberry Pi. For devices without a graphical interface, we use a [Setup Key](https://docs.netbird.io/manage/peers/setup-keys). ![Install NetBird Headless](/docs-static/img/getting-started/05_headless-installed.jpeg) @@ -128,7 +128,7 @@ Next, you'll define the private network you want your users to be able to access ![NetBird Subnet Setup](/docs-static/img/getting-started/11_entire-subnet.jpeg) ### Add and Configure a Routing Peer -A [routing peer](https://docs.netbird.io/how-to/routing-traffic-to-private-networks) is a NetBird peer that lives inside your private network and acts as a gateway, forwarding traffic between your remote users and the internal resources. +A [routing peer](https://docs.netbird.io/manage/network-routes/routing-traffic-to-private-networks) is a NetBird peer that lives inside your private network and acts as a gateway, forwarding traffic between your remote users and the internal resources. ![Adding a routing peer](/docs-static/img/getting-started/12_add-routing-peer.jpeg) @@ -180,9 +180,9 @@ The final step of the onboarding wizard explains the access rule that was automa Click Go to Dashboard to access the main NetBird admin panel. From here, you can: -* [Control Center](https://docs.netbird.io/how-to/control-center): Visualize your network topology and access relationships with an interactive graph. -* [Peers](https://docs.netbird.io/how-to/add-machines-to-your-network): View and manage all connected devices and their properties. -* [Setup Keys](https://docs.netbird.io/how-to/register-machines-using-setup-keys): Create and manage keys for adding new headless or ephemeral devices. +* [Control Center](https://docs.netbird.io/manage/control-center): Visualize your network topology and access relationships with an interactive graph. +* [Peers](https://docs.netbird.io/manage/peers/add-machines-to-your-network): View and manage all connected devices and their properties. +* [Setup Keys](https://docs.netbird.io/manage/peers/setup-keys): Create and manage keys for adding new headless or ephemeral devices. * [Access Control](https://docs.netbird.io/manage/access-control/manage-network-access): Define granular firewall rules to control which peers can access what. * [Team](https://docs.netbird.io/how-to/add-users-to-your-network): Manage users and create groups for easier policy management. diff --git a/src/pages/how-to/installation/docker.mdx b/src/pages/getting-started/install/docker.mdx similarity index 92% rename from src/pages/how-to/installation/docker.mdx rename to src/pages/getting-started/install/docker.mdx index ed3da985..02118241 100644 --- a/src/pages/how-to/installation/docker.mdx +++ b/src/pages/getting-started/install/docker.mdx @@ -9,7 +9,7 @@ The NetBird client (agent) allows a peer to join a pre-existing NetBird deployme Set the ```NB_SETUP_KEY``` environment variable and run the command. - You can pass other settings as environment variables. See [Environment variables](/how-to/cli#environment-variables) for details. + You can pass other settings as environment variables. See [Environment variables](/getting-started/cli#environment-variables) for details. NetBird makes use of eBPF and raw sockets, therefore to guarantee the client software functionality, we recommend adding the flags `--cap-add=SYS_ADMIN` and `--cap-add=SYS_RESOURCE` for docker clients. @@ -58,10 +58,10 @@ volumes: ``` ## Running NetBird with a Setup Key -In case you are activating a server peer, you can use a [setup key](/how-to/register-machines-using-setup-keys) as described in the steps below. +In case you are activating a server peer, you can use a [setup key](/manage/peers/setup-keys) as described in the steps below. > This is especially helpful when you are running multiple server instances with infrastructure-as-code tools like ansible and terraform. -1. Login to the Management Service. You need to have a `setup key` in hand (see [setup keys](/how-to/register-machines-using-setup-keys)). +1. Login to the Management Service. You need to have a `setup key` in hand (see [setup keys](/manage/peers/setup-keys)). ```bash docker run --network host --privileged --rm -d -e NB_SETUP_KEY= -v netbird-client:/var/lib/netbird netbirdio/netbird: diff --git a/src/pages/how-to/installation/index.mdx b/src/pages/getting-started/install/index.mdx similarity index 85% rename from src/pages/how-to/installation/index.mdx rename to src/pages/getting-started/install/index.mdx index 448e162b..d2d6872e 100644 --- a/src/pages/how-to/installation/index.mdx +++ b/src/pages/getting-started/install/index.mdx @@ -10,12 +10,12 @@ The NetBird client (agent) allows a peer to join a pre-existing NetBird deployme ## Install and Update Instructions -* [Install on Linux](/how-to/installation/linux) -* [Install on macOS](/how-to/installation/macos) -* [Install on Windows](/how-to/installation/windows) -* [Install on Synology](/how-to/installation/synology) -* [Install on Android](/how-to/installation/mobile) -* [Install on iOS](/how-to/installation/mobile) +* [Install on Linux](/getting-started/install/linux) +* [Install on macOS](/getting-started/install/macos) +* [Install on Windows](/getting-started/install/windows) +* [Install on Synology](/getting-started/install/synology) +* [Install on Android](/getting-started/install/mobile) +* [Install on iOS](/getting-started/install/mobile) ## Running NetBird with SSO Login ### Desktop UI Application @@ -43,10 +43,10 @@ Check connection status: ``` ## Running NetBird with a Setup Key -In case you are activating a server peer, you can use a [setup key](/how-to/register-machines-using-setup-keys) as described in the steps below. +In case you are activating a server peer, you can use a [setup key](/manage/peers/setup-keys) as described in the steps below. > This is especially helpful when you are running multiple server instances with infrastructure-as-code tools like ansible and terraform. -1. Login to the Management Service. You need to have a `setup key` in hand (see [setup keys](/how-to/register-machines-using-setup-keys)). +1. Login to the Management Service. You need to have a `setup key` in hand (see [setup keys](/manage/peers/setup-keys)). For all systems: ```bash diff --git a/src/pages/how-to/installation/linux.mdx b/src/pages/getting-started/install/linux.mdx similarity index 97% rename from src/pages/how-to/installation/linux.mdx rename to src/pages/getting-started/install/linux.mdx index a36955fd..dea109ca 100644 --- a/src/pages/how-to/installation/linux.mdx +++ b/src/pages/getting-started/install/linux.mdx @@ -250,10 +250,10 @@ Check connection status: ``` ## Running NetBird with a Setup Key -In case you are activating a server peer, you can use a [setup key](/how-to/register-machines-using-setup-keys) as described in the steps below. +In case you are activating a server peer, you can use a [setup key](/manage/peers/setup-keys) as described in the steps below. > This is especially helpful when you are running multiple server instances with infrastructure-as-code tools like ansible and terraform. -1. Login to the Management Service. You need to have a `setup key` in hand (see [setup keys](/how-to/register-machines-using-setup-keys)). +1. Login to the Management Service. You need to have a `setup key` in hand (see [setup keys](/manage/peers/setup-keys)). ```bash netbird up --setup-key diff --git a/src/pages/how-to/installation/macos.mdx b/src/pages/getting-started/install/macos.mdx similarity index 96% rename from src/pages/how-to/installation/macos.mdx rename to src/pages/getting-started/install/macos.mdx index 48ffcb3d..ae5e9f6e 100644 --- a/src/pages/how-to/installation/macos.mdx +++ b/src/pages/getting-started/install/macos.mdx @@ -108,10 +108,10 @@ Check connection status: ``` ### Running NetBird with a Setup Key -In case you are activating a server peer, you can use a [setup key](/how-to/register-machines-using-setup-keys) as described in the steps below. +In case you are activating a server peer, you can use a [setup key](/manage/peers/setup-keys) as described in the steps below. > This is especially helpful when you are running multiple server instances with infrastructure-as-code tools like ansible and terraform. -1. Login to the Management Service. You need to have a `setup key` in hand (see [setup keys](/how-to/register-machines-using-setup-keys)). +1. Login to the Management Service. You need to have a `setup key` in hand (see [setup keys](/manage/peers/setup-keys)). ```bash netbird up --setup-key diff --git a/src/pages/how-to/installation/mobile.mdx b/src/pages/getting-started/install/mobile.mdx similarity index 71% rename from src/pages/how-to/installation/mobile.mdx rename to src/pages/getting-started/install/mobile.mdx index abbb56b2..ee338784 100644 --- a/src/pages/how-to/installation/mobile.mdx +++ b/src/pages/getting-started/install/mobile.mdx @@ -8,7 +8,7 @@ NetBird has an official Android application that you can download at Google Play

- playstore + playstore

@@ -21,6 +21,6 @@ NetBird has an official iOS application that you can download from the App Store

- appstore + appstore

diff --git a/src/pages/how-to/installation/opnsense.mdx b/src/pages/getting-started/install/opnsense.mdx similarity index 81% rename from src/pages/how-to/installation/opnsense.mdx rename to src/pages/getting-started/install/opnsense.mdx index be743caa..f41b5aa9 100644 --- a/src/pages/how-to/installation/opnsense.mdx +++ b/src/pages/getting-started/install/opnsense.mdx @@ -15,7 +15,7 @@ there are both managed and [self-hosted](https://docs.netbird.io/selfhosted/self ## Prerequisites - Shell or Web UI access to your OPNsense system -- A [setup key](/how-to/register-machines-using-setup-keys#types-of-setup-keys) to authenticate and register the OPNsense device +- A [setup key](/manage/peers/setup-keys#types-of-setup-keys) to authenticate and register the OPNsense device ## Installation @@ -46,7 +46,7 @@ Fill out the authentication form with the following values and click `Save`: - **Setup Key**: Paste the setup key from your NetBird account.

- authentication + authentication

### Verify Connection Status @@ -57,7 +57,7 @@ Access it via `VPN` > `NetBird` > `Status` in the OPNsense menu. Use this section for diagnostics and troubleshooting common connection or setup issues.

- connection status + connection status

### Assign NetBird interface @@ -67,12 +67,12 @@ After installation, a new interface named `wt0` will be available but unassigned - **Description**: `NetBird`

- interfaceAssignment + interfaceAssignment

Click `Add` to assign the interface.

- interfaceAssignment + interfaceAssignment

@@ -82,7 +82,7 @@ the following options and click `Save`, then `Apply changes` to activate the int - **Enable**: `✓ Enable Interface` - **Lock**: `✓ Prevent interface removal` -

enableInterface

+

enableInterface

OPNsense includes native WireGuard support, however do not configure or manage the NetBird interface (wt0) via the OPNsense WireGuard UI. @@ -108,7 +108,7 @@ This ensures traffic flows freely, while NetBird’s own policies (ACLs) govern 5. Ensure this rule is at the top of the `NetBird` rules list so it isn’t shadowed by other rules.

- firewallRules + firewallRules

## Get started diff --git a/src/pages/how-to/installation/pfsense.mdx b/src/pages/getting-started/install/pfsense.mdx similarity index 84% rename from src/pages/how-to/installation/pfsense.mdx rename to src/pages/getting-started/install/pfsense.mdx index d7979303..172f7531 100644 --- a/src/pages/how-to/installation/pfsense.mdx +++ b/src/pages/getting-started/install/pfsense.mdx @@ -13,7 +13,7 @@ This installation is intended for early adopters while the pfSense package is un ## Prerequisites - Shell/SSH access to pfSense (via Web UI shell or remote SSH) -- A [setup key](/how-to/register-machines-using-setup-keys#types-of-setup-keys) to authenticate and register the pfSense device +- A [setup key](/manage/peers/setup-keys#types-of-setup-keys) to authenticate and register the pfSense device - The latest NetBird `.pkg` binary from the [GitHub Releases](https://github.com/netbirdio/pfsense-netbird/releases) ## Installation @@ -58,7 +58,7 @@ Fill out the authentication form with the following values and click `Save`: - **Setup Key**: Paste the setup key from your NetBird account. .

- authentication + authentication

### Verify Connection Status @@ -69,7 +69,7 @@ Access it via `Status` > `NetBird` in the pfSense menu. Use this section for diagnostics and troubleshooting common connection or setup issues.

- connection status + connection status

### Assign NetBird interface @@ -77,7 +77,7 @@ After authentication, a new interface named `wt0(wt0)` will be available but una `Interfaces` > `Assignments`. Under `Available network ports`, select the NetBird interface `wt0(wt0)` and click `Add`.

- NewInterface + NewInterface

### Enable the NetBird interface @@ -88,7 +88,7 @@ the following options and click `Save`, then `Apply changes` to activate the int - **Enable**: `✓ Enable Interface` - **Description**: `NetBird` -

enableInterface

+

enableInterface

### Configure Firewall Rules for the NetBird interface @@ -108,7 +108,7 @@ Create rules to control traffic coming from your NetBird network into pfSense an - **Description**: `Allow all on NetBird (managed by NetBird)` 3. Click `Save`, then `Apply Changes` -

firewallRules

+

firewallRules

## Uninstallation diff --git a/src/pages/how-to/installation/synology.mdx b/src/pages/getting-started/install/synology.mdx similarity index 95% rename from src/pages/how-to/installation/synology.mdx rename to src/pages/getting-started/install/synology.mdx index 79e3593b..29ddddcd 100644 --- a/src/pages/how-to/installation/synology.mdx +++ b/src/pages/getting-started/install/synology.mdx @@ -22,7 +22,7 @@ ssh user@192.168.0.53 curl -fsSL https://pkgs.netbird.io/install.sh | sh ``` -5. Add your Synology NAS as a Peer using the steps from [Add peers to your NetBird network](https://docs.netbird.io/how-to/add-machines-to-your-network) in the documentation. +5. Add your Synology NAS as a Peer using the steps from [Add peers to your NetBird network](https://docs.netbird.io/manage/peers/add-machines-to-your-network) in the documentation. ## Reboot Script @@ -52,10 +52,10 @@ fi 4. If you’d like to see the logs for this task, select the task you create and click on Settings. Check the box that says Save output results, select a save location, and click OK. Now, if you select the task and **Action > View Result**, you’ll see any error logs and status. ## Running with a Setup Key -In case you are activating a server peer, you can use a [setup key](/how-to/register-machines-using-setup-keys) as described in the steps below. +In case you are activating a server peer, you can use a [setup key](/manage/peers/setup-keys) as described in the steps below. > This is especially helpful when you are running multiple server instances with infrastructure-as-code tools like ansible and terraform. -1. Login to the Management Service. You need to have a `setup key` in hand (see [setup keys](/how-to/register-machines-using-setup-keys)). +1. Login to the Management Service. You need to have a `setup key` in hand (see [setup keys](/manage/peers/setup-keys)). ```bash netbird up --setup-key diff --git a/src/pages/how-to/installation/windows.mdx b/src/pages/getting-started/install/windows.mdx similarity index 94% rename from src/pages/how-to/installation/windows.mdx rename to src/pages/getting-started/install/windows.mdx index 6f5835a5..faa1164f 100644 --- a/src/pages/how-to/installation/windows.mdx +++ b/src/pages/getting-started/install/windows.mdx @@ -40,10 +40,10 @@ Check connection status: ``` ## Running NetBird with a Setup Key -In case you are activating a server peer, you can use a [setup key](/how-to/register-machines-using-setup-keys) as described in the steps below. +In case you are activating a server peer, you can use a [setup key](/manage/peers/setup-keys) as described in the steps below. > This is especially helpful when you are running multiple server instances with infrastructure-as-code tools like ansible and terraform. -1. Login to the Management Service. You need to have a `setup key` in hand (see [setup keys](/how-to/register-machines-using-setup-keys)). +1. Login to the Management Service. You need to have a `setup key` in hand (see [setup keys](/manage/peers/setup-keys)). For all systems: ```bash diff --git a/src/pages/how-to/acronis-netbird-integration.mdx b/src/pages/how-to/acronis-netbird-integration.mdx index 76ad6b97..e6d3c1ec 100644 --- a/src/pages/how-to/acronis-netbird-integration.mdx +++ b/src/pages/how-to/acronis-netbird-integration.mdx @@ -17,7 +17,7 @@ In this hands-on tutorial, you'll learn how to use Acronis Cyber Protect Cloud s Before beginning this tutorial, ensure you have the following prerequisites in place: - A [NetBird account](https://app.netbird.io) with administrative permissions to create and manage access policies. -- NetBird's Windows installer (`exe` or `.msi`) downloaded from the [NetBird installation documentation](https://docs.netbird.io/how-to/installation#windows) +- NetBird's Windows installer (`exe` or `.msi`) downloaded from the [NetBird installation documentation](https://docs.netbird.io/getting-started/install#windows) - An active [Acronis Cyber Protect Cloud](https://www.acronis.com/en-us/products/cloud/cyber-protect/) subscription like [Cyber Protect Advanced](https://www.acronis.com/en-us/support/documentation/AcronisCyberProtect_15/index.html#editions-and-licensing.html). - Acronis Cyber Protect Cloud Agent [installed and registered on all target Windows and macOS machines](https://www.acronis.com/en-us/support/documentation/AcronisCyberProtect_15/index.html#installation-overview.html). - Administrative access to the Acronis Cyber Protect Cloud Console with [permissions to manage software deployment and device policies](https://www.acronis.com/en-us/support/documentation/AcronisCyberProtect_15/index.html#adding-administrators-acronis-account.html). @@ -149,7 +149,7 @@ The advantage of deployment plans is that they enable scheduled, repeatable inst ## Installing NetBird in Windows using a PowerShell Script -In addition to packages, Acronis Cyber Protect Cloud allows you to install NetBird using PowerShell scripts. This method is handy to automate NetBird installation on Windows Servers, especially if you plan to use [setup keys](https://docs.netbird.io/how-to/register-machines-using-setup-keys). +In addition to packages, Acronis Cyber Protect Cloud allows you to install NetBird using PowerShell scripts. This method is handy to automate NetBird installation on Windows Servers, especially if you plan to use [setup keys](https://docs.netbird.io/manage/peers/setup-keys). ### Adding NetBird PowerShell Scripts to Acronis @@ -567,7 +567,7 @@ From `MANAGEMENT > Scripting plans`, you can click on the three-dot menu of any For large-scale deployments, you can automate the NetBird client installation on multiple macOS endpoints using a Bash script. This method downloads the official package directly from NetBird's GitHub releases and proceeds with the installation. -You can optionally use NetBird's [setup keys](https://docs.netbird.io/how-to/register-machines-using-setup-keys) to pre-authorize devices during provisioning. The key ensures that once a machine joins the network, it is automatically placed in the correct groups with all the right access permissions already applied. +You can optionally use NetBird's [setup keys](https://docs.netbird.io/manage/peers/setup-keys) to pre-authorize devices during provisioning. The key ensures that once a machine joins the network, it is automatically placed in the correct groups with all the right access permissions already applied. ### Adding NetBird Bash Scripts to Acronis diff --git a/src/pages/how-to/activity-event-streaming.mdx b/src/pages/how-to/activity-event-streaming.mdx index 992417dd..350ff50e 100644 --- a/src/pages/how-to/activity-event-streaming.mdx +++ b/src/pages/how-to/activity-event-streaming.mdx @@ -8,7 +8,7 @@ Security Information and Event Management (SIEM) systems play a critical role in detecting, and responding to security threats in real-time. By aggregating and analyzing activity across the network, SIEMs help identify anomalous patterns and potential breaches, providing a centralized view of security events. -NetBird provides an event streaming feature that allows you to stream network [activity events](/how-to/monitor-system-and-network-activity) +NetBird provides an event streaming feature that allows you to stream network [activity events](/how-to/activity-event-streaming) to third-party SIEM systems, such as [Datadog](https://www.datadoghq.com/dg/security/siem-solution/), [Amazon S3](https://aws.amazon.com/s3/), [Amazon Data Firehose](https://aws.amazon.com/firehose/), and others through a generic HTTP integration. diff --git a/src/pages/how-to/enforce-periodic-user-authentication.mdx b/src/pages/how-to/enforce-periodic-user-authentication.mdx index e2aa0518..f018aaf7 100644 --- a/src/pages/how-to/enforce-periodic-user-authentication.mdx +++ b/src/pages/how-to/enforce-periodic-user-authentication.mdx @@ -5,7 +5,7 @@ To ensure a high level of security, NetBird offers a peer login expiration featu Every new network has this feature enabled, and the expiration period is set to 24 hours by default. You can disable this feature and configure the expiration period in the account settings in the web UI https://app.netbird.io/settings. - This feature is only applied to peers added with the [interactive SSO login feature](/how-to/installation#running-net-bird-with-sso-login). Peers, added with a setup key, won't be affected. + This feature is only applied to peers added with the [interactive SSO login feature](/getting-started/install#running-net-bird-with-sso-login). Peers, added with a setup key, won't be affected. Expired peers will appear in the peers' view with the status `Login required`. diff --git a/src/pages/how-to/examples.mdx b/src/pages/how-to/examples.mdx index 4cc5cce2..584f24e4 100644 --- a/src/pages/how-to/examples.mdx +++ b/src/pages/how-to/examples.mdx @@ -100,7 +100,7 @@ One of the simplest ways of running NetBird client application is to use a pre-b * **NetBird account.** Register one at [app.netbird.io](https://app.netbird.io/). -You would need to obtain a [setup key](/how-to/register-machines-using-setup-keys) to associate NetBird client with your account. +You would need to obtain a [setup key](/manage/peers/setup-keys) to associate NetBird client with your account. The setup key could be found in the NetBird Management dashboard under the Setup Keys tab - [https://app.netbird.io/setup-keys](https://app.netbird.io/setup-keys). diff --git a/src/pages/how-to/intune-netbird-integration.mdx b/src/pages/how-to/intune-netbird-integration.mdx index 89fc9676..160df9c3 100644 --- a/src/pages/how-to/intune-netbird-integration.mdx +++ b/src/pages/how-to/intune-netbird-integration.mdx @@ -60,7 +60,7 @@ Opt for Win32 app deployment over the Line-of-Business (LOB) method (described i Using the Win32 method requires you to convert either NetBird's `.exe` or `.msi` installer to the `.intunewin` format. Here's an overview of the procedure using the `.exe` installer: - Download the Microsoft Win32 Content Prep Tool from [GitHub](https://github.com/Microsoft/Microsoft-Win32-Content-Prep-Tool) -- Download your preferred NetBird Windows installer from the [NetBird installation documentation](https://docs.netbird.io/how-to/installation#windows) +- Download your preferred NetBird Windows installer from the [NetBird installation documentation](https://docs.netbird.io/getting-started/install#windows) - Run the Content Prep Tool and follow the instructions to convert the NetBird installer to `.intunewin` format. You'll be asked about the source folder (usually where you downloaded the installer), the NetBird setup file you will use, and the output folder (where you want the `.intunewin` file to be saved). - For detailed information on using the Win32 Content Prep Tool, refer to [Microsoft's documentation](https://learn.microsoft.com/en-us/intune/intune-service/apps/apps-win32-prepare). @@ -157,7 +157,7 @@ As a simpler alternative to the Win32 method described previously, you can deplo ### Adding NetBird MSI Installer to Intune -- Download the NetBird Windows MSI installer from the [NetBird installation documentation](https://docs.netbird.io/how-to/installation#windows) +- Download the NetBird Windows MSI installer from the [NetBird installation documentation](https://docs.netbird.io/getting-started/install#windows) - Sign in to the [Microsoft Intune admin center](https://intune.microsoft.com), navigate to `Apps`, and click the `Windows` button. ![Adding Windows App](/docs-static/img/how-to-guides/intune-netbird-integration/intune-03.png) diff --git a/src/pages/how-to/kubernetes-operator.mdx b/src/pages/how-to/kubernetes-operator.mdx index 3d9544b3..85683e5c 100644 --- a/src/pages/how-to/kubernetes-operator.mdx +++ b/src/pages/how-to/kubernetes-operator.mdx @@ -4,7 +4,7 @@ Accessing private Kubernetes clusters can be challenging, especially when connec having multiple clusters to manage. NetBird Kubernetes operator simplifies this process by enabling secure access to your Kubernetes clusters using custom resource configurations and annotations to expose your cluster and services in your NetBird network. -The NetBird Kubernetes operator automatically creates [Networks and Resources](/how-to/networks) in your NetBird account, allowing you to +The NetBird Kubernetes operator automatically creates [Networks and Resources](/manage/networks/networks) in your NetBird account, allowing you to seamlessly access your Kubernetes services and control plane from your NetBird network. ## Deployment @@ -78,7 +78,7 @@ helm upgrade --create-namespace -f values.yaml -n netbird netbird-operator netbi ## Expose Kubernetes Control Plane to your NetBird Network To access your Kubernetes control plane from a NetBird network, you can expose your Kubernetes control plane as a -[NetBird resource](/how-to/networks#resources) by enabling the following option in the operator values: +[NetBird resource](/manage/networks#resources) by enabling the following option in the operator values: ```yaml ingres: @@ -132,7 +132,7 @@ This will create a Network and a resource similar to the example below: Ingress DNS Resolution requires enabled `DNS Wildcard Routing` and at least one DNS Nameserver configured for clients. - Learn more about Networks settings [here](/how-to/networks#enable-dns-wildcard-routing). + Learn more about Networks settings [here](/manage/networks#enable-dns-wildcard-routing). Other annotations can be used to further configure the resources created by the operator: @@ -261,7 +261,7 @@ and DNS configurations as any other peer in your NetBird network. This allows yo through the NetBird network, enabling egress-like access to remote services from your Kubernetes services across various locations or cloud providers. To enable sidecar functionality in your deployments, you first need to generate a setup key, either via the UI (see image below) -or by following [this guide](/how-to/register-machines-using-setup-keys) for more details. +or by following [this guide](/manage/peers/setup-keys) for more details.

Setup Keys diff --git a/src/pages/how-to/stream-activity-to-datadog.mdx b/src/pages/how-to/stream-activity-to-datadog.mdx index 590fbbc6..ca5deb70 100644 --- a/src/pages/how-to/stream-activity-to-datadog.mdx +++ b/src/pages/how-to/stream-activity-to-datadog.mdx @@ -1,7 +1,7 @@ # Stream Network Activity to Datadog Cloud SIEM Datadog is a monitoring and analytics platform for cloud-scale applications. Datadog Cloud SIEM provides real-time threat -detection and security monitoring for cloud environments. By using the NetBird-Datadog integration, you can stream [network activity](/how-to/monitor-system-and-network-activity) to Datadog Cloud SIEM for real-time monitoring +detection and security monitoring for cloud environments. By using the NetBird-Datadog integration, you can stream [network activity](/how-to/activity-event-streaming) to Datadog Cloud SIEM for real-time monitoring and threat detection across your private network. NetBird integrates with Datadog using the [Datadog Log Collection HTTP API](https://docs.datadoghq.com/api/latest/logs/#send-logs) diff --git a/src/pages/how-to/traffic-events-logging.mdx b/src/pages/how-to/traffic-events-logging.mdx index f1699eae..a2ed6d32 100644 --- a/src/pages/how-to/traffic-events-logging.mdx +++ b/src/pages/how-to/traffic-events-logging.mdx @@ -19,7 +19,7 @@ you to better manage and secure your environment. NetBird offers flexibility as a peer-to-peer (p2p) overlay network and a remote network access solution. You can use NetBird to connect machines directly (p2p) when running the NetBird client on each machine. You can also use NetBird to organize remote employee access -to internal networks like VPCs, office networks, and internal services without running the NetBird client on the remote resources using the [NetBird Networks](/how-to/networks) feature. +to internal networks like VPCs, office networks, and internal services without running the NetBird client on the remote resources using the [NetBird Networks](/manage/networks/networks) feature. The way you use NetBird influences the way traffic events are captured and logged. Below are the two main scenarios for traffic events logging that describe how NetBird logs traffic events for different types of connections. @@ -70,12 +70,12 @@ meaning all `HTTP` requests are intentionally not allowed. The screenshot below ### Peer-to-Network Resource Connections -When a peer connects to a [network resource](/how-to/networks#resources), NetBird captures and logs the traffic -events for that connection on the peer that initiated the connection, and on the [routing peer](/how-to/networks#routing-peers) that connects the peer to +When a peer connects to a [network resource](/manage/networks#resources), NetBird captures and logs the traffic +events for that connection on the peer that initiated the connection, and on the [routing peer](/manage/networks#routing-peers) that connects the peer to the internal network resource. A slightly modified example of the CRM server connection scenario would be if instead of running the NetBird client on the CRM server, -you used the [NetBird Networks feature](/how-to/networks) and created a network resource for the CRM server. In this case, if a user accessed an internal CRM from their laptop via a browser +you used the [NetBird Networks feature](/manage/networks/networks) and created a network resource for the CRM server. In this case, if a user accessed an internal CRM from their laptop via a browser and port 443, NetBird would log the traffic events for that connection on the user's machine and the routing peer that routed the connection to the CRM server. If the connection was blocked, NetBird would log the blocked event on the routing peer. diff --git a/src/pages/how-to/troubleshooting-client.mdx b/src/pages/how-to/troubleshooting-client.mdx index ac5f73dd..66c184af 100644 --- a/src/pages/how-to/troubleshooting-client.mdx +++ b/src/pages/how-to/troubleshooting-client.mdx @@ -84,7 +84,7 @@ As for Peers, the status will show the following information: * `Transfer status (received/sent)`: Indicating the amount of data received and sent by the peer. This is useful to check if the connection is being used. -See more details about the status command [here](/how-to/cli#status). +See more details about the status command [here](/getting-started/cli#status). ## Getting client logs @@ -817,7 +817,7 @@ misconfiguration and resulting lack of connectivity establishment. This section will provide general directions for verifying connectivity on every step involved in handling the Domain Resources, to better understand where issue might lie. -For in-depth overview of the mechanism please read [Domain Resources](/how-to/networks#domain-resources) section. +For in-depth overview of the mechanism please read [Domain Resources](/manage/networks#domain-resources) section. Analyzing those issues will take a "backwards" approach (based on the most common issues), where we will first confirm that Routing Peer itself is working as expected and will check the client's operating system configuration as one of the @@ -905,7 +905,7 @@ Address: 100.83.136.209#22054 ### Trigger the Domain Resource I have yet to see a local DNS forwarder fail, but using it is a good way of forcing the NetBird client to set up -routing for the domain (see the [Domain Resources](/how-to/networks#domain-resources) for explanation). +routing for the domain (see the [Domain Resources](/manage/networks#domain-resources) for explanation). On MacOS & Windows the IP address would always be `100.83.255.254` instead of `100.83.73.97`. diff --git a/src/pages/manage/access-control/index.mdx b/src/pages/manage/access-control/index.mdx index d3a29c5d..4a54c1d6 100644 --- a/src/pages/manage/access-control/index.mdx +++ b/src/pages/manage/access-control/index.mdx @@ -6,7 +6,7 @@ NetBird's access control system is built on Zero Trust security principles, ensu

- **NEW:** For a visual overview of your access policies and how peers, groups, and their relationships connect, check out the [**Control Center**](https://docs.netbird.io/how-to/control-center) feature in NetBird. The Control Center provides an interactive graph view that makes it easy to understand your network's access structure at a glance. + **NEW:** For a visual overview of your access policies and how peers, groups, and their relationships connect, check out the [**Control Center**](https://docs.netbird.io/manage/control-center) feature in NetBird. The Control Center provides an interactive graph view that makes it easy to understand your network's access structure at a glance. ## Zero-Trust Principles and NetBird @@ -88,7 +88,7 @@ When a user signs into NetBird on a device (such as a Windows computer using the **How peer groups work:** 1. **Manual Creation:** Groups are created explicitly in the NetBird interface -2. **Setup Key Assignment:** The most common method - when creating a setup key, you specify which groups should be [auto-assigned](https://docs.netbird.io/how-to/register-machines-using-setup-keys#peer-auto-grouping) to any peer that registers with that key +2. **Setup Key Assignment:** The most common method - when creating a setup key, you specify which groups should be [auto-assigned](https://docs.netbird.io/manage/peers/setup-keys#peer-auto-grouping) to any peer that registers with that key 3. **Manual Assignment:** Administrators can also manually assign groups to specific infrastructure peers after they're connected **What are Setup Keys?** diff --git a/src/pages/manage/access-control/manage-network-access.mdx b/src/pages/manage/access-control/manage-network-access.mdx index f30cecbd..5bf89317 100644 --- a/src/pages/manage/access-control/manage-network-access.mdx +++ b/src/pages/manage/access-control/manage-network-access.mdx @@ -13,7 +13,7 @@ Watch our Access Control video on YouTube: - For a visual overview of your access policies and network topology, check out the [Control Center](/how-to/control-center), which provides an interactive graph view of peers, groups, and their access relationships. + For a visual overview of your access policies and network topology, check out the [Control Center](/manage/control-center), which provides an interactive graph view of peers, groups, and their access relationships. ## Introduction @@ -36,7 +36,7 @@ Here are some key attributes of groups: - There exists a default group called `All` which cannot be deleted or renamed. - You can assign groups automatically with the [peer auto-grouping feature](/how-to/register-machines-using-setup-keys#peer-auto-grouping). + You can assign groups automatically with the [peer auto-grouping feature](/manage/peers/setup-keys#peer-auto-grouping). ### The All Group @@ -109,7 +109,7 @@ You can assign a peer to a group by accessing the `Peers` section. Then, choose

- You can assign groups automatically with the [peer auto-grouping feature](/how-to/register-machines-using-setup-keys#peer-auto-grouping). + You can assign groups automatically with the [peer auto-grouping feature](/manage/peers/setup-keys#peer-auto-grouping). ### Updating Policies diff --git a/src/pages/manage/access-control/posture-checks/connecting-from-the-office.mdx b/src/pages/manage/access-control/posture-checks/connecting-from-the-office.mdx index 702d1b6d..3c639f26 100644 --- a/src/pages/manage/access-control/posture-checks/connecting-from-the-office.mdx +++ b/src/pages/manage/access-control/posture-checks/connecting-from-the-office.mdx @@ -1,5 +1,5 @@ # Connecting from the office -A typical scenario administrators have is accessing their office networks remotely. With [Network routes](https://docs.netbird.io/how-to/routing-traffic-to-private-networks), NetBird makes this easy. Still, administrators often want to avoid routing their users’ traffic via NetBird when they are in the office. +A typical scenario administrators have is accessing their office networks remotely. With [Network routes](https://docs.netbird.io/manage/network-routes/routing-traffic-to-private-networks), NetBird makes this easy. Still, administrators often want to avoid routing their users’ traffic via NetBird when they are in the office. To solve this, administrators can leverage the power of [Posture Checks](https://docs.netbird.io/manage/access-control/posture-checks) and create policies that allow connection to the routing peers only if they are outside the office by using a [Peer Network Range](/manage/access-control/posture-checks#peer-network-range) posture check with a block action. @@ -51,7 +51,7 @@ We are now ready for the final step of creating the office route. ### Create a Network Route -Now, let's create a [Network Route](https://docs.netbird.io/how-to/routing-traffic-to-private-networks) that will expose the local office subnet `192.168.1.0/24`, +Now, let's create a [Network Route](https://docs.netbird.io/manage/network-routes/routing-traffic-to-private-networks) that will expose the local office subnet `192.168.1.0/24`, which will be distributed to all peers members of the group `route-users`. In this example, we will be using a routing peer named `router-01`, which is a member of the group `route-nodes`, this way, the policy we just created goes into effect, and all peers from the group `route-users` will be able to reach `router-01` only if they are not in the office network, due to our posture check. diff --git a/src/pages/how-to/control-center.mdx b/src/pages/manage/control-center/index.mdx similarity index 91% rename from src/pages/how-to/control-center.mdx rename to src/pages/manage/control-center/index.mdx index 5600b506..8800b5f5 100644 --- a/src/pages/how-to/control-center.mdx +++ b/src/pages/manage/control-center/index.mdx @@ -28,7 +28,7 @@ Control Center is a topological view in the NetBird dashboard that visualizes wh Use this to understand what a specific machine can reach.

- Control Center Peer View

@@ -41,7 +41,7 @@ Use this to understand what a specific machine can reach. Use this to validate team-level access.

- Control Center Groups View

@@ -55,10 +55,10 @@ Common checks: ### Networks view -Use this to see who can access resources in your routed [networks](/how-to/networks). +Use this to see who can access resources in your routed [networks](/manage/networks/networks).

- Control Center Network View

@@ -90,5 +90,5 @@ Use this to see who can access resources in your routed [networks](/how-to/netwo - [Manage network access with Groups and Access Policies](/manage/access-control/manage-network-access) - [Apply posture checks to policies](/manage/access-control/posture-checks) -- [Networks and routing peers](/how-to/networks) +- [Networks and routing peers](/manage/networks/networks) - [MSP portal overview](/how-to/msp-portal) diff --git a/src/pages/how-to/configuring-default-routes-for-internet-traffic.mdx b/src/pages/manage/network-routes/configuring-default-routes-for-internet-traffic.mdx similarity index 83% rename from src/pages/how-to/configuring-default-routes-for-internet-traffic.mdx rename to src/pages/manage/network-routes/configuring-default-routes-for-internet-traffic.mdx index a12d878b..55dd0fce 100644 --- a/src/pages/how-to/configuring-default-routes-for-internet-traffic.mdx +++ b/src/pages/manage/network-routes/configuring-default-routes-for-internet-traffic.mdx @@ -36,10 +36,10 @@ This setup is activated as soon as the routing peer is connected. Administrators configure exit nodes from the dashboard, and can optionally mark the default route (0.0.0.0/0) as selected by default. Clients will then auto-apply the selected exit node if the route is configured with **Auto Apply** or the user has made a local choice on the device. - **Auto Apply**: when enabled on an exit node route, clients will auto-apply that exit node. Users can still manually disable it from the client if they choose to use that exit node. -- **Client override**: if a user selects or deselects an exit node on their device, that local choice takes precedence over the management server’s preference. This includes the ability to deselect a forced/selected route sent by management. +- **Client override**: if a user selects or deselects an exit node on their device, that local choice takes precedence over the management server's preference. This includes the ability to deselect a forced/selected route sent by management. - Management can provide preferences for exit node selection, but the client user’s explicit selection or deselection is always respected on that device. + Management can provide preferences for exit node selection, but the client user's explicit selection or deselection is always respected on that device. @@ -60,14 +60,14 @@ Exit node routes that existed before the Auto Apply feature are treated as if ** Navigate to the NetBird dashboard to begin the configuration process.

- dashboard-peers-view

### Select the designated routing peer

- routing-peer-view

@@ -79,14 +79,14 @@ In the opened window, specify which peers should use the default route by assign These peers will automatically route their internet traffic through the routing peer upon its connection.

- add-exit-node-view

If you want exit nodes to be available without being automatically enabled on clients, enable the **Auto Apply** option. When Auto Apply is on, clients will auto-apply the exit node, but users can manually disable it from the client.

- exit-node-auto-apply + exit-node-auto-apply

Then hit the `Add Exit Node` button to complete the configuration. @@ -99,7 +99,7 @@ remains enabled by default to mask the original source IP addresses. Verify the configuration in the peer view. The routing peer should now be marked as an exit node.

- routing-peer-exit-node-view

@@ -115,7 +115,7 @@ See [Manage DNS in your network](manage-dns-in-your-network). Like for other network routes, high availability configurations are supported for default routes. Refer to -the [Creating Highly Available Routes](routing-traffic-to-private-networks#creating-highly-available-routes) +the [Creating Highly Available Routes](./routing-traffic-to-private-networks#creating-highly-available-routes) section for more information. ## Get started @@ -127,3 +127,4 @@ section for more information. - Follow us [on X](https://x.com/netbird) - Join our [Slack Channel](/slack-url) - NetBird [latest release](https://github.com/netbirdio/netbird/releases) on GitHub + diff --git a/src/pages/how-to/configuring-routes-with-access-control.mdx b/src/pages/manage/network-routes/configuring-routes-with-access-control.mdx similarity index 85% rename from src/pages/how-to/configuring-routes-with-access-control.mdx rename to src/pages/manage/network-routes/configuring-routes-with-access-control.mdx index 7b3b9001..e18b547e 100644 --- a/src/pages/how-to/configuring-routes-with-access-control.mdx +++ b/src/pages/manage/network-routes/configuring-routes-with-access-control.mdx @@ -36,7 +36,7 @@ Since release `0.30.0`, the management service and dashboard support access cont To add a Network Route with access control groups, access the `Network Routes` tab and click the `Add Route` button to create a new route. In the example below, we are creating a route with the following information -(see [Concepts](routing-traffic-to-private-networks#concepts) to learn more about the fields): +(see [Concepts](./routing-traffic-to-private-networks#concepts) to learn more about the fields): - Network identifier: `aws-eu-central-1-vpc` - Description: `Production VPC in Frankfurt` @@ -46,23 +46,23 @@ In the example below, we are creating a route with the following information - Access Control Groups: `servers`

- high-level-dia + high-level-dia

Click on `Continue` to proceed.

- high-level-dia + high-level-dia

Once you fill in the route information, you can click on the `Add Route` button to save your new route.

- high-level-dia + high-level-dia

Because you used an access control group, you will be prompted to create a new policy.

- high-level-dia + high-level-dia

Click on the `Create Policy` button to proceed. @@ -82,7 +82,7 @@ In the example below, we are creating a unidirectional policy with the following - Destination Groups: `servers`

- high-level-dia + high-level-dia

@@ -90,7 +90,7 @@ If necessary, you can create new groups by entering new names in the input box f Once you have finished configuring the policy, click `Add Policy` to save it. You will then see your new policy in the table.

- high-level-dia + high-level-dia

The route has been created successfully. Now, every peer connected to your routing peer can only access port 80 services on the routed network, @@ -144,4 +144,5 @@ To allow traffic initiated from the routed network in version 0.30.0 and later: Routing Client (Peer A) ← Routing Peer (Peer B) This configuration allows the routing client (Peer A) to accept incoming traffic -from the routing peer (Peer B), which may originate from the routed network. \ No newline at end of file +from the routing peer (Peer B), which may originate from the routed network. + diff --git a/src/pages/how-to/resolve-overlapping-routes.mdx b/src/pages/manage/network-routes/resolve-overlapping-routes.mdx similarity index 91% rename from src/pages/how-to/resolve-overlapping-routes.mdx rename to src/pages/manage/network-routes/resolve-overlapping-routes.mdx index c78e8375..30b767cf 100644 --- a/src/pages/how-to/resolve-overlapping-routes.mdx +++ b/src/pages/manage/network-routes/resolve-overlapping-routes.mdx @@ -1,7 +1,7 @@ # Resolve overlapping routes with the route selection feature -NetBird [Network Routes](/how-to/routing-traffic-to-private-networks) feature enables peers to access external networks such as VPCs, LANs, +NetBird [Network Routes](/manage/network-routes/routing-traffic-to-private-networks) feature enables peers to access external networks such as VPCs, LANs, or office networks seamlessly. In most scenarios, network administrators connect their NetBird peers to these external networks by defining a network route, @@ -67,7 +67,7 @@ To select routes using the GUI, you can open the NetBird system tray application You can select or deselect routes by clicking on the checkbox next to the route name.

- select-network-routes + select-network-routes

### Enabling All Routes @@ -91,3 +91,4 @@ This applies not only to the currently available routes but also to any routes t - Follow us [on X](https://x.com/netbird) - Join our [Slack Channel](/slack-url) - NetBird [latest release](https://github.com/netbirdio/netbird/releases) on GitHub + diff --git a/src/pages/how-to/routing-traffic-to-private-networks.mdx b/src/pages/manage/network-routes/routing-traffic-to-private-networks.mdx similarity index 85% rename from src/pages/how-to/routing-traffic-to-private-networks.mdx rename to src/pages/manage/network-routes/routing-traffic-to-private-networks.mdx index 78f0f6cd..bb68616c 100644 --- a/src/pages/how-to/routing-traffic-to-private-networks.mdx +++ b/src/pages/manage/network-routes/routing-traffic-to-private-networks.mdx @@ -23,7 +23,7 @@ NetBird provides fast and reliable end-to-end encryption between peers in your n In these cases, you can configure network routes assigning routing peers to connect existing infrastructure. Routing peers will forward packets between your NetBird peers and your other networks; they can masquerade traffic going to your data centers or embedded devices, reducing the need for external route configuration and agent installation.

- high-level-dia + high-level-dia

@@ -64,7 +64,7 @@ netbird up --dns-router-interval 30s Additionally, the keep routes switch is enabled by default.

- high-level-dia + high-level-dia

When the keep routes switch is on, and a domain no longer resolves to an IP address, the corresponding route will still be maintained (and any new resolved IP addresses will be added). @@ -115,7 +115,7 @@ A network route describes a network you want to connect with your NetBird peers. Access the `Network Routes` tab and click the `Add Route` button to create a new route. This will open a route configuration screen where you can add the information about the network you want to route:

- high-level-dia + high-level-dia

Now you can enter the details of your route. @@ -128,13 +128,13 @@ In the example below, we are creating a route with the following information: - Distribution Groups: `All`

- high-level-dia + high-level-dia

Once you fill in the route information, you can click on the `Add Route` button to save your new route.

- high-level-dia + high-level-dia

The route has been created successfully. Now every peer connected to your routing peer will be able to send traffic to your external network. @@ -144,13 +144,13 @@ Ensure that the peer groups have Linux peers, as traffic routing is only support Groups with multiple peers automatically provide [high availability routing](#high-availability-routes).

- high-level-dia + high-level-dia

Once you fill in the route information, you can click on the `Add Route` button to save your new route.

- high-level-dia + high-level-dia

The route has been created successfully. Now every peer connected to the peer members of the groups will be able to send traffic to your external network. @@ -171,13 +171,13 @@ routing configuration will be distributed to machines in the selected groups `Di In the following example, we are adding the peer `aws-nb-europe-router-az-b` to the `aws-eu-central-1-vpc` route:

- high-level-dia + high-level-dia

This way, peers connected to `aws-nb-europe-router-az-a` and `aws-nb-europe-router-az-b` will have highly available access to the `172.31.0.0/16` network.

- high-level-dia + high-level-dia

@@ -198,7 +198,7 @@ the `aws-nb-europe-router-az-a` routing peer to access the `aws-eu-central-1-vpc Peers that belong to the `london-office` group will use the `aws-nb-europe-router-az-b` routing peer.

- high-level-dia + high-level-dia

### Routes without masquerading @@ -209,7 +209,7 @@ This will require a routing configuration on your external network router pointi This way, devices that do not have the agent installed can communicate with your NetBird peers.

- high-level-dia + high-level-dia

## Network Routes caveats @@ -228,13 +228,13 @@ until it has access to its **Group**. Let's assume a **Network Route** is distributed through `Group R` (Routing Peer) to `Group A` (intended client):

- route-ip-address + route-ip-address

After creating an **Access Policy** granting `ICMP` access from `Group A` to `Group R`:

- ICMP policy from group A to R + ICMP policy from group A to R

You will be able to access everything on the routed network without any restrictions. @@ -264,13 +264,13 @@ In the following example, we set up a **Network Resource** for a `*.nb.test` wil using ACL group `manual:srvs`:

- *.nb.test domain Resource + *.nb.test domain Resource

Granting HTTP-only access to that resource from group `manual:client`:

- a HTTP-only policy from manual:client group + a HTTP-only policy from manual:client group

Everything appears to be set up correctly. We have HTTP access and can confirm the domain was resolved: @@ -335,13 +335,13 @@ Unrestricted access to the `srv.nb.test` domain was granted, because we have use for both **Network Route** and the newly created **Network**:

- Network's `manual:router:srvs` router + Network's `manual:router:srvs` router

Here are this specific **Routing Peer**'s details:

- Routing Peer's detail page with Network Route handling + Routing Peer's detail page with Network Route handling

It is a member of both routing groups: @@ -364,3 +364,4 @@ It is a member of both routing groups: - Follow us [on X](https://x.com/netbird) - Join our [Slack Channel](/slack-url) - NetBird [latest release](https://github.com/netbirdio/netbird/releases) on GitHub + diff --git a/src/pages/how-to/accessing-entire-domains-within-networks.mdx b/src/pages/manage/networks/accessing-entire-domains-within-networks.mdx similarity index 77% rename from src/pages/how-to/accessing-entire-domains-within-networks.mdx rename to src/pages/manage/networks/accessing-entire-domains-within-networks.mdx index da3744e8..32b0aa2b 100644 --- a/src/pages/how-to/accessing-entire-domains-within-networks.mdx +++ b/src/pages/manage/networks/accessing-entire-domains-within-networks.mdx @@ -2,7 +2,7 @@ Companies often operate internal environments using assigned domains that remain inaccessible to the public for security and compliance reasons. Creating routing resources for these environments can quickly become a problem for DevOps and Platform teams, especially as different stakeholders frequently request new resources. Moreover, when these resources span across different networks, managing them becomes even more challenging. -NetBird's [Networks](https://docs.netbird.io/how-to/networks-concept) streamlines this process, allowing organizations to configure secure access to internal resources efficiently using [Wildcard domain resources](https://docs.netbird.io/how-to/networks-concept#resources). This reduces the administrative burden on IT teams and enhances overall productivity. +NetBird's [Networks](https://docs.netbird.io/manage/networks/networks) streamlines this process, allowing organizations to configure secure access to internal resources efficiently using [Wildcard domain resources](https://docs.netbird.io/manage/networks#resources). This reduces the administrative burden on IT teams and enhances overall productivity. ## Example Use Case Scenario @@ -29,7 +29,7 @@ In this scenario, an AI software company needs secure access to its internal dom To effectively access entire domains within your internal networks using NetBird, ensure the following pre-requisites are met: - **NetBird Clients**: Install [NetBird clients](https://docs.netbird.io/how-to/getting-started) on all devices used by developers and data scientists. This is essential to establish secure connectivity to your internal resources. -- **Routing Peers**: Configure [NetBird routing peers](https://docs.netbird.io/how-to/networks-concept#routing-peers) within your network infrastructure using [setup keys](https://docs.netbird.io/how-to/setup-keys-add-servers-to-network). Routing peers facilitate traffic routing across different network segments, ensuring seamless access to both internal domains. +- **Routing Peers**: Configure [NetBird routing peers](https://docs.netbird.io/manage/networks#routing-peers) within your network infrastructure using [setup keys](https://docs.netbird.io/manage/peers/access-infrastructure/setup-keys-add-servers-to-network). Routing peers facilitate traffic routing across different network segments, ensuring seamless access to both internal domains. - **Nameserver Configuration**: Ensure that your Nameservers are properly configured within your NetBird account to resolve all domain queries. This step is critical for enabling seamless domain name resolution across your network, facilitating efficient connectivity to both your development and AI model training environments. For detailed instructions, refer to the [Manage DNS in Your Network](https://docs.netbird.io/how-to/manage-dns-in-your-network). ## Enabling DNS Wildcard Routing @@ -47,7 +47,7 @@ To enable DNS wildcard routing in your NetBird account, follow these steps: * Navigate to `Settings` > `Networks` within your NetBird account. * `Enable DNS wildcard routing` by toggling the appropriate setting. This will allow your network to resolve all subdomains under a specified domain. -![Enabling DNS wildcard routing](/docs-static/img/how-to-guides/accessing-entire-domains-within-networks/01-domains-within-networks.png) +![Enabling DNS wildcard routing](/docs-static/img/manage/networks/accessing-entire-domains-within-networks/01-domains-within-networks.png) The `Enable DNS wildcard routing` is supported by routing peers and routing clients running version `0.35.0` or later. @@ -67,13 +67,13 @@ To create a network for the developer environment: * Give a descriptive name to the network, e.g., `Development Network`. Optionally, add a description. * Click `Add Network` to continue. -![Creating Developers Domain Network](/docs-static/img/how-to-guides/accessing-entire-domains-within-networks/02-domains-within-networks.png) +![Creating Developers Domain Network](/docs-static/img/manage/networks/accessing-entire-domains-within-networks/02-domains-within-networks.png) ### Adding Routing Peers Click `Add Routing Peer` to make accessible the resources within this network to the developers. -![Add Routing Peers Window](/docs-static/img/how-to-guides/accessing-entire-domains-within-networks/03-domains-within-networks.png) +![Add Routing Peers Window](/docs-static/img/manage/networks/accessing-entire-domains-within-networks/03-domains-within-networks.png) You will see two tabs: `Routing Peers` and `Peer Group`. @@ -81,7 +81,7 @@ You will see two tabs: `Routing Peers` and `Peer Group`. * Select `Peer Group` to enable high availability by adding multiple peers to the network. * Click `Continue` once ready. -![Local Routing Peers](/docs-static/img/how-to-guides/accessing-entire-domains-within-networks/04-domains-within-networks.png) +![Local Routing Peers](/docs-static/img/manage/networks/accessing-entire-domains-within-networks/04-domains-within-networks.png) In the `Advanced Settings` tab: @@ -89,38 +89,38 @@ In the `Advanced Settings` tab: * Set the `Metric` to prioritize routers, using lower values for higher priority peers. * When ready, click `Add Routing Peer`. -![Masquerade and Metric](/docs-static/img/how-to-guides/accessing-entire-domains-within-networks/05-domains-within-networks.png) +![Masquerade and Metric](/docs-static/img/manage/networks/accessing-entire-domains-within-networks/05-domains-within-networks.png) ### Adding a Wildcard Domain Resource Click `Add Resource` to create the wildcard domain resource. -![Add Domain Resource](/docs-static/img/how-to-guides/accessing-entire-domains-within-networks/06-domains-within-networks.png) +![Add Domain Resource](/docs-static/img/manage/networks/accessing-entire-domains-within-networks/06-domains-within-networks.png) * Give the resource a descriptive name, e.g., `Development Wildcard Domain` * Enter the wildcard domain for this environment, e.g., `*.dev.example.com`. * Under `Assigned Groups`, select or create a group, e.g., `Development Domain`. This group will be used to create an access policy to allow developers access to all subdomains ending with `.dev.example.com`. * Click `Add Resource` when ready. -![Add Accounting Website Restricted Subdomain Resource](/docs-static/img/how-to-guides/accessing-entire-domains-within-networks/07-domains-within-networks.png) +![Add Accounting Website Restricted Subdomain Resource](/docs-static/img/manage/networks/accessing-entire-domains-within-networks/07-domains-within-networks.png) ### Creating an Access Policy Click `Create Policy` to grant developers access to `*.dev.example.com`. -![Add Policy](/docs-static/img/how-to-guides/accessing-entire-domains-within-networks/08-domains-within-networks.png) +![Add Policy](/docs-static/img/manage/networks/accessing-entire-domains-within-networks/08-domains-within-networks.png) * Under `Protocol`, leave `ALL`. * Under `Source` choose the group corresponding to developers, e.g., `Developers`. * The `Destination` is automatically set to the group you used when creating the resource, e.g., `Development Domain`. -![Developers Policy](/docs-static/img/how-to-guides/accessing-entire-domains-within-networks/09-domains-within-networks.png) +![Developers Policy](/docs-static/img/manage/networks/accessing-entire-domains-within-networks/09-domains-within-networks.png) * Click `Continue` to set `Posture Checks`. This step is optional, meaning you can click `Continue` for this example. * Provide a descriptive name for the policy, e.g., `Development Wildcard Domain Policy`. * Click `Add Policy` to finish. -![Developers Policy Name](/docs-static/img/how-to-guides/accessing-entire-domains-within-networks/10-domains-within-networks.png) +![Developers Policy Name](/docs-static/img/manage/networks/accessing-entire-domains-within-networks/10-domains-within-networks.png) Now that the development environment is set up, you can streamline the process of creating new resources using NetBird. @@ -132,18 +132,18 @@ Suppose you want to create the regular domain `dev.example.com`. * Navigate to `Networks` > `Development Network` and click `Add Resource`. -![Development Network](/docs-static/img/how-to-guides/accessing-entire-domains-within-networks/11-domains-within-networks.png) +![Development Network](/docs-static/img/manage/networks/accessing-entire-domains-within-networks/11-domains-within-networks.png) * Provide an appropriate name for the resource, such as `Development Regular Domain`. * In the `Address` field, enter the regular domain `dev.example.com`. * Under `Assigned Groups` select the same group used for the wildcard domain, e.g., `Development Domain`. * Click `Add Resource` to continue. -![Regular Domain Resource](/docs-static/img/how-to-guides/accessing-entire-domains-within-networks/12-domains-within-networks.png) +![Regular Domain Resource](/docs-static/img/manage/networks/accessing-entire-domains-within-networks/12-domains-within-networks.png) That's it! Since you used the group `Development Domain`, NetBird will automatically configure for you routing peers and access policies, granting your developers the necessary access permissions. -![Development Network Resources](/docs-static/img/how-to-guides/accessing-entire-domains-within-networks/13-domains-within-networks.png) +![Development Network Resources](/docs-static/img/manage/networks/accessing-entire-domains-within-networks/13-domains-within-networks.png) You can confirm the configuration by listing the available networks using the command `netbird networks ls` from any developer workstation. The output should resemble the following: @@ -169,31 +169,31 @@ For our use case, data scientists operate from different network segments or div From the `Networks` screen, click `Add Network` to set up an appropriate network for your data scientists: -![AI Network](/docs-static/img/how-to-guides/accessing-entire-domains-within-networks/14-domains-within-networks.png) +![AI Network](/docs-static/img/manage/networks/accessing-entire-domains-within-networks/14-domains-within-networks.png) As with developers, you can configure a single routing peer or a group of routing peers for high availability: -![AI Routing Peers](/docs-static/img/how-to-guides/accessing-entire-domains-within-networks/15-domains-within-networks.png) +![AI Routing Peers](/docs-static/img/manage/networks/accessing-entire-domains-within-networks/15-domains-within-networks.png) You can also set up a wildcard domain resource for this environment: -![AI Wildcard Domain Resource](/docs-static/img/how-to-guides/accessing-entire-domains-within-networks/16-domains-within-networks.png) +![AI Wildcard Domain Resource](/docs-static/img/manage/networks/accessing-entire-domains-within-networks/16-domains-within-networks.png) And establish an access policy tailored to your data scientists: -![AI Team Access Policy](/docs-static/img/how-to-guides/accessing-entire-domains-within-networks/17-domains-within-networks.png) +![AI Team Access Policy](/docs-static/img/manage/networks/accessing-entire-domains-within-networks/17-domains-within-networks.png) You will need a regular domain, too; simply create the corresponding resource. The overview of your new network might resemble the following: -![AI Network](/docs-static/img/how-to-guides/accessing-entire-domains-within-networks/18-domains-within-networks.png) +![AI Network](/docs-static/img/manage/networks/accessing-entire-domains-within-networks/18-domains-within-networks.png) Need a new subdomain for testing the latest model? From NetBird's Networks screen, just click `Add Resource`, name it, enter the desired subdomain, and assign it to the appropriate group for this environment: -![New AI Model Resource](/docs-static/img/how-to-guides/accessing-entire-domains-within-networks/19-domains-within-networks.png) +![New AI Model Resource](/docs-static/img/manage/networks/accessing-entire-domains-within-networks/19-domains-within-networks.png) In summary, you can easily add, remove, and edit network resources from the Networks dashboard. -![AI Training Model Network](/docs-static/img/how-to-guides/accessing-entire-domains-within-networks/20-domains-within-networks.png) +![AI Training Model Network](/docs-static/img/manage/networks/accessing-entire-domains-within-networks/20-domains-within-networks.png) With this setup, all members of the `Data Scientists` group have access to `ai.example.com` and its subdomains: diff --git a/src/pages/how-to/accessing-restricted-domain-resources.mdx b/src/pages/manage/networks/accessing-restricted-domain-resources.mdx similarity index 77% rename from src/pages/how-to/accessing-restricted-domain-resources.mdx rename to src/pages/manage/networks/accessing-restricted-domain-resources.mdx index 54313979..66f91304 100644 --- a/src/pages/how-to/accessing-restricted-domain-resources.mdx +++ b/src/pages/manage/networks/accessing-restricted-domain-resources.mdx @@ -1,12 +1,12 @@ # Accessing restricted website domain resources -It is very common to find scenarios where you need to access restricted websites or services. This can be due to company policies, geographical restrictions, or even to avoid tracking. These resources are often located behind a cloud load balancer, which changes IP addresses frequently, making it hard to whitelist them. NetBird can help you access these resources by routing your traffic through a [routing peer](https://docs.netbird.io/how-to/routing-traffic-to-private-networks#routing-peer) configured with [Networks](https://docs.netbird.io/how-to/networks-concept) using [Domain resources](https://docs.netbird.io/how-to/networks-concept#resources). +It is very common to find scenarios where you need to access restricted websites or services. This can be due to company policies, geographical restrictions, or even to avoid tracking. These resources are often located behind a cloud load balancer, which changes IP addresses frequently, making it hard to whitelist them. NetBird can help you access these resources by routing your traffic through a [routing peer](https://docs.netbird.io/manage/network-routes/routing-traffic-to-private-networks#routing-peer) configured with [Networks](https://docs.netbird.io/manage/networks/networks) using [Domain resources](https://docs.netbird.io/manage/networks#resources). ## Example Use Case Scenario Imagine a company that runs its accounting application at the subdomain `accounting.example.com`. The website is behind a load balancer and hosted on an EC2 instance within the company's AWS infrastructure in the EU Central region. To enhance security, the company decided to follow zero-trust principles by giving differentiated access to the finance and support teams tailored to their specific responsibilities and operational needs. -To this end, the company deployed [NetBird clients](https://docs.netbird.io/how-to/getting-started) on the devices used by both the finance and support teams. Complementing this, [NetBird routing peers](https://docs.netbird.io/how-to/networks-concept#routing-peers) were configured within the AWS VPC using [setup keys](https://docs.netbird.io/how-to/setup-keys-add-servers-to-network). This configuration guarantees a solid foundation for streamlined and secure connectivity. +To this end, the company deployed [NetBird clients](https://docs.netbird.io/how-to/getting-started) on the devices used by both the finance and support teams. Complementing this, [NetBird routing peers](https://docs.netbird.io/manage/networks#routing-peers) were configured within the AWS VPC using [setup keys](https://docs.netbird.io/manage/peers/access-infrastructure/setup-keys-add-servers-to-network). This configuration guarantees a solid foundation for streamlined and secure connectivity. More importantly, this setup allows the company to use NetBird's Networks and [Access Policies](https://docs.netbird.io/manage/access-control/manage-network-access), to ensure that only authorized finance and support team members access the restricted website domain as follows: @@ -24,13 +24,13 @@ To create a new network for the accounting website subdomain: * Give a memorable name to the network, such as `AWS EU Network`. Optionally, add a description. * Click `Add Network` to proceed. -![Create Restricted Website Domain Network](/docs-static/img/how-to-guides/accessing-restricted-domain-resources/01-restricted-domain.png) +![Create Restricted Website Domain Network](/docs-static/img/manage/networks/accessing-restricted-domain-resources/01-restricted-domain.png) ### Adding Routing Peers Continue the process by clicking `Add Routing Peer`. This step is necessary to enable the network's resources to be accessible to other peers. -![Add Routing Peers Window](/docs-static/img/how-to-guides/accessing-restricted-domain-resources/02-restricted-domain.png) +![Add Routing Peers Window](/docs-static/img/manage/networks/accessing-restricted-domain-resources/02-restricted-domain.png) In the next window, you will see two tabs: `Routing Peers` and `Peer Group`. @@ -38,7 +38,7 @@ In the next window, you will see two tabs: `Routing Peers` and `Peer Group`. * Alternatively, you can select `Peer Group` to add multiple peers simultaneously for high availability. * Click `Continue` once ready. -![Local Routing Peers](/docs-static/img/how-to-guides/accessing-restricted-domain-resources/03-restricted-domain.png) +![Local Routing Peers](/docs-static/img/manage/networks/accessing-restricted-domain-resources/03-restricted-domain.png) In the `Advanced Settings` tab: @@ -46,26 +46,26 @@ In the `Advanced Settings` tab: * Set the `Metric` to prioritize routers. Lower values indicate higher priority. * Click `Add Routing Peer`. -![Masquerade and Metric](/docs-static/img/how-to-guides/accessing-restricted-domain-resources/04-restricted-domain.png) +![Masquerade and Metric](/docs-static/img/manage/networks/accessing-restricted-domain-resources/04-restricted-domain.png) ### Adding Network Resources Next, click `Add Resource` to add the accounting website resource. -![Add Network Resource](/docs-static/img/how-to-guides/accessing-restricted-domain-resources/05-restricted-domain.png) +![Add Network Resource](/docs-static/img/manage/networks/accessing-restricted-domain-resources/05-restricted-domain.png) * Give the network resource an appropriate name, e.g., `Accounting restricted subdomain` * Enter the restricted website domain for the accounting website, in this example, `accounting.example.com`. * Under `Assigned Groups`, select or create a group, like `Accounting Subdomain`. This group will be used to create an access policy to allow the finance team access to the restricted subdomain. * Click `Add Resource` when done. -![Add Accounting Website Restricted Subdomain Resource](/docs-static/img/how-to-guides/accessing-restricted-domain-resources/06-restricted-domain.png) +![Add Accounting Website Restricted Subdomain Resource](/docs-static/img/manage/networks/accessing-restricted-domain-resources/06-restricted-domain.png) ### Creating Access Policies The last step consists of creating an access control policy. Click `Create Policy` to create a new policy for the finance team. -![Add Policy](/docs-static/img/how-to-guides/accessing-restricted-domain-resources/07-restricted-domain.png) +![Add Policy](/docs-static/img/manage/networks/accessing-restricted-domain-resources/07-restricted-domain.png) Since the finance team only needs access to the web-based app at `accounting.example.com`, this policy will restrict access to ports: `TCP/80` for `HTTP` traffic and `TCP/443` for encrypted `HTTPS` traffic. @@ -74,13 +74,13 @@ Since the finance team only needs access to the web-based app at `accounting.exa * The `Destination` is automatically set to the group of the newly created resource, e.g., `Accounting Subdomain`. * Under `Ports`, enter `80` and `443`, the default ports for `HTTP` and `HTTPS` traffic. -![Finance Policy](/docs-static/img/how-to-guides/accessing-restricted-domain-resources/08-restricted-domain.png) +![Finance Policy](/docs-static/img/manage/networks/accessing-restricted-domain-resources/08-restricted-domain.png) * Click `Continue` to move to the `Posture Checks` tab, where you can optionally create or select posture checks for this policy. * Click `Continue` again, and provide a descriptive name for the policy, e.g., `Accounting subdomain Policy`. * Click `Add Policy` to finish. -![Finance Policy Name](/docs-static/img/how-to-guides/accessing-restricted-domain-resources/09-restricted-domain.png) +![Finance Policy Name](/docs-static/img/manage/networks/accessing-restricted-domain-resources/09-restricted-domain.png) ### Setting Up Additional Resources and Access Policies @@ -93,7 +93,7 @@ To set up a new network resource: * Enter the domain, in our case, `example.com`. * Under `Assigned Groups`, select or create the appropriate group such as `Webserver`. This group will be used to create a policy allowing the support team to access the TLD `example.com`. -![Add TLD Resource](/docs-static/img/how-to-guides/accessing-restricted-domain-resources/10-restricted-domain.png) +![Add TLD Resource](/docs-static/img/manage/networks/accessing-restricted-domain-resources/10-restricted-domain.png) Next, create an access policy for the support team. Usually, support teams only need SSH access to the website backend, meaning that they only need access to the `TCP/22` port: @@ -103,16 +103,16 @@ Next, create an access policy for the support team. Usually, support teams only * Under `Ports`, enter `22`, the default port for SSH. * Click `Continue`. -![Add Support Team Policy](/docs-static/img/how-to-guides/accessing-restricted-domain-resources/11-restricted-domain.png) +![Add Support Team Policy](/docs-static/img/manage/networks/accessing-restricted-domain-resources/11-restricted-domain.png) * Optionally, select or create posture checks for this policy. Click `Continue`. * Give a name to the policy on the final tab, such as `Restricted Website TLD Policy`. -![Name Support Team Policy](/docs-static/img/how-to-guides/accessing-restricted-domain-resources/12-restricted-domain.png) +![Name Support Team Policy](/docs-static/img/manage/networks/accessing-restricted-domain-resources/12-restricted-domain.png) This completes the network setup. You have configured two network resources, their respective access policies, and routing peers. -![AWS EU Network](/docs-static/img/how-to-guides/accessing-restricted-domain-resources/13-restricted-domain.png) +![AWS EU Network](/docs-static/img/manage/networks/accessing-restricted-domain-resources/13-restricted-domain.png) Now, you can review, select, or deselect available networks using NetBird's CLI. diff --git a/src/pages/how-to/access-home-network.mdx b/src/pages/manage/networks/homelab/access-home-network.mdx similarity index 82% rename from src/pages/how-to/access-home-network.mdx rename to src/pages/manage/networks/homelab/access-home-network.mdx index 16ec4a7c..e739adc3 100644 --- a/src/pages/how-to/access-home-network.mdx +++ b/src/pages/manage/networks/homelab/access-home-network.mdx @@ -4,7 +4,7 @@ import {Note} from "@/components/mdx"; This step-by-step guide describes how to quickly get started with NetBird and access your home network remotely. You will achieve a secure connection between your entire home network and NetBird, enabling remote devices to access -local network resources through a routing peer using the [NetBird Networks feature](/how-to/access-home-network). +local network resources through a routing peer using the [NetBird Networks feature](/manage/networks/homelab/access-home-network). ## Download and Install NetBird
@@ -26,7 +26,7 @@ NetBird comes with a Desktop UI application that can be found in the systray. If At this point a browser window pops up starting an interactive SSO login session that will register your laptop. You will be prompt to sign up and confirm your device registration:

- login-to-netbird + login-to-netbird

After the registration is complete, proceed to the [**NetBird dashboard**](https://app.netbird.io/) to confirm that your laptop is in the network. You will see it in the `Peers` view. @@ -36,7 +36,7 @@ After the registration is complete, proceed to the [**NetBird dashboard**](https 2. Click **Add Network** and give it a name such as “Home LAN", and optionally add a description.

- add-network-home-lan + add-network-home-lan

## Identify Your Local Subnet @@ -97,7 +97,7 @@ Use the steps below to quickly identify your local subnet for use as a Network R 4. Click **Add Resource**.

- add-resource-home-network + add-resource-home-network

@@ -118,7 +118,7 @@ peers can access the network. 5. Name it "Home LAN Access" and click **Add Policy**.

- add-policy-home-lan + add-policy-home-lan

## Add Your User to the Home User Group @@ -131,24 +131,24 @@ you've previously created. 3. Add "Home Users" by typing it in the input box and pressing Enter.

- add-network-home-lan + add-network-home-lan

## Choose or Add a Routing Peer in Your LAN 1. Click **Add Routing Peer**. 2. Pick any always-on machine on your home network (Windows, Linux, Mac, Docker, Raspberry Pi). -3. Install the NetBird agent on it using a [one-off setup key](/how-to/register-machines-using-setup-keys#types-of-setup-keys) using the CLI installer. +3. Install the NetBird agent on it using a [one-off setup key](/manage/peers/setup-keys#types-of-setup-keys) using the CLI installer. 4. Ensure this machine has access to both the internet and your LAN subnet. 5. Choose this machine as your routing peer and click **Continue** and **Add Routing Peer**.

- add-routing-peer-home-network

- add-routing-peer-home-network

diff --git a/src/pages/how-to/networks.mdx b/src/pages/manage/networks/index.mdx similarity index 89% rename from src/pages/how-to/networks.mdx rename to src/pages/manage/networks/index.mdx index f63be19b..52106c58 100644 --- a/src/pages/how-to/networks.mdx +++ b/src/pages/manage/networks/index.mdx @@ -10,11 +10,11 @@ Starting from version `0.35.0`, NetBird introduces Networks, a new concept that such as LANs, VPCs, or office networks, and manage access to internal resources without installing NetBird agent.

- high-level-dia + high-level-dia

- Networks replace the old [Network Routes](/how-to/routing-traffic-to-private-networks) concept, which is now deprecated. + Networks replace the old [Network Routes](/manage/network-routes/routing-traffic-to-private-networks) concept, which is now deprecated. Existing Network routes will continue to work as before, but we recommend migrating to Networks for better access management to your resources. @@ -26,7 +26,7 @@ making it easier to visualise and manage access to your internal resources. You different environments, such as office networks, cloud VPCs, or on-premise LANs.

- high-level-dia + high-level-dia

### Routing peers @@ -36,7 +36,7 @@ You can add as many routing peers as you need using single peers or groups to en You can define masquerading and priority for each routing peer.

- high-level-dia + high-level-dia

@@ -45,10 +45,10 @@ Resources are individual machines, services, or subnets within your internal net IP addresses, IP ranges, domain names, or wildcard domains (e.g., *.company.internal) when enabling [DNS wildcard routing](#enable-dns-wildcard-routing).

- resources + resources

- Support to exit nodes and site-2-site VPNs may become available in future releases. In the meantime you can use [Network routes](/how-to/routing-traffic-to-private-networks) add your exit-node routes and site-2-site routes. + Support to exit nodes and site-2-site VPNs may become available in future releases. In the meantime you can use [Network routes](/manage/network-routes/routing-traffic-to-private-networks) add your exit-node routes and site-2-site routes. ### Domain Resources @@ -107,7 +107,7 @@ On a technical level the feature works as follows: To manage access to resources, you can assign them to groups and create [access control policies](/manage/access-control/manage-network-access#creating-policies) to define which peers can access them. See the image below with an example resource `CRM`:

- resource-group + resource-group

Access control policies are rules that define which peers can access the resources in your network. You can create policies based on the source and destination groups, and the type of traffic allowed (e.g., TCP, UDP, ICMP). @@ -116,7 +116,7 @@ The peers belonging to the source groups will receive the resources linked to th See the example below with a policy that allows the group `Berlin Office` to access the internal CRM system:

- resource-acl + resource-acl

@@ -131,7 +131,7 @@ This is also useful for regular DNS routes when you want to resolve the domain n You can enable DNS resolution on the routing peer by accessing your account `Settings` > `Networks` > Enable DNS wildcard routing. See example below:

- settings-acl + settings-acl

@@ -158,9 +158,9 @@ You can enable DNS resolution on the routing peer by accessing your account `Set ## Use cases -- [Routing traffic to multiple IP resources](/how-to/routing-traffic-to-multiple-resources) -- [Accessing restricted website domain resources](/how-to/accessing-restricted-domain-resources) -- [Accessing entire domains within networks](/how-to/accessing-entire-domains-within-networks) +- [Routing traffic to multiple IP resources](/manage/networks/routing-traffic-to-multiple-resources) +- [Accessing restricted website domain resources](/manage/networks/accessing-restricted-domain-resources) +- [Accessing entire domains within networks](/manage/networks/accessing-entire-domains-within-networks) ## Get started

diff --git a/src/pages/how-to/routing-traffic-to-multiple-resources.mdx b/src/pages/manage/networks/routing-traffic-to-multiple-resources.mdx similarity index 66% rename from src/pages/how-to/routing-traffic-to-multiple-resources.mdx rename to src/pages/manage/networks/routing-traffic-to-multiple-resources.mdx index 447ab3be..5f521658 100644 --- a/src/pages/how-to/routing-traffic-to-multiple-resources.mdx +++ b/src/pages/manage/networks/routing-traffic-to-multiple-resources.mdx @@ -1,16 +1,16 @@ # Routing traffic to multiple IP resources -Adding routes to resources within on-premises or cloud is a common scenario for DevOps and Platform teams. In this guide, we will show you how to route traffic to multiple IP resources using NetBird's [Networks](/how-to/networks-concept) using [IP resources](/how-to/networks-concept#resources). +Adding routes to resources within on-premises or cloud is a common scenario for DevOps and Platform teams. In this guide, we will show you how to route traffic to multiple IP resources using NetBird's [Networks](/manage/networks/networks) using [IP resources](/manage/networks#resources). ## Example In the following scenario, we will cover the case where all users have restricted access to internal DNS servers in the internal network, and the DevOps team has full access to the entire network. The network address is `172.16.0.0/15` and DNS servers has the IPs `172.16.30.2` and `172.17.100.2`. -These IP ranges will be routed using [Routing peers](/how-to/networks-concept#routing-peers) running in the network. +These IP ranges will be routed using [Routing peers](/manage/networks#routing-peers) running in the network. ### Create a Network To create a Network, navigate to the `Networks` > `Networks` section in the NetBird dashboard:

- new-net-1 + new-net-1

Click on `Add Network` to follow a Wizard that will guide you through the steps to create a network and add resources to it. @@ -18,18 +18,18 @@ Click on `Add Network` to follow a Wizard that will guide you through the steps First, we fill out the network Name and Description as shown in the image below and click `Continue`:

- new-net2 + new-net2

### Add a routing peer Next we are asked to add a routing peer to the network. Let's click on `Add routing peer` and select a node from that VPC:

- new-example-routing-peer-1 + new-example-routing-peer-1

Click on `Continue` and then accept the defaults to add a routing peer by clicking on `Add Routing Peer`:

- new-routing-peer-2 + new-routing-peer-2

### Add the network resource @@ -37,7 +37,7 @@ Following the guide, we are asked to add a new resource. Click on `Add Resource` and enter the `Office network` name and use the IP range `172.16.0.0/15` as the address:

- new-example-resource-1 + new-example-resource-1

We can also assign a group to this resource; in this example, we will assign the group `office-network` to it. This way, we can create a policy that allows the DevOps team to access the entire IP range. @@ -48,18 +48,18 @@ resource to peers in the `DevOps` group. Click on `Create Policy` and fill out the fields as shown in the image below:

- new-resource-acl-1 + new-resource-acl-1

Click on `Continue` 2 times and then click on `Add Policy` to save the policy:

- new-resource-acl-2 + new-resource-acl-2

### Add the DNS server resources Now, let's add the DNS servers resources to the network. Click on `Add Resource` and enter the IP address of the first DNS server:

- new-example-resource-2 + new-example-resource-2

We will use the same group, `office-dns-servers`, for both resources, allowing all users to access the DNS servers. @@ -67,7 +67,7 @@ This time, when asked to create a policy, we will click on Later to skip it sinc Now, let's add another resource for the second DNS server:

- new-example-resource-3 + new-example-resource-3

### Add an access control policy for the DNS server resource @@ -76,24 +76,24 @@ the `All users` group. They will be granted access only to the `UDP` port `53` o Click on `Create Policy` and fill out the fields as shown in the image below:

- new-resource-acl-3 + new-resource-acl-3

Click on `Continue` 2 times and then click on `Add Policy` to save the policy:

- new-resource-acl-4 + new-resource-acl-4

This time, we made the Policy name a bit more generic to cover both DNS server addresses. ### View the network After completing the wizard, you will be able to see the network you just created in the Networks list:

- view-example-network-1 + view-example-network-1

To access a detailed view of the network, click on the network name:

- view-example-network-2 + view-example-network-2

You can edit or add more resources or routing peers to the network by clicking on the `Edit` buttons of each section in the detailed view. diff --git a/src/pages/how-to/access-internal-resources-from-autoscaled-environments.mdx b/src/pages/manage/peers/access-infrastructure/access-internal-resources-from-autoscaled-environments.mdx similarity index 86% rename from src/pages/how-to/access-internal-resources-from-autoscaled-environments.mdx rename to src/pages/manage/peers/access-infrastructure/access-internal-resources-from-autoscaled-environments.mdx index 6cf27fa4..0831e390 100644 --- a/src/pages/how-to/access-internal-resources-from-autoscaled-environments.mdx +++ b/src/pages/manage/peers/access-infrastructure/access-internal-resources-from-autoscaled-environments.mdx @@ -21,7 +21,7 @@ Let's dive into the process of using NetBird to manage network access in an auto To replicate this use case, you'll need: * A [NetBird account](https://app.netbird.io/) -* [NetBird](/how-to/installation) installed on your local machine +* [NetBird](/getting-started/install) installed on your local machine * A Kubernetes cluster (local or cloud-based) * `kubectl` installed and configured on your local machine * [Kubernetes metrics server](https://github.com/kubernetes-sigs/metrics-server) @@ -40,7 +40,7 @@ This process will demonstrate how NetBird simplifies secure network access in au ## 1. Creating a NetBird Setup Key for Kubernetes -The first step in this process is [creating a NetBird setup key](/how-to/register-machines-using-setup-keys) for your Kubernetes cluster. This setup key serves as a secure authentication token, allowing your cluster's pods to join your NetBird network seamlessly. +The first step in this process is [creating a NetBird setup key](/manage/peers/setup-keys) for your Kubernetes cluster. This setup key serves as a secure authentication token, allowing your cluster's pods to join your NetBird network seamlessly. To create an appropriate setup key for this use case: @@ -55,7 +55,7 @@ To create an appropriate setup key for this use case: Here's an example: -![NetBird Setup Keys](/docs-static/img/how-to-guides/setup-keys-access-internal-resources-autoscaled-env/autoscaled-01.png) +![NetBird Setup Keys](/docs-static/img/manage/peers/access-infrastructure/setup-keys-access-internal-resources-autoscaled-env/autoscaled-01.png) This configuration allows for dynamic management of your Kubernetes pods within the NetBird network. As your cluster scales up, new pods will seamlessly join the network. When pods are terminated or remain offline, they'll be automatically removed, maintaining a clean and efficient network topology. @@ -67,7 +67,7 @@ Follow these steps to configure the network route: In the NetBird dashboard, navigate to the `Network Routes` section and click on `Add Route` to create a new network route. -![NetBird Add Route](/docs-static/img/how-to-guides/setup-keys-access-internal-resources-autoscaled-env/autoscaled-02.png) +![NetBird Add Route](/docs-static/img/manage/peers/access-infrastructure/setup-keys-access-internal-resources-autoscaled-env/autoscaled-02.png) * In the `Network Range` field, enter the private IP range of your Kubernetes Pods. This is typically something like `10.0.0.0/16` for many Kubernetes clusters, but it may vary depending on your specific setup. If you're unsure, you can check this range in your Kubernetes configuration or consult your cluster administrator. * Navigate to the `Peer Group` tab and select your Kubernetes cluster's group as the routing peer. This group should contain all your cluster's nodes and will automatically include all the Pods running on these nodes. @@ -75,15 +75,15 @@ In the NetBird dashboard, navigate to the `Network Routes` section and click on * Review your settings to ensure everything is correct. The route you're creating will allow traffic from your local machine (in the distribution group) to reach the Kubernetes Pods (in the peer group) via the specified network range. * Once you're satisfied with the configuration, click the `Continue` button. -![NetBird Create a New Route](/docs-static/img/how-to-guides/setup-keys-access-internal-resources-autoscaled-env/autoscaled-03.png) +![NetBird Create a New Route](/docs-static/img/manage/peers/access-infrastructure/setup-keys-access-internal-resources-autoscaled-env/autoscaled-03.png) Provide a descriptive name for your route, such as `NetBird K8s Demo`. -![NetBird Route Name](/docs-static/img/how-to-guides/setup-keys-access-internal-resources-autoscaled-env/autoscaled-04.png) +![NetBird Route Name](/docs-static/img/manage/peers/access-infrastructure/setup-keys-access-internal-resources-autoscaled-env/autoscaled-04.png) This setup creates a secure pathway for your local machine to communicate with the Pods in your Kubernetes cluster through the NetBird network. As new Pods are created or removed due to autoscaling, they'll automatically be included in or excluded from this route, maintaining seamless access without manual intervention. -![NetBird Network Route Created](/docs-static/img/how-to-guides/setup-keys-access-internal-resources-autoscaled-env/autoscaled-06.png) +![NetBird Network Route Created](/docs-static/img/manage/peers/access-infrastructure/setup-keys-access-internal-resources-autoscaled-env/autoscaled-06.png) ## 3. Setting Up Access Policies for Secure Communication @@ -100,16 +100,16 @@ To create a new access policy: Your access policy must look similar to this: -![NetBird Access Policy](/docs-static/img/how-to-guides/setup-keys-access-internal-resources-autoscaled-env/autoscaled-07.png) +![NetBird Access Policy](/docs-static/img/manage/peers/access-infrastructure/setup-keys-access-internal-resources-autoscaled-env/autoscaled-07.png) Click `Continue` and name your policy: -![NetBird Access Policy Name](/docs-static/img/how-to-guides/setup-keys-access-internal-resources-autoscaled-env/autoscaled-08.png) +![NetBird Access Policy Name](/docs-static/img/manage/peers/access-infrastructure/setup-keys-access-internal-resources-autoscaled-env/autoscaled-08.png) Once you save your policy, it is a good practice to disable or modify the default `All` group policy to prevent unrestricted access. -![NetBird Access Policies](/docs-static/img/how-to-guides/setup-keys-access-internal-resources-autoscaled-env/autoscaled-09.png) +![NetBird Access Policies](/docs-static/img/manage/peers/access-infrastructure/setup-keys-access-internal-resources-autoscaled-env/autoscaled-09.png) This tailored access policy ensures that only authorized devices (your local machine) can communicate with the Kubernetes cluster, significantly improving your network's security posture. As your environment scales, this policy will automatically apply to new pods, maintaining consistent access control. @@ -212,7 +212,7 @@ kubectl apply -f quote-app.yaml After a few seconds, the app will appear in NetBird's `Peers` dashboard. If you hover over the `Assigned Groups`, you'll notice the app automatically joined the group `Kubernetes Cluster` as expected. -![NetBird App Joined NetBird](/docs-static/img/how-to-guides/setup-keys-access-internal-resources-autoscaled-env/autoscaled-10.png) +![NetBird App Joined NetBird](/docs-static/img/manage/peers/access-infrastructure/setup-keys-access-internal-resources-autoscaled-env/autoscaled-10.png) ## 5. Configuring Horizontal Pod Autoscaler (HPA) @@ -311,19 +311,19 @@ quote-hpa Deployment/quote cpu: 1%/20% 1 3 1 32m If you go to NetBird `Peers` dashboard, you will see new peers automatically joining the network as pods scale up. -![NetBird Two Peers](/docs-static/img/how-to-guides/setup-keys-access-internal-resources-autoscaled-env/autoscaled-11.png) +![NetBird Two Peers](/docs-static/img/manage/peers/access-infrastructure/setup-keys-access-internal-resources-autoscaled-env/autoscaled-11.png) As you can see, all peers join the same group, meaning all share the same access policy you defined. -![NetBird Three Peers](/docs-static/img/how-to-guides/setup-keys-access-internal-resources-autoscaled-env/autoscaled-12.png) +![NetBird Three Peers](/docs-static/img/manage/peers/access-infrastructure/setup-keys-access-internal-resources-autoscaled-env/autoscaled-12.png) Conversely, when scaling down, peers are removed from the group and then terminated. -![NetBird Scaling Down Peers](/docs-static/img/how-to-guides/setup-keys-access-internal-resources-autoscaled-env/autoscaled-13.png) +![NetBird Scaling Down Peers](/docs-static/img/manage/peers/access-infrastructure/setup-keys-access-internal-resources-autoscaled-env/autoscaled-13.png) When ready, stop the load generator by pressing `Ctrl+C` in its terminal window; eventually, you will see only one app peer in the dashboard. -![NetBird Initial State](/docs-static/img/how-to-guides/setup-keys-access-internal-resources-autoscaled-env/autoscaled-14.png) +![NetBird Initial State](/docs-static/img/manage/peers/access-infrastructure/setup-keys-access-internal-resources-autoscaled-env/autoscaled-14.png) This demonstration showcases NetBird's powerful capabilities in seamlessly managing network connections within a dynamic, autoscaling Kubernetes environment. NetBird automatically adapts to your cluster's changing topology without any manual intervention, ensuring secure and efficient connectivity as pods scale up or down. This automation saves significant time and effort in network management and enhances your environment's security posture. By integrating NetBird, you're implementing a robust, scalable networking solution that keeps pace with your application's demands while maintaining strict access controls. diff --git a/src/pages/how-to/peer-approval-for-remote-worker-access.mdx b/src/pages/manage/peers/access-infrastructure/peer-approval-for-remote-worker-access.mdx similarity index 73% rename from src/pages/how-to/peer-approval-for-remote-worker-access.mdx rename to src/pages/manage/peers/access-infrastructure/peer-approval-for-remote-worker-access.mdx index 8b320144..73d08b82 100644 --- a/src/pages/how-to/peer-approval-for-remote-worker-access.mdx +++ b/src/pages/manage/peers/access-infrastructure/peer-approval-for-remote-worker-access.mdx @@ -16,7 +16,7 @@ This guide introduces NetBird's Peer Approval as a robust solution for secure re * **Enhancing Access Control**: Offering granular control over network resources, allowing organizations to tailor access based on user roles and device status. * **Improving Scalability**: Facilitating easy onboarding and offboarding of remote workers, including freelancers, without compromising network security. -Let's explore the step-by-step process of implementing [Peer Approval with NetBird](/how-to/approve-peers) to ensure that only trusted devices can access your network. +Let's explore the step-by-step process of implementing [Peer Approval with NetBird](/manage/peers/approve-peers) to ensure that only trusted devices can access your network. ## Prerequisites @@ -24,7 +24,7 @@ To replicate this use case, you'll need the following prerequisites: * An main [NetBird account](https://app.netbird.io/) with administrative privileges. * A secondary email address not linked to any NetBird account to simulate the freelancer's email. -* [NetBird installed](/how-to/installation) on the main device. +* [NetBird installed](/getting-started/install) on the main device. With these prerequisites in place, you're ready to simulate granting network access to a temporary remote worker using NetBird's Peer Approval feature by: @@ -41,15 +41,15 @@ Before onboarding remote workers, ensure your organization has appropriate [acce Navigate to `Access Control > Policies` in the NetBird admin console, then click `Add Policy` or edit an existing one to define these restrictions. Here's a sample policy that grant any member of the `Freelancers` group access to the resources in the group `On-Premise-DB`. -![NetBird Freelancer Access Control Policy](/docs-static/img/how-to-guides/peer-approval-for-remote-worker-access/peer-0-01.png) +![NetBird Freelancer Access Control Policy](/docs-static/img/manage/peers/access-infrastructure/peer-approval-for-remote-worker-access/peer-0-01.png) If necessary, you can also set [posture checks](/manage/access-control/posture-checks) for this policy. -![NetBird Freelancer Posture Check](/docs-static/img/how-to-guides/peer-approval-for-remote-worker-access/peer-0-02.png) +![NetBird Freelancer Posture Check](/docs-static/img/manage/peers/access-infrastructure/peer-approval-for-remote-worker-access/peer-0-02.png) Moreover, it is a best practice to disable the `Default` policy to enforce only restrictive, custom-defined access controls. -![NetBird Access Policy View](/docs-static/img/how-to-guides/peer-approval-for-remote-worker-access/peer-0-03.png) +![NetBird Access Policy View](/docs-static/img/manage/peers/access-infrastructure/peer-approval-for-remote-worker-access/peer-0-03.png) With appropriate access policies in place, you're ready to enable NetBird's Peer Approval feature. @@ -57,7 +57,7 @@ With appropriate access policies in place, you're ready to enable NetBird's Peer To enable peer approval, go to `Settings > Authentication` and activate the `Peer approval` toggle, then click `Save Changes`. -![NetBird Freelancer Device Dashboard](/docs-static/img/how-to-guides/peer-approval-for-remote-worker-access/peer-a-02.png) +![NetBird Freelancer Device Dashboard](/docs-static/img/manage/peers/access-infrastructure/peer-approval-for-remote-worker-access/peer-a-02.png) With `Peer Approval` activated, new members will see an `Approval required` message when joining. Administrators must grant access, ensuring only vetted users enter the NetBird network, thus enhancing overall security. @@ -65,47 +65,47 @@ With `Peer Approval` activated, new members will see an `Approval required` mess To invite a new user to join your NetBird network, go to `Team > Users` and click the `Invite User` button. -![NetBird Invite Users](/docs-static/img/how-to-guides/peer-approval-for-remote-worker-access/peer-a-03.png) +![NetBird Invite Users](/docs-static/img/manage/peers/access-infrastructure/peer-approval-for-remote-worker-access/peer-a-03.png) A pop-up window appears for new user registration. Enter the user's name, email address, and select the `Freelancers` group from the dropdown menu. NetBird's auto-assignment feature instantly links the new user to the `Freelancers` group upon network entry, automatically applying the associated access policy you just created. -![NetBird Invite User Pop Up](/docs-static/img/how-to-guides/peer-approval-for-remote-worker-access/peer-a-04.png) +![NetBird Invite User Pop Up](/docs-static/img/manage/peers/access-infrastructure/peer-approval-for-remote-worker-access/peer-a-04.png) After clicking `Send Invitation`, you'll return to the `Users` dashboard. Here, the new user appears with a `Pending` status, awaiting their acceptance of the invitation and any required approvals. -![NetBird New User Pending](/docs-static/img/how-to-guides/peer-approval-for-remote-worker-access/peer-a-05.png) +![NetBird New User Pending](/docs-static/img/manage/peers/access-infrastructure/peer-approval-for-remote-worker-access/peer-a-05.png) ## 4. Installing NetBird On The Remote Worker Device Access the secondary email account used to mimic the freelancer. In the inbox, locate the invitation email from NetBird. This email contains a secure link to join your organization's NetBird network, initiating the freelancer's onboarding process. -![Email NetBird Invitation](/docs-static/img/how-to-guides/peer-approval-for-remote-worker-access/peer-a-06.png) +![Email NetBird Invitation](/docs-static/img/manage/peers/access-infrastructure/peer-approval-for-remote-worker-access/peer-a-06.png) After clicking the invitation link, you'll be directed to NetBird's secure account creation page. Follow the on-screen instructions to create a new password. -![NetBird Login](/docs-static/img/how-to-guides/peer-approval-for-remote-worker-access/peer-a-07.png) +![NetBird Login](/docs-static/img/manage/peers/access-infrastructure/peer-approval-for-remote-worker-access/peer-a-07.png) -Upon logging in, you'll arrive at NetBird's Peers dashboard. Locate and click the `Add Peer` button to initiate the [Getting Started](/how-to/getting-started) Wizard, which guides you through the process of adding a new device to the network. +Upon logging in, you'll arrive at NetBird's Peers dashboard. Locate and click the `Add Peer` button to initiate the [Getting Started](/getting-started) Wizard, which guides you through the process of adding a new device to the network. -![NetBird Freelancer Peers Dashboard](/docs-static/img/how-to-guides/peer-approval-for-remote-worker-access/peer-a-08.png) +![NetBird Freelancer Peers Dashboard](/docs-static/img/manage/peers/access-infrastructure/peer-approval-for-remote-worker-access/peer-a-08.png) -The wizard will detect your operating system and provide detailed step-by-step instructions on how to [install NetBird](/how-to/installation). +The wizard will detect your operating system and provide detailed step-by-step instructions on how to [install NetBird](/getting-started/install). -![NetBird Freelancer Install Client](/docs-static/img/how-to-guides/peer-approval-for-remote-worker-access/peer-a-09.png) +![NetBird Freelancer Install Client](/docs-static/img/manage/peers/access-infrastructure/peer-approval-for-remote-worker-access/peer-a-09.png) During your initial connection to NetBird, a system dialog will appear requesting authorization. This prompt asks for permission to access your profile and email information, which is necessary for NetBird to establish your account and network access. -![NetBird Authorize App](/docs-static/img/how-to-guides/peer-approval-for-remote-worker-access/peer-a-10.png) +![NetBird Authorize App](/docs-static/img/manage/peers/access-infrastructure/peer-approval-for-remote-worker-access/peer-a-10.png) After completing the installation, your device will appear in the Peers dashboard. Hover over the `+1` in the `Assigned Groups` column to confirm the device has automaticaclly assigned to the `Freelancers` group as expected. -![NetBird Freelancer Peers Listed](/docs-static/img/how-to-guides/peer-approval-for-remote-worker-access/peer-a-11.png) +![NetBird Freelancer Peers Listed](/docs-static/img/manage/peers/access-infrastructure/peer-approval-for-remote-worker-access/peer-a-11.png) ## 5. Approving Peers Back to your primary account, you'll notice the newly added user's status is now displayed as `Active` in the `Users` dashboard. This status update confirms that the device has successfully added to the NetBird network and is ready for secure communication. -![NetBird Peers Dashboard](/docs-static/img/how-to-guides/peer-approval-for-remote-worker-access/peer-a-12.png) +![NetBird Peers Dashboard](/docs-static/img/manage/peers/access-infrastructure/peer-approval-for-remote-worker-access/peer-a-12.png) However, your approval is required before the user's device can fully connect to the NetBird network. To grant network access: @@ -114,15 +114,15 @@ However, your approval is required before the user's device can fully connect to * Click the `Approve` button next to the device * Confirm the action when prompted -![NetBird Approve New Peer](/docs-static/img/how-to-guides/peer-approval-for-remote-worker-access/peer-a-13.png) +![NetBird Approve New Peer](/docs-static/img/manage/peers/access-infrastructure/peer-approval-for-remote-worker-access/peer-a-13.png) After approval, the device is granted full access to network resources allocated to the `Freelancers` group. The freelancer can now view all accessible network resources in their `Peers` dashboard: -![NetBird Freelancer Peers View](/docs-static/img/how-to-guides/peer-approval-for-remote-worker-access/peer-a-16.png) +![NetBird Freelancer Peers View](/docs-static/img/manage/peers/access-infrastructure/peer-approval-for-remote-worker-access/peer-a-16.png) Likewise, as an administrator, you can click on the user's device to see which resources and peers the freelancer has access to. -![NetBird Main Account Peers View](/docs-static/img/how-to-guides/peer-approval-for-remote-worker-access/peer-a-17.png) +![NetBird Main Account Peers View](/docs-static/img/manage/peers/access-infrastructure/peer-approval-for-remote-worker-access/peer-a-17.png) ## 6. Automating Peer Approval with EDR Integration (optional) @@ -137,7 +137,7 @@ Key aspects of NetBird's EDR integration: To activate this feature, navigate to `Integrations > EDR` and activate the CrowdStrike integration toggle. -![NetBird EDR Integration](/docs-static/img/how-to-guides/peer-approval-for-remote-worker-access/peer-a-18.png) +![NetBird EDR Integration](/docs-static/img/manage/peers/access-infrastructure/peer-approval-for-remote-worker-access/peer-a-18.png) For more information regarding NetBird's EDR integration, refer to the [documentation](/manage/access-control/endpoint-detection-and-response) diff --git a/src/pages/how-to/secure-remote-webserver-access.mdx b/src/pages/manage/peers/access-infrastructure/secure-remote-webserver-access.mdx similarity index 88% rename from src/pages/how-to/secure-remote-webserver-access.mdx rename to src/pages/manage/peers/access-infrastructure/secure-remote-webserver-access.mdx index 4965ed8b..65f2db54 100644 --- a/src/pages/how-to/secure-remote-webserver-access.mdx +++ b/src/pages/manage/peers/access-infrastructure/secure-remote-webserver-access.mdx @@ -24,7 +24,7 @@ For this use case, you'll need the following prerequisites: * A [NetBird account](https://app.netbird.io/) * Single Sign-On (SSO) authentication set up with your preferred identity provider (optional but recommended for enhanced security). -* [NetBird installed](/how-to/installation) on your local machine. +* [NetBird installed](/getting-started/install) on your local machine. * A virtual machine running your target web server, configured to accept incoming SSH connections. With prerequisites in place, you'll be prepared to establish an encrypted point-to-point connection between your local machine and the remote web server by: @@ -37,16 +37,16 @@ With prerequisites in place, you'll be prepared to establish an encrypted point- Login to NetBird and navigate to `Peers`. Ensure you see your local peer connected. -![NetBird Local Peer](/docs-static/img/how-to-guides/peers/owyUeUn.png) +![NetBird Local Peer](/docs-static/img/manage/peers/local-peer.png) To add your remote web server to NetBird's peer network, first you need to generate a setup key: * Navigate to `Setup Keys` in the left menu * Click `Create Setup Key` -* Configure the key by assigning it a descriptive name (e.g., "Remote Web Server"), setting an expiration date, and defining auto-assigned groups (if required). Read the documentation for [detailed setup key configuration](/how-to/register-machines-using-setup-keys). +* Configure the key by assigning it a descriptive name (e.g., "Remote Web Server"), setting an expiration date, and defining auto-assigned groups (if required). Read the documentation for [detailed setup key configuration](/manage/peers/setup-keys). * Copy the generated key to a secure location as you'll need it shortly -![NetBird Creating Setup Key](/docs-static/img/how-to-guides/peers/jQ5rhEb.png) +![NetBird Creating Setup Key](/docs-static/img/manage/peers/new-key-remote-web-server.png) Next, install the NetBird agent on the VM. @@ -98,7 +98,7 @@ Peers count: 0/0 Connected Now, go back to NetBird's `Peers` dashboard and ensure your remote web server is connected. -![NetBird Peers Network](/docs-static/img/how-to-guides/peers/8I1WVEx.png) +![NetBird Peers Network](/docs-static/img/manage/peers/netbird-peer-page.png) ## 2. Configuring NetBird Access Control Policies With both peers now connected to NetBird, the next step is to configure access control rules. This step is essential to define and restrict who can access the remote server, enhancing security by limiting connections to authorized users or devices only. @@ -118,7 +118,7 @@ For this specific use case, we've implemented a simple access policy: This policy restricts SSH access to the `Testing Environment`, permitting only authorized members from the group `Freelancers` to connect. -![NetBird Access Policy](/docs-static/img/how-to-guides/peers/AgB9Asr.png) +![NetBird Access Policy](/docs-static/img/manage/access-control/update-policy.png) After establishing the policy, assign peers to their respective groups. To add the remote web server to the `Testing Environment` group: @@ -126,18 +126,18 @@ After establishing the policy, assign peers to their respective groups. To add t * Click on the name of the peer you want to edit, in this case, `webserver` * Find the `Assigned Groups` field and select `Testing Environment` from the dropdown list. -![NetBird Web Server Peer](/docs-static/img/how-to-guides/peers/QXb6lLs.png) +![NetBird Web Server Peer](/docs-static/img/manage/peers/netbird-peer-page.png) While you're there, take note of the IP addresses listed on the left. Use the quick copy buttons to get `NetBird IP-Address` and `Domain Name`. Alternatively, you can hover over the peer in the peers' list and copy the IP addresses as shown below: -![NetBird IP Addresses](/docs-static/img/how-to-guides/peers/EVZssES.png) +![NetBird IP Addresses](/docs-static/img/manage/peers/netbird-ip-dns-preview.png) With your remote server configured and the corresponding access policy enabled, the final step is to assign users to the appropriate group: * Locate your user in the peers' list and click on it * Find the `Assigned Groups` field and select `Freelancers` from the dropdown list. -![NetBird Local User Peer](/docs-static/img/how-to-guides/peers/LoNxwd4.png) +![NetBird Local User Peer](/docs-static/img/manage/peers/netbird-peer-page.png) ## 3. Establishing a Secure SSH Connection to Access the Internal Web Service @@ -145,11 +145,11 @@ NetBird streamlines secure connections without traditional firewall complexities To verify your setup, simply ping the web server from a third-party device outside of the NetBird network using the web server's NetBird-assigned IP: -![Terminal No Access to Web Server](/docs-static/img/how-to-guides/peers/iHiFujr.png) +![Terminal No Access to Web Server](/docs-static/img/manage/peers/ping-netbird-ip.png) There is no response from the host. Now, ping the web server from your configured local machine: -![Terminal Access to Web Server](/docs-static/img/how-to-guides/peers/HKsAcFE.png) +![Terminal Access to Web Server](/docs-static/img/manage/peers/ping-netbird-ip-2.png) As expected, all packets were transmitted. Now, you can securely SSH into your remote web server from your local peer, either using the NetBird-assigned domain name or IP address: @@ -157,7 +157,7 @@ As expected, all packets were transmitted. Now, you can securely SSH into your r This straightforward test confirms your successful implementation of a secure, firewall-free connection to your remote web server via NetBird, demonstrating its power in simplifying robust network security. -![Terminal Fastfetch from Web Server](/docs-static/img/how-to-guides/peers/YoECY8k.png) +![Terminal Fastfetch from Web Server](/docs-static/img/manage/peers/web-server-fastfetch.png) ## Get Started diff --git a/src/pages/how-to/setup-keys-add-servers-to-network.mdx b/src/pages/manage/peers/access-infrastructure/setup-keys-add-servers-to-network.mdx similarity index 90% rename from src/pages/how-to/setup-keys-add-servers-to-network.mdx rename to src/pages/manage/peers/access-infrastructure/setup-keys-add-servers-to-network.mdx index a01f638f..7425962e 100644 --- a/src/pages/how-to/setup-keys-add-servers-to-network.mdx +++ b/src/pages/manage/peers/access-infrastructure/setup-keys-add-servers-to-network.mdx @@ -8,7 +8,7 @@ The problem with conventional server and container network integration methods i * **Scalability Limitations**: As infrastructure grows, the complexity of managing network access for numerous servers and containers increases exponentially. * **Security Risks**: Manual processes can lead to human errors, potentially exposing servers to unauthorized access or creating security loopholes in the network. -This guide introduces [NetBird's Setup Keys](/how-to/register-machines-using-setup-keys) as an elegant solution for seamlessly and securely adding servers and containers to your network by: +This guide introduces [NetBird's Setup Keys](/manage/peers/setup-keys) as an elegant solution for seamlessly and securely adding servers and containers to your network by: * **Streamlining Deployment**: Providing a simple, automated way to connect new servers and containers to your NetBird network with minimal manual intervention. * **Facilitating Scalability**: Enabling rapid expansion of your network infrastructure without compromising on security or operational efficiency. @@ -16,7 +16,7 @@ This guide introduces [NetBird's Setup Keys](/how-to/register-machines-using-set This approach significantly reduces deployment time, ensures consistent and secure network configurations, and supports seamless scalability. -Let's dive into the step-by-step process of using [NetBird's Setup Keys](/how-to/register-machines-using-setup-keys) to securely add a server with a Docker container to your network. +Let's dive into the step-by-step process of using [NetBird's Setup Keys](/manage/peers/setup-keys) to securely add a server with a Docker container to your network. ## Prerequisites @@ -38,7 +38,7 @@ This process will demonstrate how Setup Keys simplify and secure the addition of ## Creating a Setup Key in Your NetBird Account -To seamlessly integrate virtual machines or Docker containers into your NetBird network, you'll start by creating a setup key. While [NetBird's documentation offers comprehensive guidance on this process](https://docs.netbird.io/how-to/register-machines-using-setup-keys), let's quickly review the essential steps: +To seamlessly integrate virtual machines or Docker containers into your NetBird network, you'll start by creating a setup key. While [NetBird's documentation offers comprehensive guidance on this process](https://docs.netbird.io/manage/peers/setup-keys), let's quickly review the essential steps: * Access your NetBird dashboard * Navigate to the `Setup Keys` section @@ -51,7 +51,7 @@ To seamlessly integrate virtual machines or Docker containers into your NetBird Here's an example: -![NetBird Generating Setup Key](/docs-static/img/how-to-guides/setup-keys-add-servers-to-network/setup-keys-add-server-01.png) +![NetBird Generating Setup Key](/docs-static/img/manage/peers/access-infrastructure/setup-keys-add-servers-to-network/setup-keys-add-server-01.png) This setup key will serve as your secure passport for adding both your VM and Docker container to the NetBird network, ensuring a consistent integration process. @@ -130,7 +130,7 @@ sudo systemctl enable netbird Finally, log into your NetBird dashboard and navigate to the `Peers` section to confirm your VM is listed and connected. -![NetBird Peers View](/docs-static/img/how-to-guides/setup-keys-add-servers-to-network/setup-keys-add-server-02.png) +![NetBird Peers View](/docs-static/img/manage/peers/access-infrastructure/setup-keys-add-servers-to-network/setup-keys-add-server-02.png) By using the setup key, you've securely added your VM to the NetBird network with minimal manual configuration, demonstrating the efficiency and security benefits of this approach. @@ -174,7 +174,7 @@ Now that your VM is connected to the NetBird secure network, you can verify the To locate the NetBird-assigned IP or domain, go to the `Peers` page in your NetBird dashboard and hover your cursor over the VM's name. -![NetBird Peers IP Address or Domain](/docs-static/img/how-to-guides/setup-keys-add-servers-to-network/setup-keys-add-server-03.png) +![NetBird Peers IP Address or Domain](/docs-static/img/manage/peers/access-infrastructure/setup-keys-add-servers-to-network/setup-keys-add-server-03.png) Verify connectivity to the VM from any NetBird-connected device using: @@ -191,7 +191,7 @@ $ curl 100.85.148.249:8080 Alternatively, you can go to `http://VM_NETBIRD_DOMAIN:8080` using your browser: -![NetBird Welcome Page](/docs-static/img/how-to-guides/setup-keys-add-servers-to-network/setup-keys-add-server-04.png) +![NetBird Welcome Page](/docs-static/img/manage/peers/access-infrastructure/setup-keys-add-servers-to-network/setup-keys-add-server-04.png) Keep in mind that this tutorial used the default `All` group for simplicity. However, implementing [NetBird's Access Policy](https://docs.netbird.io/manage/access-control/manage-network-access) to restrict peer-to-peer connections to specific user groups is a best practice for gaining granular control over resource access, thus improving your network's overall security posture in various scenarios. diff --git a/src/pages/how-to/add-machines-to-your-network.mdx b/src/pages/manage/peers/add-machines-to-your-network.mdx similarity index 78% rename from src/pages/how-to/add-machines-to-your-network.mdx rename to src/pages/manage/peers/add-machines-to-your-network.mdx index 9ed552a1..587c1175 100644 --- a/src/pages/how-to/add-machines-to-your-network.mdx +++ b/src/pages/manage/peers/add-machines-to-your-network.mdx @@ -19,19 +19,19 @@ To add a new peer to your network follow these steps: 2. Hit `Add Peer` button

- high-level-dia + high-level-dia

3. Follow the instructions

- high-level-dia + high-level-dia

4. Refresh the Peers tab, and it will display new machines

- high-level-dia + high-level-dia

## What's next? @@ -39,9 +39,9 @@ To add a new peer to your network follow these steps: Here are a few links that might be handy as you venture further into NetBird: - [Add users to your network](/how-to/add-users-to-your-network) -- [Require a peer approval from the administrator](/how-to/approve-peers) +- [Require a peer approval from the administrator](/manage/peers/approve-peers) - [Allow only managed devices in the network](/manage/access-control/endpoint-detection-and-response) -- [Use setup keys to automate NetBird deployments](/how-to/register-machines-using-setup-keys) +- [Use setup keys to automate NetBird deployments](/manage/peers/setup-keys)

diff --git a/src/pages/how-to/approve-peers.mdx b/src/pages/manage/peers/approve-peers.mdx similarity index 89% rename from src/pages/how-to/approve-peers.mdx rename to src/pages/manage/peers/approve-peers.mdx index b57bd688..c70cc849 100644 --- a/src/pages/how-to/approve-peers.mdx +++ b/src/pages/manage/peers/approve-peers.mdx @@ -20,7 +20,7 @@ For details on the peer approval feature, part of our "Getting started with NetB To enable peer approval, navigate to [Settings » Authentication](https://app.netbird.io/settings) and enable 'Peer approval'.

- peer-approval-settings + peer-approval-settings

@@ -31,7 +31,7 @@ To enable peer approval, navigate to [Settings » Authentication](https://a To approve a peer, navigate to the [peers tab](https://app.netbird.io/peers) and click the `Approve` button on the right side of the peers table.

- peer-needs-approval + peer-needs-approval

## Automate peer approval with EDR integrations diff --git a/src/pages/how-to/browser-client.mdx b/src/pages/manage/peers/browser-client.mdx similarity index 86% rename from src/pages/how-to/browser-client.mdx rename to src/pages/manage/peers/browser-client.mdx index cf4b77a9..a497699d 100644 --- a/src/pages/how-to/browser-client.mdx +++ b/src/pages/manage/peers/browser-client.mdx @@ -21,7 +21,7 @@ Before using the Browser Client, ensure: 1. **Admin privileges** - You must be logged into the NetBird dashboard with an admin account (required for temporary ACL creation) 2. **Protocol requirements**: - - **For SSH**: The NetBird SSH server must be enabled on the target peer. Learn more about [enabling SSH access](/how-to/ssh). + - **For SSH**: The NetBird SSH server must be enabled on the target peer. Learn more about [enabling SSH access](/manage/peers/ssh). - **For RDP**: The RDP server must be enabled on the target machine 3. **Modern browser** - You're using an up-to-date version of Chrome, Firefox, Edge, or Safari with WebAssembly support @@ -36,7 +36,7 @@ The easiest way to connect is directly from the Peers dashboard: 3. In the **Remote Access** section, click the **SSH** or **RDP** button

- peer-list-view + peer-list-view

### SSH Connection @@ -47,11 +47,11 @@ When connecting via SSH: 2. A credentials modal will appear - Before connecting via SSH, make sure that SSH Access is enabled both on the target peer and in the NetBird Dashboard. Learn more about [enabling SSH access](/how-to/ssh). + Before connecting via SSH, make sure that SSH Access is enabled both on the target peer and in the NetBird Dashboard. Learn more about [enabling SSH access](/manage/peers/ssh).

- ssh-credentials-modal + ssh-credentials-modal

3. Adjust the SSH username in the credentials modal if required @@ -59,7 +59,7 @@ When connecting via SSH: 5. A terminal window will open in your browser with your SSH session

- ssh-terminal-connected + ssh-terminal-connected

### RDP Connection @@ -70,7 +70,7 @@ For RDP access: 2. A new window will open with a credentials modal - enter your RDP server credentials:

- rdp-credentials-modal + rdp-credentials-modal

- **Username**: Your username (can include domain: `DOMAIN\username`) @@ -80,7 +80,7 @@ For RDP access: 4. In the same window, a certificate warning dialog will appear - review the certificate details

- rdp-certificate-modal + rdp-certificate-modal

@@ -91,7 +91,7 @@ For RDP access: 6. The remote desktop will load in the window

- rdp-connected-session + rdp-connected-session

## Connection Management diff --git a/src/pages/how-to/db-workload-migration.mdx b/src/pages/manage/peers/connect-site-to-site/db-workload-migration.mdx similarity index 93% rename from src/pages/how-to/db-workload-migration.mdx rename to src/pages/manage/peers/connect-site-to-site/db-workload-migration.mdx index ea3d1cb4..6302a4ed 100644 --- a/src/pages/how-to/db-workload-migration.mdx +++ b/src/pages/manage/peers/connect-site-to-site/db-workload-migration.mdx @@ -166,16 +166,16 @@ With the on-premise environment ready, you can install NetBird on the destinatio Login to NetBird and navigate to `Peers`. Ensure the source instance, the one hosting the database, is connected. -![NetBird Local Peer](/docs-static/img/how-to-guides/db-workload-migration/workload-migration-01.png) +![NetBird Local Peer](/docs-static/img/manage/peers/connect-site-to-site/db-workload-migration/workload-migration-01.png) Next, generate a setup key for enhanced security when connecting your remote workload to the NetBird network: * Go to `Setup Keys` in the left menu * Click `Create Setup Key` -* Enter a descriptive name for the setup key (e.g., "Remote Workload 01"). Also, set an expiration date and define auto-assigned groups (if required). You can find [more information regarding setup key options in the documentation](https://docs.netbird.io/how-to/register-machines-using-setup-keys). +* Enter a descriptive name for the setup key (e.g., "Remote Workload 01"). Also, set an expiration date and define auto-assigned groups (if required). You can find [more information regarding setup key options in the documentation](https://docs.netbird.io/manage/peers/setup-keys). * Copy the generated key since you'll need it shortly -![NetBird Creating Setup Key](/docs-static/img/how-to-guides/db-workload-migration/workload-migration-02.png) +![NetBird Creating Setup Key](/docs-static/img/manage/peers/connect-site-to-site/db-workload-migration/workload-migration-02.png) To install the NetBird agent on the remote instance, run the following command: @@ -241,7 +241,7 @@ Peers count: 0/0 Connected If everything goes as expected, you will see your remote workload in NetBird's `Peers` dashboard. -![NetBird Peers Network](/docs-static/img/how-to-guides/db-workload-migration/workload-migration-03.png) +![NetBird Peers Network](/docs-static/img/manage/peers/connect-site-to-site/db-workload-migration/workload-migration-03.png) ## 3. Setting Up NetBird's Access Control for Secure Data Transfer @@ -262,7 +262,7 @@ For this use case, we disabled the `Default` policy and created the following on This policy restricts access to the local environment where the database is running by only allowing the members of the group `Remote Workloads` to connect. -![NetBird Access Policy](/docs-static/img/how-to-guides/db-workload-migration/workload-migration-04.png) +![NetBird Access Policy](/docs-static/img/manage/peers/connect-site-to-site/db-workload-migration/workload-migration-04.png) The next step is to assign peers to their respective groups. To add the remote instance to the `Remote Workloads` group: @@ -270,14 +270,14 @@ The next step is to assign peers to their respective groups. To add the remote i * Click on `remote-workload` (or any name you gave to the remote instance) * Find the `Assigned Groups` field and select `Remote Workloads` from the dropdown list. -![NetBird Remote Peer](/docs-static/img/how-to-guides/db-workload-migration/workload-migration-05.png) +![NetBird Remote Peer](/docs-static/img/manage/peers/connect-site-to-site/db-workload-migration/workload-migration-05.png) Follow a similar procedure to assign your local machine to the `On-Premise-DB` group: * Locate and click on the local peer * Find the `Assigned Groups` field and select `On-Premise-DB` from the dropdown list. -![NetBird Local User Peer](/docs-static/img/how-to-guides/db-workload-migration/workload-migration-06.png) +![NetBird Local User Peer](/docs-static/img/manage/peers/connect-site-to-site/db-workload-migration/workload-migration-06.png) Your network configuration is complete, enabling secure communication between the remote instance and your local machine via an encrypted WireGuard tunnel. However, additional adjustments are necessary to finalize the workload migration process. @@ -328,7 +328,7 @@ These changes allow PostgreSQL to listen on all interfaces and accept connection To complete the migration, deploy your workload to the remote instance by recreating the local setup: establish a Python virtual environment, install the `psycopg2-binary` library, and create `employee_workload.py`. However, in the Python code, you must update the `host` parameter, replacing `localhost` with the NetBird-assigned IP address of the remote instance. You can find this IP address in your peers' list on your NetBird dashboard. -![NetBird IP Addresses](/docs-static/img/workload-migration/workload-migration-07.png) +![NetBird IP Addresses](/docs-static/img/manage/peers/connect-site-to-site/db-workload-migration/workload-migration-07.png) Optionally, you can change the label `(On-Premise)` with `(Remote)` as mentioned earlier. The Python code should look similar to this: diff --git a/src/pages/how-to/lazy-connection.mdx b/src/pages/manage/peers/lazy-connection.mdx similarity index 100% rename from src/pages/how-to/lazy-connection.mdx rename to src/pages/manage/peers/lazy-connection.mdx diff --git a/src/pages/how-to/register-machines-using-setup-keys.mdx b/src/pages/manage/peers/setup-keys.mdx similarity index 90% rename from src/pages/how-to/register-machines-using-setup-keys.mdx rename to src/pages/manage/peers/setup-keys.mdx index bebde059..c028f7d8 100644 --- a/src/pages/how-to/register-machines-using-setup-keys.mdx +++ b/src/pages/manage/peers/setup-keys.mdx @@ -34,7 +34,7 @@ Setup keys are available in the NetBird Management Dashboard under the `Setup Ke You can easily add new or revoke keys.

- high-level-dia + high-level-dia

@@ -72,7 +72,7 @@ To add `Auto-assign groups`, open the `Setup Keys` tab and create or update any Then use this key to enroll new machine.

- high-level-dia + high-level-dia

@@ -86,11 +86,11 @@ In the opened popup, give your new key an easily identifiable name, choose type, The defaults should be suitable for most of the cases. We recommend using one-off keys for security reasons.

- high-level-dia + high-level-dia

After your key has been successfully created, copy and store it in a secure location.

- high-level-dia + high-level-dia

diff --git a/src/pages/how-to/ssh.mdx b/src/pages/manage/peers/ssh.mdx similarity index 97% rename from src/pages/how-to/ssh.mdx rename to src/pages/manage/peers/ssh.mdx index a11679c2..2cb2b990 100644 --- a/src/pages/how-to/ssh.mdx +++ b/src/pages/manage/peers/ssh.mdx @@ -74,7 +74,7 @@ netbird up --allow-server-ssh \ - `--ssh-jwt-cache-ttl `: Enable JWT token caching with specified TTL in seconds (default: 0, disabled)

- netbird ssh client

@@ -101,7 +101,7 @@ Enable SSH on individual peers: 3. Save the changes

- netbird ssh dashboard

@@ -131,7 +131,7 @@ netbird ssh -L 8080:localhost:80 user@100.119.230.104 netbird ssh -R 8080:localhost:3000 user@100.119.230.104 ``` -For detailed CLI usage, see the [CLI documentation](/how-to/cli#ssh). +For detailed CLI usage, see the [CLI documentation](/getting-started/cli#ssh). ### Native SSH Clients (OpenSSH) @@ -176,7 +176,7 @@ When you run `ssh user@`: ### Browser Client -For SSH access directly from your web browser without installing any software, refer to the [Browser Client documentation](/how-to/browser-client#ssh-connection). +For SSH access directly from your web browser without installing any software, refer to the [Browser Client documentation](/manage/peers/browser-client#ssh-connection). ## Authentication @@ -454,7 +454,7 @@ SSH access is controlled by multiple layers: ## CLI Reference -For complete CLI command reference, including all SSH-related commands and flags, see the [CLI documentation](/how-to/cli#ssh). +For complete CLI command reference, including all SSH-related commands and flags, see the [CLI documentation](/getting-started/cli#ssh). ## Migrating from v0.59.x and Earlier diff --git a/src/pages/selfhosted/identity-providers.mdx b/src/pages/selfhosted/identity-providers.mdx index baa0dd5e..43b5f496 100644 --- a/src/pages/selfhosted/identity-providers.mdx +++ b/src/pages/selfhosted/identity-providers.mdx @@ -201,7 +201,7 @@ The following guide is an adapted version of the original #### Expected Result After completing this guide, you can log in to your self-hosted NetBird Dashboard and add your machines -to your network using the [Interactive SSO Login feature](/how-to/getting-started#running-net-bird-with-sso-login) +to your network using the [Interactive SSO Login feature](/getting-started#running-net-bird-with-sso-login) over Keycloak.

@@ -449,7 +449,7 @@ You've configured all required resources in Keycloak. You can now continue with ### Authentik -This guide is a part of the [NetBird Self-hosting Guide](/docs/selfhosted/selfhosted-guide) and explains how to integrate +This guide is a part of the [NetBird Self-hosting Guide](/selfhosted/selfhosted-guide) and explains how to integrate **self-hosted** NetBird with [Authentik](https://goauthentik.io). @@ -603,7 +603,7 @@ You've configured all required resources in Authentik. You can now continue with ### PocketID -This guide is a part of the [NetBird Self-hosting Guide](/docs/selfhosted/selfhosted-guide) and explains how to integrate +This guide is a part of the [NetBird Self-hosting Guide](/selfhosted/selfhosted-guide) and explains how to integrate **self-hosted** NetBird with [PocketID](https://pocket-id.org/). @@ -1180,8 +1180,8 @@ This Auth0 API will be used to access NetBird Management Service API. #### Step 4: Enable Interactive SSO Login (Optional) -The [Interactive SSO Login feature](/how-to/installation#running-net-bird-with-sso-login) allows for machine -authorization with your Identity Provider. This feature can be used as an alternative to [setup keys](/how-to/register-machines-using-setup-keys) +The [Interactive SSO Login feature](/getting-started/install#running-net-bird-with-sso-login) allows for machine +authorization with your Identity Provider. This feature can be used as an alternative to [setup keys](/manage/peers/setup-keys) and is optional. You can enable it by following these steps: diff --git a/src/pages/selfhosted/self-hosted-vs-cloud-netbird.mdx b/src/pages/selfhosted/self-hosted-vs-cloud-netbird.mdx index 8eda114d..58795275 100644 --- a/src/pages/selfhosted/self-hosted-vs-cloud-netbird.mdx +++ b/src/pages/selfhosted/self-hosted-vs-cloud-netbird.mdx @@ -38,7 +38,7 @@ some additional features that are targeted at business customers and help with n - **[Traffic events logging](/how-to/traffic-events-logging)** of connections to internal resources for audit and analysis. - **[Event streaming](/how-to/activity-event-streaming)** to 3rd party platforms and SIEM systems. - **[Integrations with EDR](/manage/access-control/endpoint-detection-and-response)** like CrowdStrike and others. -- **[Peer approval](/how-to/approve-peers)** to join the network. +- **[Peer approval](/manage/peers/approve-peers)** to join the network. - **[User invites](/how-to/add-users-to-your-network#direct-user-invites)**. - **[MSP functionality](/how-to/msp-portal)** for managing multiple tenant networks from a single account. diff --git a/src/pages/use-cases/distributed-multi-cloud-ai-argocd-microk8s-vllm.mdx b/src/pages/use-cases/distributed-multi-cloud-ai-argocd-microk8s-vllm.mdx index 7c239b64..924b9435 100644 --- a/src/pages/use-cases/distributed-multi-cloud-ai-argocd-microk8s-vllm.mdx +++ b/src/pages/use-cases/distributed-multi-cloud-ai-argocd-microk8s-vllm.mdx @@ -98,7 +98,7 @@ helm install --create-namespace -f values.yaml -n netbird netbird-operator netbi **Expose Kubernetes Control Plane to your NetBird Network** -To access your Kubernetes control plane from a NetBird network, you can expose your Kubernetes control plane as a [**NetBird resource**](https://docs.netbird.io/how-to/networks#resources) by enabling the following option in the operator values: +To access your Kubernetes control plane from a NetBird network, you can expose your Kubernetes control plane as a [**NetBird resource**](https://docs.netbird.io/manage/networks#resources) by enabling the following option in the operator values: ```jsx ingres: @@ -141,7 +141,7 @@ kubectl -n argocd annotate svc/argocd-server netbird.io/expose="true" netbird. Next we will enable sidecars. **Why Sidecars?** The application controller needs to make API calls to remote MicroK8s clusters. The sidecar provides transparent network access to those clusters through the NetBird mesh. -To enable sidecar functionality in your deployments, you first need to generate a setup key, either via the UI (enable the **Ephemeral Peers** options) or by following [**this guide**](https://docs.netbird.io/how-to/register-machines-using-setup-keys) for more details on setup keys. We will inject side-cars to ArgoCD application controller so it can communicate with remote MicroK8s clusters. +To enable sidecar functionality in your deployments, you first need to generate a setup key, either via the UI (enable the **Ephemeral Peers** options) or by following [**this guide**](https://docs.netbird.io/manage/peers/setup-keys) for more details on setup keys. We will inject side-cars to ArgoCD application controller so it can communicate with remote MicroK8s clusters. Note: We recommend checking out the section of our [Kubernetes Operator docs on using sidecars](https://docs.netbird.io/how-to/kubernetes-operator#accessing-remote-services-using-sidecars) for more context and detail.