Technical Tip: Access to Specific FQDN using Split Tunnel SSL VPN
Description
This article explains how to allow access to a specific site FQDN using split tunnel SSL VPN.
FQDN address is not supported in split tunnel.
Scope
FortiGate v7.2 and v7.4.
Solution
To achieve this requirement, follow the steps below:
- Keep the Split Tunneling routing address blank in the SSL VPN portal.

- Configure the SSL VPN setting to allow access to the portal.
- Configure the FQDN for which it is required to allow access using the SSL VPN split tunnel. Go to Policy & Objects -> Addresses -> Create New.
Note:
Address Type should be FQDN.
Example below of FQDN: example.com.

- Create a firewall policy with the destination address as the FQDN object created in step 3.

- After logging in via split tunnel SSL VPN, the IP address of example.com is installed in the routing table of the SSL VPN client.

IPv4 Route Table
===========================================================================
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 10.201.3.146 10.201.3.153 6
10.201.0.0 255.255.240.0 On-link 10.201.3.153 261
10.201.3.146 255.255.255.255 On-link 10.201.3.153 5
10.212.134.200 255.255.255.255 On-link 10.212.134.200 257
93.184.216.34 255.255.255.255 10.212.134.201 10.212.134.200 1 <----- Prefix for FQDN.
127.0.0.0 255.0.0.0 On-link 127.0.0.1 306
127.0.0.1 255.255.255.255 On-link 127.0.0.1 306
127.255.255.255 255.255.255.255 On-link 127.0.0.1 306
224.0.0.0 240.0.0.0 On-link 127.0.0.1 306
224.0.0.0 240.0.0.0 On-link 10.201.3.153 261
224.0.0.0 240.0.0.0 On-link 10.212.134.200 257
255.255.255.255 255.255.255.255 On-link 127.0.0.1 306
===========================================================================

- Add other external addresses in the Firewall policy also, if the customer wants to access an external address and a particular FQDN.

IPv4 Route Table
===========================================================================
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 10.201.3.146 10.201.3.153 6
8.8.8.8 255.255.255.255 10.212.134.201 10.212.134.200 1 <----- Prefix that was added to the policy.
10.201.0.0 255.255.240.0 On-link 10.201.3.153 261
10.201.15.255 255.255.255.255 On-link 10.201.3.153 261
10.212.134.200 255.255.255.255 On-link 10.212.134.200 257
93.184.216.34 255.255.255.255 10.212.134.201 10.212.134.200 1 <----- Prefix for FQDN.
127.0.0.0 255.0.0.0 On-link 127.0.0.1 306
127.0.0.1 255.255.255.255 On-link 127.0.0.1 306
127.255.255.255 255.255.255.255 On-link 127.0.0.1 306
224.0.0.0 240.0.0.0 On-link 127.0.0.1 306
224.0.0.0 240.0.0.0 On-link 10.201.3.153 261
224.0.0.0 240.0.0.0 On-link 10.212.134.200 257
255.255.255.255 255.255.255.255 On-link 127.0.0.1 306
===========================================================================
- To reach internal resources, create a policy to inject the proper subnets into the Client routing table.

Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 10.201.3.146 10.201.3.153 6
8.8.8.8 255.255.255.255 10.212.134.201 10.212.134.200 1 <----- Subnet that was added in the first policy.
192.168.108.0 255.255.255.0 10.212.134.201 10.212.134.200 1 <----- Subnet that was added in the second policy.
192.168.112.0 255.255.255.0 10.212.134.201 10.212.134.200 1 <----- Subnet that was added in the second policy.
192.168.200.0 255.255.255.0 10.212.134.201 10.212.134.200 1 <----- Subnet that was added in the second policy.
10.201.0.0 255.255.240.0 On-link 10.201.3.153 261
10.201.15.255 255.255.255.255 On-link 10.201.3.153 261
10.212.134.200 255.255.255.255 On-link 10.212.134.200 257
93.184.216.34 255.255.255.255 10.212.134.201 10.212.134.200 1 <----- Prefix for FQDN.
127.0.0.0 255.0.0.0 On-link 127.0.0.1 306
127.0.0.1 255.255.255.255 On-link 127.0.0.1 306
127.255.255.255 255.255.255.255 On-link 127.0.0.1 306
224.0.0.0 240.0.0.0 On-link 127.0.0.1 306
224.0.0.0 240.0.0.0 On-link 10.201.3.153 261
224.0.0.0 240.0.0.0 On-link 10.212.134.200 257
255.255.255.255 255.255.255.255 On-link 127.0.0.1 306
===========================================================================

- FortiClient only injects routes at the time of connection. If the IP address gets changed or updated while it is connected, FortiClient will not add a new IP address to the client routing table.
- The wildcard FQDN is updated when a DNS query is made from a host connected to FortiGate (DNS traffic passing through a FortiGate), and if there is no DNS query passing through FortiGate, the FQDN will not resolve, and FortiClient will not inject any route to the client.
- The VPN SSL split tunnel feature will not support Internet Service DB (ISDB) as a Destination because the IPs for the ISDB are automatically changed from the FortiGuard Servers.
- If the firewall policy uses ISDB as its Destination, all traffic will be routed via an SSL VPN tunnel.
