SSL VPN split tunnel for remote user
This is a sample configuration of remote users accessing the corporate network and internet through an SSL VPN by tunnel mode using FortiClient but accessing the Internet without going through the SSL VPN tunnel.
Sample topology
Sample configuration
WAN interface is the interface connected to ISP. This example shows static mode. You can also use DHCP or PPPoE mode. The SSL VPN connection is established over the WAN interface.
The split tunneling routing address cannot use an FQDN or an address group that includes an FQDN. |
To configure SSL VPN using the GUI:
- Configure the interface and firewall address. The port1 interface connects to the internal network.
- Go to Network > Interfaces and edit the wan1 interface.
- Set IP/Network Mask to 172.20.120.123/255.255.255.0.
- Edit port1 interface and set IP/Network Mask to 192.168.1.99/255.255.255.0.
- Click OK.
- Go to Policy & Objects > Address and create an address for internal subnet 192.168.1.0.
- Configure user and user group.
- Go to User & Device > User Definition to create a local user sslvpnuser1.
- Go to User & Device > User Groups to create a group sslvpngroup with the member sslvpnuser1.
- Configure SSL VPN web portal.
- Go to VPN > SSL-VPN Portals to create a tunnel mode only portal my-split-tunnel-portal.
- Enable Split Tunneling.
- Select Routing Address to define the destination network that will be routed through the tunnel. Leave undefined to use the destination in the respective firewall policies.
- Configure SSL VPN settings.
- Go to VPN > SSL-VPN Settings.
- For Listen on Interface(s), select wan1.
- Set Listen on Port to 10443.
- Optionally, set Restrict Access to Limit access to specific hosts, and specify the addresses of the hosts that are allowed to connect to this VPN.
- Choose a certificate for Server Certificate. The default is Fortinet_Factory.
- In Authentication/Portal Mapping All Other Users/Groups, set the Portal to tunnel-access.
- Create new Authentication/Portal Mapping for group sslvpngroup mapping portal my-split-tunnel-portal.
- Configure SSL VPN firewall policy.
- Go to Policy & Objects > IPv4 Policy.
- Fill in the firewall policy name. In this example, sslvpn split tunnel access.
- Incoming interface must be SSL-VPN tunnel interface(ssl.root).
- Choose an Outgoing Interface. In this example, port1.
- Set the Source to SSLVPN_TUNNEL_ADDR1 and group to sslvpngroup. The source address references the tunnel IP addresses that the remote clients are using.
- In this example, the Destination is 192.168.1.0.
- Set Schedule to always, Service to ALL, and Action to Accept.
- Click OK.
To configure SSL VPN using the CLI:
- Configure the interface and firewall address.
config system interface edit "wan1" set vdom "root" set ip 172.20.120.123 255.255.255.0 next end
- Configure internal interface and protected subnet, then connect the port1 interface to the internal network.
config system interface edit "port1" set vdom "root" set ip 192.168.1.99 255.255.255.0 next end
config firewall address edit "192.168.1.0" set subnet 192.168.1.0 255.255.255.0 next end
- Configure user and user group.
config user local edit "sslvpnuser1" set type password set passwd your-password next end
config user group edit "sslvpngroup" append member "sslvpnuser1" next end
- Configure SSL VPN web portal.
config vpn ssl web portal edit "my-split-tunnel-portal" set tunnel-mode enable set split-tunneling enable set split-tunneling-routing-address "192.168.1.0" set ip-pools "SSLVPN_TUNNEL_ADDR1" next end
- Configure SSL VPN settings.
config vpn ssl settings set servercert "Fortinet_Factory" set tunnel-ip-pools "SSLVPN_TUNNEL_ADDR1" set tunnel-ipv6-pools "SSLVPN_TUNNEL_IPv6_ADDR1" set source-interface "wan1" set source-address "all" set source-address6 "all" set default-portal "full-access" config authentication-rule edit 1 set groups "sslvpngroup" set portal "my-split-tunnel-portal" next next end
Optionally, to restrict access to specific hosts:
config vpn ssl settings set source-address <address> <address> ... <address> set source-address6 <address> <address> ... <address> end
- Configure one SSL VPN firewall policy to allow remote user to access the internal network. Traffic is dropped from internal to remote client.
config firewall policy edit 1 set name "sslvpn split tunnel access" set srcintf "ssl.root" set dstintf "port1" set srcaddr "SSLVPN_TUNNEL_ADDR1" set dstaddr "192.168.1.0" set groups “sslvpngroup” set action accept set schedule "always" set service "ALL" next end