Migrating FortiGate SSL-VPN to NetBird: the procedure
Timo Wevelsiep•Updated: 28.07.2026Editorial note: Versions, commands and prices may change. Please verify critical steps independently before production use. This guide does not replace individual consulting.
Replace remote access without interrupting operations? WZ-IT plans and operates the move from VPN appliances to identity-based access - NetBird, IdP integration, sites and machines, from one team. See managed secure access
With FortiOS 7.6.3 Fortinet removed SSL-VPN tunnel mode on all FortiGate models. That turns an architecture debate into a deadline: every remote access configuration has to be touched. This guide shows the path to NetBird - not as a concept but as a procedure: inventory, identity, peers, access policies, sites and cutover. As of July 2026.
Table of contents
- The trigger and the two paths
- What changes architecturally
- Step 1: Take inventory
- Step 2: Control plane and identity
- Step 3: Roll out peers
- Step 4: Groups and access policies
- Step 5: Sites and machines without a client
- Step 6: Cutover and the way back
- Pitfalls from practice
The trigger and the two paths
From FortiOS 7.6.3 onwards, SSL-VPN tunnel mode is available in neither the GUI nor the CLI, on all FortiGate models. Two details from the release notes are decisive: existing configurations including the associated firewall policies are not carried over, and the migration must happen before the upgrade, otherwise remote access breaks.
That leaves two paths:
- IPsec - the direct successor named by Fortinet, optionally over TCP 443. Shortest path, stays in the familiar ecosystem, sensible above all for fixed site-to-site tunnels.
- Identity-based overlay - remote access moves from the appliance into a mesh that grants access per identity and resource. More rebuilding, but the exposed listener disappears.
This guide describes the second path. For the background on why exposed appliances became a liability, see FortiGate SSL-VPN risk in 2026.
What changes architecturally
The difference is not the protocol but the order of access and verification:
| SSL-VPN appliance | NetBird overlay | |
|---|---|---|
| Entry point | Open listener at the internet edge | No inbound port, outbound connections |
| Authentication | At the gateway, often local users | Via the identity provider, incl. MFA |
| Access after login | Frequently a flat network | Only targets allowed by policy |
| Machines without a client | Via network shares | Via routing peers, policy-based |
| User management | In the appliance | In the IdP, one source for all systems |
The practical gain: after the migration there is no anonymously reachable service left for a scanner to find - and a compromised endpoint only reaches what its group has been assigned.
Step 1: Take inventory
Before anything is built, the current state has to be on the table. Four questions:
- Who has access today? Employees, external contractors, machine manufacturers - and via which accounts? Local FortiGate users are the most common blind spot here because they appear in no directory.
- What do they access? Concrete target systems instead of "the network". This list later becomes the policy matrix.
- Which access paths are not tied to a person? Shared accounts, shared credentials, machine access. They need their own solution in the target design.
- What is internet-exposed? Not only the SSL-VPN but every open management interface.
The result is a table of "who accesses what, with which account, for what purpose". Without it, the policy work later becomes guesswork.
Step 2: Control plane and identity
First the control plane is set up - self-hosted on your own infrastructure or as an operated service in the EU. It distributes keys, routes and rules; the data traffic then runs directly between peers.
The more important part is identity. NetBird connects OIDC-capable identity providers, including the self-hostable Authentik and Keycloak. This is where users, groups and multi-factor authentication live - and this is where the compliance lever sits: the German NIS2 implementation act in force since 6 December 2025 explicitly names multi-factor authentication as a risk management measure (see NIS2-compliant remote access).
Practical advice: define the group structure in the IdP first, not as an afterthought. It determines every access rule later, and rebuilding it afterwards costs more than thinking it through once.
Step 3: Roll out peers
A peer is a device in the overlay. There are two ways to register: interactive login via the IdP - the normal case for workstations - or setup keys for everything that starts unattended.
On setup keys (NetBird documentation):
- One-off for individual machines, reusable with a usage limit for rolling out in series.
- Auto-assign groups: the key automatically assigns newly registered peers to groups - so the right access rules apply from the first second.
- Ephemeral peers: peers registered in this mode are automatically removed after staying offline for more than ten minutes - useful for containers and short-lived instances.
For servers and recurring rollouts the key belongs in automation (Ansible, Terraform), not in a document to be typed out by hand.
Step 4: Groups and access policies
Now the network becomes controlled access. NetBird works with groups and policies: a policy defines source and destination group plus protocol, ports and direction - bidirectional or initiated by the source peer only (documentation).
The single most important step of the whole migration: on first setup a default policy is created that allows connections between all peers. Anyone who leaves it in place has faithfully rebuilt the appliance's flat network. It belongs replaced by rules following the table from step 1 - per group only the targets, protocols and ports actually needed.
In addition, posture checks verify properties of the device before a connection is established. This can enforce, for instance, that only current clients get access.
Step 5: Sites and machines without a client
Not every system can or should run an agent - legacy servers, controllers, HMIs, printers. That is what routing peers are for: a NetBird peer in the respective network that forwards traffic between the overlay and the local subnet. This makes entire networks reachable without installing anything on the target systems, and access still stays policy-based.
One detail that saves time in operations: NetBird performs the required outbound SNAT itself only on Linux routing peers. On other platforms - OPNsense and pfSense are the usual examples - it has to be configured manually. For site connectivity a Linux routing peer is therefore the calmer path.
For machine and plant access the segmentation rules from the OT world apply on top; the background is in OT/IT segmentation and DMZ.
Step 6: Cutover and the way back
The switch runs in parallel, never as a cut-off date:
- One uncritical user group and one uncritical target system first - including verifying that logging and policies take effect.
- Move user groups one after another; the SSL-VPN stays active as the way back during this phase.
- Contractor and machine access follows, because it needs the most coordination.
- Only when nobody works over the old path any more is the SSL-VPN listener disabled. That removes the exposed attack surface - and only then is the upgrade to 7.6.3 uncritical.
The FortiGate usually stays in place as a firewall and for site-to-site tunnels. What is replaced is remote access, not the network design.
Pitfalls from practice
- Forgetting the default policy. The most common mistake, see step 4. Without restrictive rules the security gain is gone.
- Overlooking local appliance accounts. Accounts that only existed in the FortiGate appear in no IdP and surface during cutover.
- Carrying shared accounts over one to one. Shared credentials cannot sensibly be protected with MFA and render any logging worthless. The migration is the right moment to dissolve them.
- SNAT on non-Linux routing peers. Leads to connections failing for seemingly no reason.
- Switching off too early. The old access is the way back. It may only go once the last group has migrated and been confirmed in operation.
How the target architecture works in detail is explained in What is NetBird?; the basis for deciding between the overlay options is in NetBird vs Tailscale vs WireGuard.
Rather have it operated?
You'd rather not run Remote Access yourself? WZ-IT handles setup, operations and maintenance - GDPR-compliant from Germany.
Frequently Asked Questions
Answers to the most important questions
Because Fortinet removed SSL-VPN tunnel mode from FortiOS 7.6.3 on all FortiGate models. Existing configurations including the associated firewall policies are not carried over on upgrade. Anyone upgrading unprepared loses remote access. Fortinet names IPsec as the direct successor - but that is only one of two possible paths.
That is the shortest path and often right for pure site-to-site tunnels. For user and contractor access, however, it does not solve the underlying problem: the internet-exposed listener remains, the appliance stays the privileged single point of failure, and after login flat network access is usually open again. Since every configuration has to be touched anyway, comparing both paths pays off.
No. In most migrations the FortiGate stays in place as a firewall, for routing and for site-to-site IPsec tunnels. Only remote access for users and contractors is replaced. That reduces risk and effort considerably because the network design stays untouched.
Via routing peers. A routing peer is a NetBird peer inside the respective network that forwards traffic between the overlay and resources that cannot or should not run an agent. This makes entire subnets, legacy servers, HMIs or PLCs reachable without installing anything on those systems.
It depends on the number of access paths, how clean the identity management is and how many machine and contractor accesses have to be modelled. The procedure is always parallel though: the new network grows alongside the SSL-VPN, user groups move one after another, and the old access stays as a way back until the end.
Leaving the default access policy in place. On first setup NetBird creates a default policy that allows connections between all peers. Anyone who does not replace it with their own restrictive policies has rebuilt exactly the flat network they wanted to leave behind.
More on Remote Access
- What is Apache Guacamole?
- VNC in the browser: HMI remote access
- Remote maintenance without a VPN client
- Self-hosted TeamViewer alternative (RustDesk)
- NIS2-compliant remote access
- RBAC & audit for remote access
- What is ZTNA? (Zero Trust Network Access)
- IEC 62443 for remote access to OT
- SSO & MFA for the remote-access portal
- Retrofitting MFA for VPN
- Privileged access management & session recording
- Remote maintenance & GDPR (data processing)
- WireGuard for site connectivity
- What is NetBird? (Zero-trust mesh VPN)
- NetBird with Authentik or Keycloak
- What is Headscale?
- Expose internal services without a VPN
- Multi-tenant operator portal for plants
- OT/IT segmentation, DMZ & the Purdue model
- SSH bastion / jump host
- Siemens S7 / PLC remote access without open ports
- NetBird vs Tailscale vs WireGuard
- OpenVPN vs WireGuard
- Secure remote maintenance of machines & plants
- Migrate FortiGate SSL-VPN to NetBird
- Migrate OpenVPN to NetBird






