SoftEther VPN 项目,是由日本筑波大学开发的开源、免费、跨平台 VPN 项目。当前版本的 SoftEther VPN 是 Daiyuu Nobori 在筑波大学获得硕士学位时的个人研究成果。 初步开发完成后,他于 2013 年 3 月 8 日在 softether.org 网站上以免费软件的形式发布该作品。

SoftEther VPN 部署容易,使用简单,非常适合作为内网穿透工具连接企业内部网络。当然,也可以部署在 VPS 主机上作为代理工具实现科学上网。

本文将实例演示如何在 Linux 主机部署 SoftEther VPN 服务器,并配置使用 SoftEther VPN 客户端实现代理上网。

1] Linux 系统部署 SoftEther VPN 服务器

SoftEther VPN 的服务端支持 Windows、MacOS X、Linux 以及 FreeBSD 等系统,Windows  平台最为常用,直接安装即可。Linux 系统安装部署也不复杂,并且转发性能更好,推荐服务端使用 Linux 系统。

首先在 SoftEther VPN 官方网站下载服务端软件压缩包,目前最新发行版为4.42。下载完成后,将压缩包解压,就会在当前目录生成一个”vpnserver”目录,主要内容如下:

vpnserver/vpnserver.a
vpnserver/vpncmd.a
vpnserver/hamcore.se2
vpnserver/libcrypto.a
vpnserver/Makefile
vpnserver/libssl.a
vpnserver/License_ReadMeFirst.txt
vpnserver/License_ReadMeFirstUtf.txt
vpnserver/License_ReadMeFirstSjis.txt
vpnserver/.install.sh

之后就可以使用如下命令生成 SoftEther VPN 服务端的可执行文件:

# cd vpnserver
# make

如果编译成功,会在当前目录生成两个可执行文件”vpnserver”和”vpncmd”,如下图所示:

图.1 编译生成 SoftEther VPN 服务端可执行文件

现在,使用”vpncmd”工具检测服务端是否满足要求:

vpnserver# ./vpncmd

执行该命令后,会出现提示要求选择工具项,分别是

  1. 管理 VPN 服务器或 VPN 桥
  2. 管理 VPN 客户端
  3. 使用 VPN 工具

这里输入 3 选择使用 VPN 工具,然后在工具界面,输入”check”即可检测系统信息:

图.2 初始化 SoftEther VPN 服务端

如果全部检测成功,则说明主机可以运行 SoftEther VPN 服务端程序。即可使用如下命令初始化启动 SoftEther VPN 服务了:

vpnserver# ./vpnserver start

服务器启动成功,会出现提示信息显示侦听的端口以及信息页面访问 URL。

如果想停止服务,则使用如下命令即可:

vpnserver# ./vpnserver stop

图.3 启动 SoftEther VPN 服务器

使用命令启停服务比较麻烦,可以使用”systemd”来管理 SoftEther VPN 服务的启停。

根据官方的建议,将”vpnserver”目录移至”/usr/local/”目录:

# mv ./vpnserver/ /usr/local/

然后,”/systemd/system”目录创建一个”vpnserver.service”文件,内容如下:

[Unit]
Description = Softether VPN Server

[Service]
ExecStart = /usr/local/vpnserver/vpnserver start
ExecStop = /usr/local/vpnserver/vpnserver stop
ExecReload = /usr/local/vpnserver/vpnserver restart
Restart = always
Type = forking

[Install]
WantedBy = multi-user.target

注意这个服务文件的放置位置会因为 Linux 发行版的不同而略有不同,根据自己使用的发行版主入对应位置即可。

此时,即可使用如下命令启停 SoftEther VPN 并查看相应状态了:

# systemctl start vpnserver
# systemctl stop vpnserver
# systemctl status vpnserver

图.4 SoftEther VPN 部署成系统服务

可以看到,系统服务正常,SoftEther VPN 服务端也部署完成了。

2] 配置 SoftEther VPN

SoftEther VPN 的使用,难点在于配置。幸好 SoftEther VPN 有基于 GUI 的配置工具,用于更好的配置使用 SoftEther VPN。同样在官方网站下载 SoftEther VPN Server Manager,就可以管理和配置 SoftEther VPN 服务端了。

这个管理工具有 Windows 版和 Mac OS 版,但是 Mac OS 版支持的版本都比较老,所以建议使用 Windows 版。

运行管理工具,会见到如下界面:

图.5 启动 SoftEther VPN Server Manager 工具

点击”新设置(N)”按钮,创建新的 SoftEther VPN 服务器:

图.6 新建管理 SoftEther VPN 服务器

其中的设置项说明如下:

  • 设置名:即 SoftEther VPN 主机在管理台显示的名称,可以自行设置
  • 主机名:即 SoftEther VPN 服务器主机的主机名或 IP 地址,会在服务端状态中显示
  • 端口号:即 SoftEther VPN 服务器侦听的端口,会在服务端状态中显示
  • 中继代理服务器:是否使用中继代理连接 SoftEther VPN 节点,根据实际情况设置即可
  • 模式选择:选择默认服务端管理模式即可
  • 密码:设置管理 SoftEther VPN 服务器的管理密码,可以选择是否本地保存管理密码

全部设置完成后,就会在 SoftEther VPN Server 管理器服务器列表中显示该节点,所以 SoftEther VPN Server 管理器可以管理多个节点:

图.7 SoftEther VPN Server 管理器节点列表

设置完成后,点击”连接(C)”按钮连接 SoftEther VPN 服务器,就进入服务器配置界面。首次配置的服务器会出现简单安装界面,方便进行相关配置:

图.8 SoftEther VPN Server 管理器简单安装之服务器类型选择

首先选择 SoftEther VPN 服务器的类型,即 SoftEther VPN Server 是服务器模式或桥模式,中无特殊需求,选择”远程访问 VPN Server”模式即可,选定后点击”下一步”继续。

之后会提示输入 VPN 服务器虚拟 HUB 名称,如无所殊要求,直接确定使用”vpn”即可。然后会进入动态 DNS 设置项:

图.9 SoftEther VPN Server 管理器简单安装之动态 DNS 功能

这个功能比较鸡肋,即可以通过”vpn799974402.softether.net”来访问到这台 SoftEther VPN 主机,使用起来用处不大,不如直接代个静态 IP 的节点来的实在。直接点”退出”关闭窗口。

图.10 SoftEther VPN Server 管理器简单安装之云 VPN

此时会选择是否使用 VPN Azure 服务,这功能对于中国用户来说也基本不用指望,选择”禁用”后点击”确定”继续配置:

图.11 SoftEther VPN Server 管理器简单安装之配置任务

根据提示,进行步骤 1 创建 VPN 用户,此用户即 VPN 客户端连接 SoftEther VPN 服务器时使用的用户名,验证方式有多种,可以使用证书以及密码等,可以在创建用户时进行设置:

图.12 SoftEther VPN Server 管理器简单安装之创建用户

开源版本只支持用户名密码验证,其它方式不支持,所以直接设置好用户名及密码点击”确定”即可。

由于我们之前选择工作模式为 VPN 服务器,所以不需要进行步骤 2 设置网桥,然后在步骤 3 选择可以连接互联网的网络接口作为本地网桥。全部设置好点击”关闭”,之后出现的提示点击确定即可。最后,就完成了一台 SoftEther VPN 服务器的配置。配置管理器主界面会显示服务器的基本信息以及其它功能按钮:

图.13 SoftEther VPN Server 管理器主界面

可以看到,此时的 SoftEther VPN 服务器侦听了992、1194以及5555三个端口,接受 TCP 连接,443端口由于已经使用了所以显示为错误。可以根据实际情况进行修改,以增加 SoftEther VPN 隐蔽性。

点击”管理虚拟 HUB ( A )”按钮,进一步配置 VPN 服务器支持 NAT,否则不能通过该服务器科学上网。

在管理虚拟 HUB 界面,点击”虚拟 NAT 和 虚拟 DHCP 服务器  ( V )”按钮,会出现”虚拟 NAT 和 虚拟 DHCP 功能(SecureNAT)设置”界面:

图.14 SoftEther VPN Server Secure NAT 配置

可以看到,默认情况下 DHCP 功能是不启用的,可以理解为只是将 VPN 服务器与客户端的两个虚拟网止连通了,但是需要两端配置上同网段的 IP 地址才能正式连通。而启用了 DHCP 功能,则会自动将两个虚拟网卡配置到同一网段并配置 IP 地址,从而大大减少使用难度。

由于 SoftEther VPN 不能代理 DNS 请求,所以需要给 DHCP 的客户端发送一个 DNS 服务器,否则客户端不能通过域名使用互联网,那等于没科学上网。点击”SecureNAT 配置”按钮,设置 DHCP 客户端的 DNS:

图.15 SoftEther VPN Server Secure NAT 配置 DHCP 客户端 DNS 服务器

设置完成后,点击确定保存配置,之后再点击”启用 SecureNAT(E)”按钮启用 NAT 及 DHCP 功能即可。

全部配置完成后,就可以使用 SoftEther VPN 客户端来连接服务器了。

3] SoftEther VPN 客户端使用

SoftEther VPN 的客户端使用也比较简单,目前只支持桌面操作系统,最为常用的是 Windows 平台。

首先下载安装包,安装完成会有一个客户端工具”SoftEther VPN Client 管理工具”。打开该软件,就会见到如下界面:

图.16 SoftEther VPN Client 管理工具主界面

双击”添加新的 VPN 连接”,就会提示需要创建一个新的网络适配器,也就是同 SoftEther VPN 服务器通信的虚拟网卡。没有特殊要求,直接点确定即会安装。创建完成后会在 SoftEther VPN Client 管理器下方虚拟网络适配器列表中显示。

再次双击”添加新的 VPN 连接”,就会出现 VPN 连接设置界面:

图.17 SoftEther VPN Client 连接设置界面

设置好主机名、端口号以及用户名密码等必要内容后,就可以点击”确定”保存配置。

图.18 SoftEther VPN Client 连接配置完成

已经配置好的连接会在管理器 VPN 连接列表中显示,点击一个配置好的连接,点击鼠标右键,选择连接,就会连接到 SoftEther VPN 服务端。

连接成功后,本地的虚拟网卡会得到 DHCP 服务器分配的 IP 地址,之后就可以通过这个 VPN 代理科学上网了。

4] 使用体会

SoftEther VPN 部署和使用都非常简单,也没有什么技术门槛,但是使用一段时间后就马上不可用了,连接会中断。多半由于这个软件使用的协议可以被精准识别。所以如果单纯部署起来作为内网穿透工具还好,可以拿来当科学上网的工具就有点肤浅了。

还有,如果设置的管理服务器密码忘记了,可以采用如下步骤重置密码:

1、关闭服务端的 SoftEther VPN 服务(不关闭第2步修改配置文件会失败,启动后又变成老的配置了)。

2、修改server vpn安装目录下的 vpn_server.config 文件,找到里面的”declare ServerConfiguration”部分,里面有个”byte HashedPassword xxxxxxx”,将 xxxxxxx 改为”+WzqGYrR3VYXrAhKPZLGEHcIwO8=”(默认密码为空白)。

3、启动 SoftEther VPN服务,再用 SoftEther VPN 管理工具再连接服务器的时候,输入默认密码后就会要求设置新密码了。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注