1. Determine what port your SQL Server is listening to. By default, it listens on TCP/1433.
2. Make sure that the SQL server allows communication to the port via VPN. If it is, temporarily disable your firewall settings to make sure you have no firewall issues.
3. Verify the server doesn't have an IPSEC policy that restricts access to the SQL server port via IP address.
4. If none of the above work, please try the following as seen on Stack Overflow:
“On the remote machine, start SQL Server Configuration Manager, expand SQL Server Network Configuration, select “Protocols for SQLEXPRESS” (or “MSSQLSERVER”), right-click on TCP/IP, on the resulting dialog box go to the IP Addresses tab, and make sure the “IP1” element is Active=Yes and Enabled=Yes. Make note of the IP address (for me it wasn't necessary to modify these). Then stop and start the SQL Server Services. After that, ensure that the firewall on the remote machine is either disabled, or an exception is allowed for port 1433 that includes both the local subnet and the subnet for the address noted in the previous dialog box. On your local machine you should be able to connect by setting the server name to 192.168.1.22\SQLEXPRESS (or [ip address of remote machine]\[SQL server instance name]).”