通过 GitHub 上的源代码进行 编译安装 SoftEther VPN 服务器

步骤 1:安装依赖包

首先,确保你的系统已经安装了编译所需的依赖包。不同的 Linux 发行版安装命令会有所不同。

1.1 在 Ubuntu/Debian 系统上安装依赖

sudo apt update
sudo apt install build-essential gcc make zlib1g-dev libssl-dev libncurses5-dev libreadline-dev cmake pkg-config libsodium-dev

1.2 在 CentOS/RHEL 系统上安装依赖

sudo yum groupinstall "Development Tools"
sudo yum install zlib-devel openssl-devel ncurses-devel readline-devel cmake pkg-config libsodium-dev

步骤 2:下载 SoftEther VPN 源代码

SoftEther 的源代码托管在 GitHub 上。你可以通过 git 克隆最新的源代码,或者直接下载 ZIP 文件。

cd /usr/local/src
sudo git clone https://github.com/SoftEtherVPN/SoftEtherVPN.git

这将会把最新的源代码克隆到 /usr/local/src/SoftEtherVPN 目录下。


步骤 3:编译 SoftEther VPN 服务器

进入克隆的目录:

cd /usr/local/src/SoftEtherVPN

运行 ./configure(如果存在的话)

在一些项目中,构建文件会通过 configure 脚本自动生成。如果 SoftEtherVPN 目录下存在 configure 脚本,你可以尝试运行它:

sudo ./configure

这个步骤通常会检测你的系统环境,并为编译生成适当的 Makefile

完成后会输出成功信息然后就可以make

---------------------------------------------------------------------
SoftEther VPN for Unix

Copyright (c) all contributors on SoftEther VPN project in GitHub.
Copyright (c) Daiyuu Nobori, SoftEther Project at University of Tsukuba, and SoftEther Corporation.

Licensed under the Apache License, Version 2.0 (the License).

Read and understand README, LICENSE and WARNING before use.
---------------------------------------------------------------------

Welcome to the corner-cutting configure script !

'rpm' executable found, CPack will generate RPM packages.

-- Build date: 26/04/2025
-- Build time: 04:09:19
-- Checking for one of the modules 'libsodium'
-- Found OpenSSL: /usr/lib/x86_64-linux-gnu/libcrypto.so (found version "3.0.2")  
-- Alg enablement unchanged
-- Found OpenSSL: /usr/lib/x86_64-linux-gnu/libcrypto.so (found suitable version "3.0.2", minimum required is "1.1.1")  
-- Creating Release build
-- Build will store public keys in PKCS#8 structures
-- Found OpenSSL: /usr/lib/x86_64-linux-gnu/libcrypto.so (found suitable version "3.0.2", minimum required is "3.0")  
-- liboqs found: Include dir at $<BUILD_INTERFACE:/root/SoftEtherVPN/src/Mayaqua/3rdparty/liboqs/src>;$<INSTALL_INTERFACE:include> (STATIC_LIBRARY)
-- Building commit e1ec3d4 in /root/SoftEtherVPN
-- Configuring done
-- Generating done
-- Build files have been written to: /root/SoftEtherVPN/build

The Makefile is generated. Run 'make -C build' to build SoftEther VPN.

使用 make 编译

然后使用 make 命令进行编译:

sudo make -C build

在编译过程中,系统可能会要求你确认许可协议。你需要按 Enter 键来继续并同意协议。编译过程可能需要几分钟的时间,具体取决于你的系统性能。

进入构建好了的bulid目录进行安装

cd build
make install

步骤 4:设置 SoftEther VPN 服务器的权限

首先进入build目录,服务器安装在这里面

20250426152625430-无标题

 

 

编译完成后,确保你为 SoftEther VPN 服务器设置了正确的权限,使其能够正确运行:

sudo chmod 600 vpnserver/*
sudo chmod 700 vpnserver/vpnserver
sudo chmod 700 vpnserver/vpncmd

步骤 5:启动 SoftEther VPN 服务器

在编译和权限设置完成后,你可以尝试启动 SoftEther VPN 服务器:

sudo ./vpnserver start

此时,你应该会看到类似如下的输出:

SoftEther VPN Server has started successfully.

如果成功启动,你可以通过 vpncmd 命令行工具来配置服务器。


步骤 6:配置 SoftEther VPN 服务器

启动 vpncmd 工具以配置服务器。你可以通过 vpncmd 连接到本地服务器进行配置:

sudo ./vpnserver/vpncmd

进入命令行界面后,执行以下命令来设置管理员密码:

ServerPasswordSet

系统会提示你输入管理员密码。设置完成后,你可以使用 vpncmd 进行更多的配置,如创建虚拟 Hub、配置用户、设置连接限制等。

6.1 创建虚拟 Hub

例如,创建一个名为 MyVirtualHub 的虚拟 Hub:

HubCreate MyVirtualHub

然后切换到该虚拟 Hub:

Hub MyVirtualHub

6.2 启动虚拟 Hub

Hub MyVirtualHub

步骤 7:配置 SoftEther VPN 服务器开机自启

为了让 SoftEther VPN 服务器在每次系统启动时自动启动,你可以创建一个 systemd 服务来管理它。

7.1 创建 systemd 服务文件

首先,创建一个新的 systemd 服务文件:

sudo nano /etc/systemd/system/softether-vpnserver.service

将以下内容粘贴到文件中:

[Unit]
Description=SoftEther VPN Server
After=network.target

[Service]
ExecStart=/usr/local/src/SoftEtherVPN/vpnserver/vpnserver start
ExecStop=/usr/local/src/SoftEtherVPN/vpnserver/vpnserver stop
WorkingDirectory=/usr/local/src/SoftEtherVPN/vpnserver
User=root
Group=root
Restart=always

[Install]
WantedBy=multi-user.target

7.2 启用并启动 SoftEther VPN 服务

执行以下命令使 systemd 加载新的服务并启动:

sudo systemctl daemon-reload
sudo systemctl enable softether-vpnserver
sudo systemctl start softether-vpnserver

步骤 8:配置防火墙

确保防火墙已配置允许 SoftEther VPN 使用的端口。SoftEther 默认使用以下端口:

  • TCP/443:用于 SoftEther VPN 的默认连接
  • UDP/500:L2TP 用于加密
  • UDP/1701:L2TP 用于传输

8.1 配置 UFW 防火墙

sudo ufw allow 443/tcp
sudo ufw allow 500/udp
sudo ufw allow 1701/udp

8.2 配置 iptables 防火墙

sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
sudo iptables -A INPUT -p udp --dport 500 -j ACCEPT
sudo iptables -A INPUT -p udp --dport 1701 -j ACCEPT

步骤 9:连接到 SoftEther VPN 服务器

你可以通过 SoftEther VPN 客户端 或其他支持的 VPN 客户端(如 OpenVPN)来连接 SoftEther VPN 服务器。

9.1 使用 SoftEther VPN 客户端连接

下载并安装 SoftEther VPN 客户端(Windows、macOS、Linux 都有对应版本),然后使用你设置的管理员密码连接到服务器,配置用户和虚拟 Hub 即可。


总结

到此为止,你已经完成了 从 GitHub 下载源码并编译安装 SoftEther VPN 服务器 的所有步骤。如果在编译或配置过程中遇到任何问题,随时可以向我询问!

© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享