This guide assumes that you are root! If you’re not logged in as root, do
sudo su in terminal to enter a root shell. This tutorial covers both manual and automatic installations.
1. Update system & install packages
sudo apt update && sudo apt install build-essential checkinstall -y
2. Download & Install SoftEther VPN Server
Note that the following is not a single command! Run each command in a single line.
wget -O vpnserver.tar.gz https://github.com/SoftEtherVPN/SoftEtherVPN_Stable/releases/download/v4.34-9745-beta/softether-vpnserver-v4.34-9745-beta-2020.04.05-linux-x64-64bit.tar.gz
tar -xzf vpnserver.tar.gz
make command, you’ll be prompted to accept the EULA for the VPN Server. Once compiling is completed, most of the hard work is done. Now we need to set the permissions on the files inside the
chmod 600 /opt/vpnserver/* && chmod 700 /opt/vpnserver/vpncmd && chmod 700 /opt/vpnserver/vpnserver
3. Create init script for SE VPN Server
This will make the vpnserver a system process, allowing it to automatically start and be managed by systemd.
wget -O vpnserver-init https://raw.githubusercontent.com/icoexist/softether-autoinstall/master/vpnserver-init
mv vpnserver-init /etc/init.d/vpnserver
chmod 755 /etc/init.d/vpnserver
update-rc.d vpnserver defaults
4. Start & Configure VPN Server
To start the server, issue
systemctl start vpnserver in terminal. You won’t need to do this after system reboots, as it will automatically start.
Your server is now ready to be configured! You can do this directly from terminal, however I suggest the use of the SE VPN Server Manager for simplicity. You can download that for Windows here.
If there’s no strange network shenanigans, your VPN server will now be available at the IP address of your machine.
The following command will download my installer script and install the SoftEther VPN Server for you.
wget -O se-install https://raw.githubusercontent.com/icoexist/softether-autoinstall/master/ubuntu/se-install-ubuntu.bash && chmod +x se-install && ./se-install
Please note that as of right now, this does not catch any errors! So if this script doesn’t work the first time, it will cause jank if you attempt to run it again. I’m currently trying to get this cleaned up in my spare time.
SoftEther VPN Server Configuration (Quick-start)
- Click New Setting to add new server to server manager
- Enter Setting Name, Host Name (IP Address) and verify port number. Do not enter a password here! Click OK.
- Double click the new server you just added
- Create a SECURE password for remote management
- Tick Remote Access VPN Server then click Next. Accept prompt.
- Rename virtual hub, or leave as-is. Click next.
- Click Exit when Dynamic DNS Function window appears.
- Enable L2TP/IPsec if desired on next window. Otherwise, click OK.
- Disable VPN Azure Cloud, as this is unnecessary. Click OK.
- On VPN Easy Setup Tasks, click Create Users
- Fill out username & password. Click OK.
- Once user is created, close VPN Easy Setup Tasks
- You will now see the main window for managing a server. Double click the VPN hub (or whatever it was renamed to)
- Click Virtual NAT and Virtual DHCP Server (SecureNAT)
- Enable SecureNAT and exit this window.
You can find a short video guide here.