Beginner’s Guide: Installing and Configuring SoftEther VPN Server Print

  • VPN
  • 20

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:

  1. Visit the SoftEther VPN Download Page
    Open your web browser and go to SoftEther VPN Downloads.

  2. Select the Linux Package
    Choose the “VPN Server” package for Linux that matches your system architecture (e.g., x86_64 for 64-bit systems).

  3. 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:

  1. Download the Windows Installer
    On the same download page, select the Windows VPN Server installer.
  2. Run the Installer
    Once downloaded, launch the installer and follow the on-screen instructions.

Step 2: Installing SoftEther VPN Server on Linux

  1. 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.

  2. Navigate to the vpnserver Directory

    cd vpnserver
    
  3. 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 or y) and press Enter. The compilation process creates the vpnserver and vpncmd binaries.

  4. Set Proper Permissions

    chmod 600 *
    chmod 700 vpnserver
    chmod 700 vpncmd
    
  5. Move Files to a Standard Location

    sudo mkdir -p /usr/local/softether
    sudo mv * /usr/local/softether/
    
  6. 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).

  7. 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

  1. Launch vpncmd

    sudo /usr/local/softether/vpncmd
    

    You will see a welcome message and a prompt.

  2. Connect to the VPN Server Locally
    Type 1 at the prompt to connect to the VPN Server locally. When asked for a password, press Enter (by default, no password is set).

  3. Set an Administrator Password At the vpncmd prompt, enter:

    ServerPasswordSet
    

    Follow the instructions to set a strong password.

  4. Create a Virtual Hub

    HubCreate MyVPNHub
    

    You’ll be prompted to choose authentication methods. Use secure password authentication as recommended.

  5. Enter the Virtual Hub

    Hub MyVPNHub
    
  6. 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.

  1. 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.

  2. 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

  1. Connect a Client
    Launch your OpenVPN client and connect using the imported configuration.
  2. Verify IP Assignment
    Once connected, check that your client receives an IP from the Virtual Hub’s assigned range.
  3. Check Connectivity
    Test by pinging the VPN gateway (e.g., the IP assigned to MyVPNHub) and accessing internal network resources.
  4. Monitor the VPN Session
    In vpncmd, use:
    UserList
    
    This command shows active VPN sessions.

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


Does this help?

« Back