How to Configure SoftEther, a Free VPN Server for macOS & Windows • Helge Klein (2024)

by: Helge,published: Feb 18, 2019,in

  • Networking
Contents
  • Our Setup and Requirements
  • HTTPS Certificate
    • Caveat: Unreachable CRL
    • Requesting the Certificate
    • Importing the Certificate in SoftEther
  • Gateway VM Configuration
  • SoftEther Configuration
    • Virtual Hub
    • Network Bridge
    • Protocols and Ports
    • Miscellaneous
  • Client Settings
    • Split Tunneling
  • Resources

This post describes a real-world configuration of the free VPN server SoftEther. It shows how to set up a VPN for macOS and Windows clients on a Hyper-V Windows guest VM.

Our Setup and Requirements

Our situation was as follows:

  • Multiple Hyper-V hosts with VMs on an internal network.
  • One VM is the VPN gateway. It is configured with two NICs. One is connected to the internal network, the other to the internet.
  • The VPN should provide remote access via SSTP for Windows and L2TP for macOS clients.
  • It should be possible to connect to the VPN with the clients that come with each operating system. Installing additional client software should not be necessary.
  • The VPN should be bridged to the local network so that VPN clients get IP addresses from the internal network’s DHCP server.
  • Authentication should be performed against a RADIUS server (we use Duo Authentication Proxy).

How to Configure SoftEther, a Free VPN Server for macOS & Windows • Helge Klein (1)

HTTPS Certificate

SSTP is based on HTTPS. The good thing about that is that most firewalls and hotel networks should let it through. The bad thing is that we need to deal with certificates. I used a TLS certificate from our internal Active Directory root CA.

Caveat: Unreachable CRL

We are using an internal certificate authority that is not accessible from the internet. As a consequence, the CA’s certificate revocation list (CRL) is not accessible from the internet either.

The Windows SSTP client refuses to connect when it cannot contact the CRL specified in a server certificate. There are two ways around that:

  1. Set the following registry values on your VPN clients: HKLM\SYSTEM\CurrentControlSet\Services\SstpSvc\Parameters\NoCertRevocationCheck=1 [REG_DWORD]
  2. On the CA, configure a certificate template to not include revocation information in issued certificates.

Requesting the Certificate

Run the following openssl commands on any Windows or Linux machine that has OpenSSL installed. OpenSSL is part of any Splunk installation, for example (even on Windows).

Create a private key:

openssl genrsa -des3 -out c:\temp\vpn\vpn.key 4096

Create a certificate request with the private key:

openssl req -new -key c:\temp\vpn\vpn.key -out c:\temp\vpn\vpn.csr
  • Submit the CSR to your CA
  • Important: if you want to incorporate multiple server namens in the certificate, specify them in the additional attributes field as follows: san:dns=server1.domain.com&dns=server2.domain.com.com
  • You get a P7B file, but SoftEther expects a CER. To convert, double-click the P7B file to open it in the certificates MMC. Locate your certificate, right-click and select All Tasks – Export. Choose the format “Base-64 encoded X.509 (CER)”.

Importing the Certificate in SoftEther

  • Open SoftEther VPN Server Manager
  • Click “Encryption and Network Settings”
  • Click “Import” and specify the location of the CER file
  • Specify the location of the certificate’s KEY file
  • Enter the key’s passphrase
  • While you are in that dialog:
    • Disable “Use Keep Alive Internet Connection”
    • Switch the encryption algorithm name to ECDHE-RSA-AES256-GCM-SHA384
  • Copy your CA’s root certificate to the directory C:\Program Files\SoftEther VPN Server\chain_certs

Gateway VM Configuration

On the Hyper-V host, go to the gateway VM settings and click “Enable MAC address spoofing” in the “Advanced Features” of the VM’s internal NIC.

SoftEther Configuration

Virtual Hub

Creating a Virtual Hub

  • Open SoftEther VPN Server Manager
  • Create a virtual hub

User and RADIUS Config

  • Open SoftEther VPN Server Manager
  • Click “Manage Virtual Hub”
  • Click “Manage Users”
  • We are managing users in RADIUS, but we need a wildcard entry here to not block everybody
  • Add a single user with “User Name” set to an asterisk (*) and “Auth Type” set to “RADIUS Authentication”
  • Go back to the “Management of Virtual Hub” dialog
  • Click “Authentication Server Setting”
  • Enable “Use RADIUS Authentication” and provide the necessary information
  • Go back to the main page of SoftEther VPN Server Manager and make sure the virtual hub is online

Blocking Internet Access

In a split tunnel configuration you want your VPN clients to connect directly to the internet, not via the VPN. Split tunneling is a client configuration (see below), but you may want to enforce it by blocking all internet connections originating from VPN clients:

  • Open SoftEther VPN Server Manager
  • Click “Manage Virtual Hub”
  • Click “Manage Access Lists”
  • Add the following rules:
    • Pass, Priority=10, Memo=Enable LAN access, Contents=(ipv4) DstIPv4=10.1.0.0/16
    • Pass, Priority=11, Memo=Enable LAN access (reverse), Contents=(ipv4) SrcIPv4=10.1.0.0/16, DstIPv4=10.1.0.0/16
    • Pass, Priority=12, Memo=Allow DHCP requests, Contents=(ipv4) SrcIPv4=0.0.0.0/32, DstIPv4=255.255.255.255/32, Protocol=UDP, DstPort=67-68
    • Pass, Priority=13, Memo=Allow DHCP responses, Contents=(ipv4) SrcIPv4=10.1.0.0/16, DstIPv4=255.255.255.255/32, Protocol=UDP, SrcPort=67-68
    • Discard, Priority=1000, Memo=Block everything (else), Contents=(ether) \*

Network Bridge

  • Open SoftEther VPN Server Manager
  • Click “Local Bridge Setting”
  • Select your virtual hub
  • Select the LAN adatapter connected to your internal network
  • Click “Create Local Bridge”
  • Exit all dialogs and reboot the SoftEther VM

Protocols and Ports

L2TP

  • Open SoftEther VPN Server Manager
  • Click “IPsec / L2TP Setting”
  • Check “Enable L2TP Server Function (L2TP over IPsec)”
  • Uncheck all other options
  • Specify an IPsec pre-shared key (PSK)

SSTP

  • Open SoftEther VPN Server Manager
  • Click “OpenVPN / MS-SSTP Setting”
  • Check “Enable MS-SSTP VPN Clone Server Function”
  • Uncheck the OpenVPN checkbox (unless you want to use it, of course)

Ports

  • Open SoftEther VPN Server Manager
  • In the listener list, delete ports 992 (function unknown), 1194 (OpenVPN), and 5555 (SoftEther remote management)

Note: when you connect to SoftEther Server Manager next make sure so specify 443 (the only remaining one) instead of 5555

Firewall

In your firewall, create rules to enable the following ports:

  • SSTP: TCP 443
  • L2TP over IPSec: UDP 500 and 4500

In the Windows firewall disable or delete the following rules added by SoftEther:

  • SoftEther VPN Server
  • SoftEther VPN Server Manager
  • SoftEther VPN Command-Line Admin Tool

Miscellaneous

Disable DDNS registration of your VPN. In unnecessarily “calls home”.

  • Stop the SoftEther VPN Server service and edit the configuration file “vpn_server.config”
  • In the DDnsClient section, set Disabled to true
  • In the ServerConfiguration section, set DisableNatTraversal to true
  • Start the SoftEther VPN Server service

Client Settings

Split Tunneling

Split tunneling refers to a configuration where only those packets are sent from a client to the VPN, that are destined for the VPN’s subnet. Everything else (including internet connections) go through the client’s regular default gateway.

On Windows VPN clients:

Resources

About the Author

Helge Klein (ex CTP, MVP, and vExpert) worked as a consultant and developer before founding vast limits, the uberAgent company, which was acquired by the Citrix business unit of Cloud Software Group in late 2023.Previously, Helge applied his extensive knowledge in IT infrastructure projects and architected a user profile management product, the successor of which is now available as Citrix Profile Management. Helge is the author of the popular tools Delprof2 and SetACL. He has presented at Citrix Synergy, BriForum, E2EVC, Splunk .conf, and many other events.

Read more

How to Configure SoftEther, a Free VPN Server for macOS & Windows • Helge Klein (2024)

FAQs

How do I setup SoftEther VPN on my Mac? ›

Click the network icon on the top-right side on the Mac screen. Click "Open Network Preferences..." in the menu. Click the "+" button on the network configuration screen. Select "VPN" as "Interface" , "L2TP over IPsec" as "VPN Type" and click the "Create" button.

How to set up a SoftEther server? ›

How to set up a home SoftEther VPN server in Windows
  1. Download and install the software. ...
  2. Once the software is installed, the Server Manager window will open. ...
  3. Select the Remote Access Server checkbox then click Next.
  4. Name your new Virtual Hub anything you like, then click OK.
Mar 6, 2020

How to setup a multi protocol VPN server using SoftEther? ›

How to set up a Multi-Protocol VPN Server using SoftEther
  1. Step 1: Create a Virtual Server. ...
  2. Step 2: Update your Server Software. ...
  3. Step 3: Download SoftEther. ...
  4. Step 4: Install and Configure SoftEther. ...
  5. Step 5: Generate a Let's Encrypt certificate. ...
  6. Step 6: Change Admin Password. ...
  7. Step 7: Create A Virtual Hub. ...
  8. Step 8: Enable SecureNAT.

What ports need to be open for SoftEther VPN? ›

If your SoftEther VPN Server is behind the NAT or firewall, you have to expose the UDP port 500 and 4500. On the NAT, UDP 500 and 4500 should be transferred to the VPN Server. If any packet filters or firewalls are existing, open UDP 500 and 4500 ports.

How do I setup a VPN server on my Mac? ›

On your Mac, choose Apple menu > System Settings, then click Network in the sidebar. (You may need to scroll down.) Click the Action pop-up menu on the right, choose Add VPN Configuration, then choose the type of VPN connection you want to set up. Enter a name for the new VPN service in the Display Name field.

How do I connect to an open VPN server on a Mac? ›

To install OpenVPN client on your Mac iOS based client device :
  1. Step1. Install Tunnelblick software. Download and install Tunnelblick software. ...
  2. Step2. Copy connecting config file(.ovpn file) to the OpenVPN folder. ...
  3. Step3 Connect to VPN Server. Click the Tunnelblick icon and select [Connect vpn] to connect to OpenVPN server.
Dec 26, 2023

How do I setup my own VPN server? ›

Steps for setting up a VPN
  1. Step 1: Line up key VPN components. ...
  2. Step 2: Prep devices. ...
  3. Step 3: Download and install VPN clients. ...
  4. Step 4: Find a setup tutorial. ...
  5. Step 5: Log in to the VPN. ...
  6. Step 6: Choose VPN protocols. ...
  7. Step 7: Troubleshoot. ...
  8. Step 8: Fine-tune the connection.

What protocol does SoftEther use? ›

Based on TCP/IP protocol, SoftEther VPN protocol plays the role of encapsulating, encrypting and transmitting virtual Ethernet frames on a physical IP network.

What is the equivalent of SoftEther? ›

Other important factors to consider when researching alternatives to SoftEther VPN include security. The best overall SoftEther VPN alternative is CloudConnexa. Other similar apps like SoftEther VPN are WireGuard, Pritunl, Azure VPN Gateway, and LetsVPN.

How do I create a VPN tunnel between two computers? ›

To set up a VPN, you will need to gather specific criteria for each computer; such as each computer's Internet Protocol (IP) address or domain name, a username and password, and any other applicable authentication settings. You will then enter this information into the VPN configuration settings menu of your computer.

Can you VPN into 2 different networks? ›

It is possible for a double VPN service provider, such as NordVPN, to support multiple VPNs from a single device, with appropriate configuring of the NordVPN Double VPN feature. A VPN chain uses more than one VPN server, providing greater security for the connection.

How do I setup a VPN on multiple devices? ›

Step-by-step: how to set up a VPN for multiple devices
  1. Create an account on one device.
  2. Download the Surfshark app on that device.
  3. Log in with your credentials and connect to any server.
  4. Download Surfshark on another device.
  5. Log in with the same credentials and connect to any server.
  6. Repeat until you run out of devices.

What is the difference between SoftEther VPN server and OpenVPN? ›

SoftEther is known for high speed performance, advanced encryption methods, and its ability to support multiple VPN protocols. OpenVPN stands out for a strong security model and its extensive support community.

How do I connect to a VPN with SoftEther? ›

VPN on Windows step by step guide (Using SoftEther VPN)
  1. Install SoftEther VPN Client with VPN Gate Client Plug-in (only once at the first time) ...
  2. Run VPN Gate Client Plug-in and connect to VPN Gate Server. ...
  3. Enjoy Internet via VPN relaying.

What is the best port for OpenVPN? ›

The preferred port for an OpenVPN tunnel is the UDP port, but the TCP 443 port serves as a fallback method due to restricted internet connectivity on some networks, such as public networks.

How to setup Windows VPN on Mac? ›

Enter VPN settings manually

On your Mac, choose Apple menu > System Settings, then click Network in the sidebar. (You may need to scroll down.) Click the Action pop-up menu on the right, choose Add VPN Configuration, then choose the type of VPN connection you want to set up.

How to configure l2tp VPN in Mac? ›

Choose “Apple menu” -> “System Preferences“, then click “Network'.
  1. Click the “Add” (+) button in the list at the left, click the Interface pop-up menu, then choose VPN. ...
  2. Click “Authentication Settings“, then enter the information seen in your Client Area:
  3. Click “o*k“.

How to connect to sstp VPN on Mac? ›

Connecting to an SSTP VPN server from MacOS
  1. brew update brew install sstp-client.
  2. sudo /usr/local/sbin/sstpc --cert-warn --tls-ext --user <login> --password <password> <keendns name of the router> usepeerdns require-mschap-v2 noauth noipdefault noccp refuse-eap refuse-pap refuse-mschap.

References

Top Articles
Latest Posts
Article information

Author: Geoffrey Lueilwitz

Last Updated:

Views: 5956

Rating: 5 / 5 (60 voted)

Reviews: 83% of readers found this page helpful

Author information

Name: Geoffrey Lueilwitz

Birthday: 1997-03-23

Address: 74183 Thomas Course, Port Micheal, OK 55446-1529

Phone: +13408645881558

Job: Global Representative

Hobby: Sailing, Vehicle restoration, Rowing, Ghost hunting, Scrapbooking, Rugby, Board sports

Introduction: My name is Geoffrey Lueilwitz, I am a zealous, encouraging, sparkling, enchanting, graceful, faithful, nice person who loves writing and wants to share my knowledge and understanding with you.