Beginner’s Guide: Installing and Configuring SoftEther VPN Server
Hello there! I’m Corels from Emmanuel Corels Creatives, and today we’re diving into the process of setting up SoftEther VPN Server. SoftEther VPN is a versatile, multi-protocol VPN solution that works on Linux, Windows, macOS, and more. It supports its own SoftEther protocol along with OpenVPN, L2TP/IPsec, SSTP, and EtherIP, making it a flexible choice for secure remote access.
In this guide, I’ll walk you through installing SoftEther VPN Server on a Linux VPS, with notes on Windows where applicable, and explain each step in detail so you can follow along with ease.
What is SoftEther VPN?
SoftEther VPN (Software Ethernet) is an open-source VPN solution known for its flexibility and robust security features. It allows you to set up a VPN server that supports multiple VPN protocols, providing secure, encrypted connections for clients on any major operating system. This makes it ideal for securely connecting remote users or linking networks across different locations.
Requirements
Before we begin, make sure you have the following:
- A VPS or Server running a supported OS (for this guide, we’ll use Ubuntu Server 18.04 64-bit on Linux; Windows users can follow a similar process using the installer).
- Root or Administrative Access to the server.
- An Internet Connection for downloading the installation files.
- Basic Command-Line Skills for Linux (or familiarity with Command Prompt/PowerShell on Windows).
Step 1: Download SoftEther VPN Server
For Linux:
-
Visit the SoftEther VPN Download Page
Open your web browser and go to SoftEther VPN Downloads. -
Select the Linux Package
Choose the “VPN Server” package for Linux that matches your system architecture (e.g., x86_64 for 64-bit systems). -
Download via Command Line
Use the following command to download the package:wget https://www.softether-download.com/files/softether/v4.34-9745-beta-2021.06.19-tree/Linux/SoftEtherVPN-Server-v4.34-9745-beta-2021.06.19-linux-x64-64bit.tar.gz
For Windows:
- Download the Windows Installer
On the same download page, select the Windows VPN Server installer. - Run the Installer
Once downloaded, launch the installer and follow the on-screen instructions.
Step 2: Installing SoftEther VPN Server on Linux
-
Extract the Package
Navigate to the directory where you downloaded the package and extract it:tar -xzf SoftEtherVPN-Server-v4.34-9745-beta-2021.06.19-linux-x64-64bit.tar.gz
This will create a folder named (typically)
vpnserver
. -
Navigate to the vpnserver Directory
cd vpnserver
-
Compile the VPN Server
Run the following command to compile SoftEther:make
You will be prompted to agree to the license terms. Type the required response (for example,
1
ory
) and press Enter. The compilation process creates thevpnserver
andvpncmd
binaries. -
Set Proper Permissions
chmod 600 * chmod 700 vpnserver chmod 700 vpncmd
-
Move Files to a Standard Location
sudo mkdir -p /usr/local/softether sudo mv * /usr/local/softether/
-
Create a Systemd Service for SoftEther Create a new service file:
sudo nano /etc/systemd/system/softether.service
Paste the following:
[Unit] Description=SoftEther VPN Server After=network.target [Service] ExecStart=/usr/local/softether/vpnserver start ExecStop=/usr/local/softether/vpnserver stop Type=forking Restart=always [Install] WantedBy=multi-user.target
Save the file (Ctrl+O, Enter) and exit (Ctrl+X).
-
Enable and Start the Service
sudo systemctl daemon-reload sudo systemctl enable softether.service sudo systemctl start softether.service
Step 3: Initial Configuration with vpncmd
-
Launch vpncmd
sudo /usr/local/softether/vpncmd
You will see a welcome message and a prompt.
-
Connect to the VPN Server Locally
Type1
at the prompt to connect to the VPN Server locally. When asked for a password, press Enter (by default, no password is set). -
Set an Administrator Password At the vpncmd prompt, enter:
ServerPasswordSet
Follow the instructions to set a strong password.
-
Create a Virtual Hub
HubCreate MyVPNHub
You’ll be prompted to choose authentication methods. Use secure password authentication as recommended.
-
Enter the Virtual Hub
Hub MyVPNHub
-
Add a VPN User Create a user for connecting clients:
UserCreate vpnuser /GROUP:none /REALNAME:none /NOTE:none UserPasswordSet vpnuser
Follow the prompts to set the password.
Step 4: Enabling VPN Protocols
SoftEther supports multiple protocols. For this guide, we’ll enable OpenVPN as an example.
-
Enable OpenVPN Server in vpncmd At the vpncmd prompt (while connected to MyVPNHub), type:
OpenVpnEnable
You will be asked for the administrator password and to choose whether to enable TCP or UDP. For simplicity, select TCP.
-
Generate Client Configuration File To facilitate client setup, generate an OpenVPN configuration file:
OpenVpnMakeConfig vpnuser
This command creates a configuration file with the necessary settings.
Step 5: Client Setup (For Windows, Linux, macOS, etc.)
For clients on any platform:
- Download and Install the OpenVPN Client from OpenVPN Community Downloads.
- Import the Configuration File generated by SoftEther VPN Server.
- Connect using the client software. The configuration file includes details such as:
- Server Address: Your VPS public IP or DDNS hostname.
- Port: 1194 (or as configured).
- Protocol: TCP (or UDP if enabled).
- Authentication: Uses certificates and keys generated earlier (if provided) or user credentials.
For Windows, the installer provides a graphical interface; on Linux and macOS, you can use the command line or compatible GUI clients.
Step 6: Testing Your VPN
- Connect a Client
Launch your OpenVPN client and connect using the imported configuration. - Verify IP Assignment
Once connected, check that your client receives an IP from the Virtual Hub’s assigned range. - Check Connectivity
Test by pinging the VPN gateway (e.g., the IP assigned to MyVPNHub) and accessing internal network resources. - Monitor the VPN Session
In vpncmd, use:
This command shows active VPN sessions.UserList
Troubleshooting Tips
- Certificate Issues:
Ensure that if you are using certificates, the Common Name in your certificate matches the expected server name. Review the certificate files if you exported them. - Firewall Settings:
Make sure your VPS firewall allows traffic on the VPN port (e.g., TCP 1194). - Connection Failures:
Verify that the VPN Server service is running by checking system logs:sudo systemctl status softether.service
- Client Configurations:
Double-check that your client configuration file points to the correct server address and port.
Final Thoughts
Setting up SoftEther VPN Server is a straightforward process once you know the steps. With SoftEther, you gain a flexible VPN solution that supports multiple protocols and works across various operating systems. Whether you’re securing remote access for your team or simply experimenting with advanced networking, SoftEther VPN is a powerful tool in your arsenal.
Thank you for following along! If you have any questions or need additional guidance, feel free to reach out. Enjoy the secure connectivity, and happy VPN-ing!
Explained with detailed clarity by
Corels – Admin, Emmanuel Corels Creatives